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

I can give you mine (updated to .json file from ADBTuner)

[
{
"provider_name": "Youtube TV",
"number": 7051,
"name": "NBC",
"url": "https://tv.youtube.com/watch/OGgzNqTcHBw?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "19627"
},
{
"provider_name": "Youtube TV",
"number": 7052, "name": "MSNBC",
"url": "https://tv.youtube.com/watch/q6bWEVqhP8o?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "16300"
},
{
"provider_name": "Youtube TV",
"number": 7053, 
"name": "E!",
"url": "https://tv.youtube.com/watch/4XA2gdEOngg?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "61812"
},
{
"provider_name": "Youtube TV",
"number": 7054,
"name": "Bravo",
"url": "https://tv.youtube.com/watch/P12seiJcdYo?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "58625"
},
{
"provider_name": "Youtube TV",
"number": 7055, 
"name": "Oxygen",
"url": "https://tv.youtube.com/watch/_XptfCraPjM?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "21484"
},
{
"provider_name": "Youtube TV",
"number": 7056,
"name": "USA", 
"url": "https://tv.youtube.com/watch/8xN3o2PSL5s?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "11207"},
{
"provider_name": "Youtube TV",
"number": 7057,
"name": "SyFy",
"url": "https://tv.youtube.com/watch/uSfozGAsGMk?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "11097"
},
{
"provider_name": "Youtube TV",
"number": 7058,
"name": "CNBC",
"url": "https://tv.youtube.com/watch/GIBoX-XF5i0?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "10139"},
{
"provider_name": "Youtube TV",
"number": 7059,
"name": "Golf",
"url": "https://tv.youtube.com/watch/XK34g7QRvGk?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "14899"},
{
"provider_name": "Youtube TV",
"number": 7060, 
"name": "NFL",
"url": "https://tv.youtube.com/watch/_pYg9qMKKIA?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false, "tvc_guide_stationid": "34710"},
{
"provider_name": "Youtube TV",
"number": 7061,
"name": "Newsnation",
"url": "https://tv.youtube.com/watch/ZIzM3eNrylg?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "91096"
},
{
"provider_name": "Youtube TV",
"number": 7062, 
"name": "MTV Classic",
"url": "https://tv.youtube.com/watch/YPB9f0dageg?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "22561"
},
{
"provider_name": "Youtube TV",
"number": 7063,
"name": "BBC News",
"url": "https://tv.youtube.com/watch/g5BmB1qXulc?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false, "tvc_guide_stationid": "19037"
},
{
"provider_name": "Youtube TV",
"number": 7064, 
"name": "Smithsonian Channel",
"url": "https://tv.youtube.com/watch/E7D0KRZIUso?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "53121"
},
{
"provider_name": "Youtube TV",
"number": 7065, 
"name": "Magnolia Network",
"url": "https://tv.youtube.com/watch/9dTo5rwwTjU?onboard=1",
"package_name": "com.google.android.youtube.tvunplugged",
"alternate_package_name": "",
"component": "com.google.android.apps.youtube.tvunplugged.activity.MainActivity",
"compatibility_mode": false,
"tvc_guide_stationid": "18544"
}
]
3 Likes

How do you get by the profile screen like paramount + has to start showtime live streams.

1 Like

What's the best way under Windows 11 to have the docker startup up automatically at system restart?

I always add "docker run -d --restart unless-stopped" to the command.

1 Like

Here is a ADBTuner export json for YTTV. The Gracenote station IDs are for the Pacific time zone. I have a mix of hardware including a Chromecast and FireTV stick, hence the alternate package name filed being populated.
https://pastebin.com/YD8tcncx
Save this file as filename.json then import it into ADBTuner.

1 Like

Sorry, some dumb questions here:
1-does typing this on the command line result in the docker automatically running upon system re-start?
docker run -d --restart unless-stopped --init -p 5592:5592 --name adbtuner -v adbtuner_config:/app/.config turtletank99/adbtuner
-or are there additional steps required (such as add something to the task scheduler)?
2-Nvm figured question #2 out

1 Like

Hi there,
I subscribe to philo and wanted to know how I can populate a channel list.
I'm using firestick 4k and have everything connected.
I also bought that Walmart ON tv box that I may plan to add to the setup.
I'm unsure of how to get the link for philo and finished with setup before adding to channels.
I'm looking to grab the stuff not on TVE.

On the Philo website open the guide page:
https://www.philo.com/player/guide

On the left side of the screen you will see channel logos like this:
phlo

If you click on the logo it will open a new page in the browser with a URL like this:
https://www.philo.com/player/channel/Q8SD0DSIK24391934I84JRKIE91393IJR22

This is the URL you will need for ADBTuner, but with one caveat. You will have to change the URL from https://www.philo.com/player/channel/Q8SD0DSIK24391934I84JRKIE91393IJR22 to https://www.philo.com/player/player/channel/Q8SD0DSIK24391934I84JRKIE91393IJR22 ("player" is repeated).

In ADBTuner use com.philo.philo.google as the package name and com.philo.philo as the alternate package name. Use com.philo.philo.DeeplinkActivity as the component.

Make sure you enable "compatibility mode" for any Philo channels. The app will get stuck after the first channel tune if you do not.

If you have the time to lookup all of the non-TVE channels it would be awesome if you could export your channel list from ADBTuner and share it here when you are done. It would save a bunch of time for others!

4 Likes

That should be sufficient presuming you have docker itself starting up automatically. I think in Windows you will have to configure the system to automatically login to a user account under which Docker Desktop is installed.

Or alternatively you can do something like this to start docker without logging in:

I pushed an update this afternoon with some compatibility improvements for FireTV devices.

I strongly recommend NOT using anything running Android versions lower than 9. If you are using an old Fire Stick running Android 5 or 7 you will have to use ADBTuner's "compatibility mode" for every channel and as a result will see a degraded experience.

If you were previously using compatibility mode for YouTube TV on a FireTV device (android 9+) you should be able to turn that off now.

My FireTV stick says Fire OS 6.2.9.7. It is the fourth tuner with the other 3 running Android OS > 9. Do you recommend turning compatibility mode off or leaving it on because of the last tuner running Fire OS 6?

For now I would leave compatibility mode on as long as you have any devices connected that are running those older versions of Android. Otherwise you might have tuning failures if that tuner is used.

Hi there,
The status page is showing that my fire tv tuner is in use
How do I reset the connection?
my Fire TV is on 192.168.254.12
in the stream address I put 192.168.254.10/stream.
I went to change the address of the stream and now it says in use in blue.
I've updated to the latest container.

1 Like

Interesting. Did it stay that way indefinitely? If you restart the container it will clear that.

To test to make sure this wasn't specific to my Apple TV (newest model), I just tried playing one stream on my M1 MacBook Pro, and started another stream on my iPhone, and got the same brief stutter while the second stream loaded (and it looked like the second stream played for just a moment, before going to the screen saying the connection to the tuner was lost, and to hit play to resume).

Thanks for checking.
I was able to duplicate the stutter, but it is inconsistent. The obvious sign is that the playback hud appears on the screen for a second when it happens. I will look into this.

What app were you tuning when the connection was lost?

I was able to restart the docker but could only send one command to start a stream.
The stream never started playing and now the system is showing as being in use again.
Very odd.
i added another stream and tried to preview the content with no success.
I'm hooping I'm not missing something here.
When I started the streamon philo, the system wanted to know if I wanted to use Silk browser for the link or always use Philo.
I choose always use Philo.

Stream 1 was already playing on my M1 Mac, using the iOS version. The stutter happened when I launched a second channel from the iOS app on my iPhone. Both devices were playing channels from ADBTuner. I selected the channels on both devices from the guide.

Whoops, just noticed you asked about the lost connection. Same thing, if I understand the question — it was the iOS app.

For troubleshooting purposes I just pushed an updated build that has a button to release a tuner lock.

Do you have "compatibility mode" enabled for the Philo channels? Can you connect to the HDMI stream in VLC and let me know what's happening on the device when it's failing to tune?

Can you share the container logs from when the stream failed to start?

An unrelated (I think) benefit of ADBTuner is not needing an extra encoder to use the Quick Guide (the drawer with channels at the top of the screen on Apple TV, or the bottom on iOS). When I set up the HDMI Encoders myself, I couldn't tune to a channel from the quick guide until I got a second encoder. Now, I noticed that if you select a channel from the quick guide, it stops the current channel and launches the new channel, all using the same encoder. I figured this out because one of my encoders is only 720p, so it is easy to tell when it is launched by looking at the stats.

1 Like