ADBTuner: A "channel tuning" application for networked Google TV / Android TV devices

Got Fubo working with the experimental and YouTube TV is also working didn't need the Package name to be com.google.android.youtube.tv to be in the Package name field. Only com.google.android.youtube.tvunplugged and it worked. Thanks!

Good catch.

I had thought that getting the video frame from the streaming endpoint would be better than taking a screenshot of the android device because it includes the video as well, but now I'm thinking that with all of these different streaming devices and their infinite amount of configuration options that's not going to be a good idea. Your choice of h265 is not a problem, I'm mostly thinking about all of the other settings that could cause issues -- a troubleshooting nightmare lol.

I just pushed an update to turtletank99/adbtuner:experimental that includes the following changes.

  1. Use adb screencap instead of getting the image from the HDMI encoder (see above for why). Edit: reverted this as a couple of apps misbehaved when multiple screenshots were taken in a short time period.
  2. Check more than once for the profile screen during the tuning process.
  3. Add support for profile screens for channels that don't otherwise need compatibility mode. While not normally needed, this will now work for YTTV, Hulu, Sling, and others. Edit: Reverted this, seems to sometimes log out YTTV.

Let me know if this is fixed in the updated version.

@themediaguy ADBTuner is designed for content that can be loaded via a URL. If it's not possible to open the live stream for Bally Sports via a URL it won't be supported by ADBTuner. If you are looking for something that can run through a series of steps to load content, take a look at ah4c.

Side note, I appreciate that all of the app developers decided to use the same "who's watching" text on their profile screens lol. That's helpful!

If anyone has a chance to test the experimental version on a low-powered device (NAS, etc) please let me know how it works out. Looking for text in a 1080p image is no problem at all on an M1 Mac Mini, but I don't know if this will be the case on slower devices and I don't necessarily want to exclude them.

So far so good.
Amazing.....

You do have the tesseract....don't you?
HaHa

1 Like

I'm running the new version of ADB Tuner on my Synology.
When i first tried to bring up a hulu live tv stream, i got an error screen on the tv
I hit play again and i watched on the live view and it launched Hulu, approached the profile screen and it was clicked and the system started playing the stream.
I was able to go over to NFL network and it played without an issue.
I then started a channel on Philo and it played without a problem at all.
both encoders are set at 10080P

:rofl:

@Anvil_DVR @rpaulmerrell
Sorry, just pushed a new version that disables the profile check outside of "compatibility mode." I just caught it logging out YTTV, which is no good. Please pull turtletank99/adbtuner:experimental again to update. Thanks!

Got it!

Guess that is why I got the random error on NBC.com Glad I checked so I can just rerecord RAW at 8...

Pushed a small update to turtletank99/adbtuner:experimental this morning. I went back to grabbing video frames from the streaming endpoint as taking a bunch of screenshots in a short period of time caused an app to crash and logout. I can and will most certainly revisit this.

Recommended encoder settings are h264 with a GOP of 1-3 seconds (this is configured by frames on some devices -- (configured frame rate * seconds)). h265 is supported, but will be slower. A warning about this will appear in the docker logs if your configuration is outside of the recommended settings.

Let me know if you run into any issues.

1 Like

I will test later this afternoon.

Well, I completely ignored your recommended encoder settings and in spite of that, seems to work perfectly. H.265 GOP is 30. The minimum setting on my encoder is 5.
This is running on Windows 11 for Workstations on an 18 core xeon with docker desktop. In case that info is useful.

I don't notice any slowdown when tunning, which is not extremely fast but acceptable. I don't care if it takes a few seconds to tune. As long as it eventually works.

One thing I should mention is that Hulu has a who's watching prompt, but I have only seen it the first time I launch the app.
Hulu logged me off yesterday and forced me to change my password. I don't think this has anything to do with ADB tuner since Hulu has done that to me on other occasions. It's annoying.

Great work on this. It's quite impressive what you have been able to accomplish.

@Anvil_DVR Thanks for testing.

Yeah, with the latest update h265 will work, but in my testing it adds 2-5 seconds to a "tune" operation. Not a big deal at all, but this could be a more significant number when running on a NAS device or something so I figured it was worth mentioning,

There is a good chance your encoder is using frames instead of seconds for the GOP setting. Presuming that you are running at 60fps you can probably change that setting to 60 for a one second GOP.

I will look into that Hulu prompt. Edit: Pushed a fix for the Hulu profile selection prompt to turtletank99/adbtuner:experimental.

Is there something you recommend for other frame rates? These are my settings at present on each of my two uRaycoders, and all has been working great:

And thank you again for this. I think the best compliment I can make is that I pretty much forget that some channels are running on this instead of TVE. It is quick and seamless. The only shortcoming, which is no fault of ADBTuner and probably insurmountable, is the lack of subtitles/closed captions for the rare times I want to use that, as I understand the only way to get them is to turn them on at the source so they’re “burned in”.

1 Like

Yeah, you are correct. HDMI cannot carry closed captions. And one constant to the ADBTuner and HDMI projects is that it must use HDMI at some point. Therefore the closed captions and subtitles must be decoded at the device level (Firestick, Chromecast, Onn) prior to being sent any further. Since I personally rely on closed captions, it is not an inconvenience for me to burn-in the subtitles in to all my recordings. But a lot of people only want captions for special situations and be selectable at the viewer endpoint. However, it may be possible someday for ADBTuner and the HDMI projects to turn on/off subtitles at the device level (they would still be burned-in) but that may be something way way down the road I imagine. For me, the YoutubeTV app remembers to stay on CC so I only have to manually set it to ON once on each of my devices. However, the NBC app for example, forgets CC state between uses and therefore is unsuitable for me.

I don't know that the details are incredibly important on a local network unless you are on slow wifi. I also don't know if we can actually trust these cheap devices to actually apply any of these settings lol.

h264 is preferred for compatibility reasons. From ADBTuner's perspective it's easier to grab a video frame, from a Channels DVR perspective, commercial detection is much faster with h264 vs h265. h265 in theory can cut the bitrate in half with the same quality so there is value there if you are trying to save space on your DVR hard drive or are streaming outside of the house or on slow wifi.

Size and frame rate should be the same as original (likely 1080p/60fps).

I believe that GOP length should be 1-3 seconds for this application. From that screenshot I think you would want to set it to 60-180 since you are likely running at 60fps. Generally speaking, a shorter GOP allows for faster stream loading and better seek-ability, a longer GOP allows for more compression with similar video quality.

h264 High Profile might get you a small increase in picture quality at the same bitrate and shouldn't have any downsides unless you are playing back this content on a really old device.

I would recommend VBR or AVBR. I guess it's up to the device as to how well these algorithms are implemented. 9,000 kbps should be more than sufficient for a 1080p stream.

I would choose whatever the highest quality option is in that "Image Quality Range" dropdown.

1 Like

Anyone else getting a not authorized user must reauthenticate error when trying to tune in NBC channels?
It’s been happening to me all week. I then go in and delink youtubeTV and link it again and it lasts a few hours then it happens over again.

I've never been able to use this app with YTTV auth. Even just using it normally it constantly requires re-authentication for me.

I am trying to get MAX to go to my "Continue Watching" movie. I first get to a profile screen that needs a select to get past "Who's Watching?"it then it goes correctly to movies and needs a down one
then select for "Continue Watching" can you check on it?
"Max"
https://play.max.com/movies

Sorry I missed this one. Thank you for the test data. I will look into this.

The "component" field is from an older version of the app. It's no longer needed and will be ignored on import.

It's crazy the NBC App is hosed but CC4C works fine with NBC. One would think it would be the other way around.

@turtletank is there a way to import json but delete the old channel list first? I like to keep my master list updated using a text editor and I would like the import to start from a channel list that is empty. I'm now having to delete all the channels in the web GUI individually prior to importing my master list.