One thing I noticed is that for this setup to work, if I'm already watching one channel via the converter, and want to go to another channel using the converter, I have to go back to the guide and then back in to the new channel. If I try to use the quick switcher (if that's the right term) by swiping up, it won't work. Is that expected?
Do your encoders have a CPU and Memory status meter by chance? Curious of how loaded other encoders are when at 1080P/50. Attached is mine for the last few minutes.
Thanks for this, was a deal indeed! I bought 2. I'm paying that favor forward now and sharing another deal I just found, if anyone's looking for an FBE200 to kick off their own HDMI for Channels experiment! (while supply lasts:)
EDIT: supply is depleted, it has been sold
This is all I can find in my encoder's settings page:
I'm not sure if the "Codec Usage: 103%" is something that should concern me.
There was some talk about having the androidhdmi-for-channels program auto-launch at login using a third-party app. It turns out that it works like any other program if you add it to your login items if you're running this on a Mac (on an older Mac like I'm using as my server, that's at System Preferences > Users & Groups). I added the executable there, rebooted, and it started up automatically when I logged in.

I read the reviews on that unit, and they scared me off. The seller sent me an offer for $50 after I saved the listing, but I held off. Hopefully someone posts their impressions of it, and it works well.
The two I have are working perfectly well, at $50 each Iâm quite pleased with their performance in this experiment.
P.S. Just checked the ebay listing, its now sold
Todays testing went pretty well. However I got hit with the "Still there?" prompt on Hulu and it wrecked everything.
When watching a single channel for 5+ hours I am wondering if it would be feasible for ChannelsDVR to send a tune to channel notice on each show/movie change. I was recording 3 hours movies for 7+ hours and wondering if it would have avoided the "Still there" if it changed channels (in this case the same channel) on each movie change. Other than that issue this definitely seems promising and the future of TVE demise.
Thank you for sharing that. I noticed that your stopbmitune.sh doesn't have "sleep 2" at the end of your force stop command like the original download has, and there is no "adb shell input keyevent KEYCODE_SLEEP" command at the end.
Does the omission of this avoid putting the streaming device to sleep? If so, I'd like to avoid this, too, as I presume it speeds things up?
Yes. Although the device still may go to sleep due to inactivity. But you should be able to turn that off in the AndroidTV settings, if necessary.
Yes.
"sleep 2" just pauses 2 seconds before executing the next command. It's helpful if you need to wait for something to complete, but I didn't find it necessary here.
"keyevent KEYCODE_SLEEP" actually puts the device to sleep.
I configured the device itself to go to sleep after being inactive for 30 minutes (settings->system->power & energy). I think it's good that it goes to sleep as it also stops the HDMI encoder. But it's too much if it happens after every channel change.
If you absolutely do not want the device to sleep there is a setting under "Developer Options" labeled "stay awake" that I would presume would do that.
Any idea if the timer is reset by any activity? If so, maybe you can send a scheduled key press every hour or so?
There might be something here that will reset the timer but not pull up the progress indicator and such?
Thanks. I just implemented these changes. One of the side benefits is probably less confusion to other users of the app. In my prior configuration, a screen came up for the first few seconds after selecting a channel that indicated there was no feed. A guest in the household might assume something was wrong and navigate away before the channel has time to tune. It's a shame that keeping YouTube TV up and running isn't more reliable.
Yeah that âno signalâ screen is no good. One of the devices I tested displayed that screen for almost 30 seconds every time the android device woke up from sleep. I think on most of these devices there is a way to edit that screen. If it comes down to it you can add a âplease waitâ message.
In my testing the âblack screenâ thing in YouTube TV mostly happens when tuning the same channel as the one that was previously tuned. Maybe as a hacky workaround someone can try tuning a channel they would never watch in stopbmitune.sh prior to sending the stop media command (keyevent 86) and removing the force close?
Maybe something like this?
stopbmitune.sh
#!/bin/bash
# tune weather channel temporarily so the next tune will not be the same channel
# maybe avoids the "black screen" bug?
adb shell am start -a android.intent.action.VIEW -d "https://tv.youtube.com/watch/P_w3HTppc6E" -n com.google.android.youtube.tvunplugged/com.google.android.apps.youtube.tvunplugged.activity.MainActivity
# wait two seconds to let the weather channel stream load
sleep 2
# stop media playback
adb shell input keyevent 86
Edit: Maybe not a great idea. This keeps the âtunerâ locked longer which means you are more likely to see the âpress play to try againâ error in the Channels app itself. I think I would rather see that YouTube TV splash screen instead.
Thanks for that! Going to do a few tests on some of those key commands.
I noticed every once in a while tuning into a stream would fail for unknown reasons so I wrote some code that verifies that the stream is indeed tuned into before releasing control back to the proxy app. If for some reason after 20 seconds the stream is not started it reissues the intent command.
If anyone else has this issue or wants to make 100% sure the stream is started you can adapt my code.
Thanks for sharing this. Have you found it to be effective so far?
Yep, seems very reliable. Just wish the command "adb shell dumpsys media_session" would show us the currently playing media. It does show which app is playing, however.
Here is a windows batch file I use to optimize my firesticks.... only have to run once.
set device=firetvip:5555
adb connect %device%
adb -s %device% shell settings put global window_animation_scale 0
adb -s %device% shell settings put global transition_animation_scale 0
adb -s %device% shell settings put global animator_duration_scale 0
adb -s %device% shell settings put secure sleep_timeout 0
adb -s %device% shell settings put system screen_off_timeout 2147460000
Yeah it would be nice to find something that includes the unique id of the playing content. That's not available for YouTube TV either.
Closing a "media session" also doesn't seem to be a thing apps are required to do. It seems you can have multiple sessions marked as "active" which could add some complexity to this.
YouTube TV provides a little bit of metadata.
package=com.google.android.youtube.tvunplugged
...
metadata: size=5, description=Let's Make a Deal!, CBS 3, null
If we figured out what channel label they use in this meta field for each channel in advance we could match that, but that could be tedious. Hopefully we can find an alternative, but this is a start.

