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

That's good to hear.

The reason for the warning was that the first device that received Android 14 was the Chromecast with Google TV and that update introduced some changes that are problematic for ADBTuner type usage (developer mode turns off after every restart, changes to ADB authentication). Thankfully this doesn't seem to be something that is being done on all devices.

This gets kind of tricky. By default, ADBTuner doesn't return the video stream until the content has started playing. This helps hide loading screens and such. However if we wait too long the request times out. So in the default configuration ADBTuner basically gives up after 30 seconds.

You can adjust this behavior using the global options in your custom configuration.

"global_options": {
  "wait_for_video_playback_detection": true,
  "use_fixed_delay": false,
  "fixed_delay_seconds": 0,
  "check_for_and_clear_whos_watching_prompts": true
},

Enabling "use_fixed_delay" disables this behavior and returns the video stream after "fixed_delay_seconds" have passed. If you haven't already, you might want to play around with these settings to see if it helps with what you are working on.

Looking at the code it seems I had the intention of allowing video playback detection with a fixed delay, but I never implemented it. I will fix that when I get a chance so one can set a fixed delay but also allow it to return early if the video starts playing.

A new, "bug fixed" version for the Onn Pro was actually released today. I have not tested it.

Conversely, if you never want to allow an update to happen, simply don't leave enough internal storage for the download. :heavy_check_mark:

Thanks for getting back. So for my clarity, if I set wait_for_video_playback_detection to false, and set use_fixed_delay to true, I can then set the fixed_delay_seconds number to something that works better for my timing? I could buy myself some more time if I set fixed_delay_seconds to something greater than 30?

It doesn't entirely bother me to see some loading process on screen as I am connecting if that makes things work better.

One of the things I am playing with is fixing a weird menu artifact that won't go away now with using the deeplinks for the Showtime Channels on Paramount+. I have figured out how to make the menu stuff go away with using some DPAD commands, now I just need to get the timing right so it will load with Channels consistently.

1 Like

nateg; I would be interested in what you do with this. I have been seeing issues with the Showtime Channels on Paramount+ getting hung up on the select user menu. Once in awhile it tunes the channel but more often than not it will just hang on the select user.

For anyone interested below is the deeplink I use for MovieSphere by Lionsgate on Peacock live.

https://www.peacocktv.com/deeplink?deeplinkData=%7B%22serviceKey%22%3A%226666006923928981117%22%2C%22type%22%3A%22LINEAR_CHANNEL%22%2C%22action%22%3A%22PLAY%22%7D

I use gracenote id 158131 for guide data

1 Like

Last night, I was able to update all of my Onn TV devices to Android 14 - looks like they released an update to address bugs/issues (not updating my Onn TV HDs for ADBTuner, though)

Thanks!

I updated the link in the post so that it would correctly show the url encoded link

I would start with compatibility mode if you are having problems with the Who's watching? screen to start with if you haven't already. That always worked for me with Paramount+ stuff before I had this menu stuff that won't go away. I assume others might be seeing what I am seeing with the menu thing. Happy to share a solution if I ever figure one out.

1 Like

Thanks nateg. I do have compatibility mode enabled already. I noticed this morning that the showtime channels are getting by the Who's watching screen and bringing up the movies. Not sure why it is working today but I'll continue checking. I am seeing the menu on the left side of the screen which does not go away. I assume that is what you are working on. I have been searching that issue and not found any good info yet. I did notice that the side menu only appears on the showtime premium channels and not on the base CBS channel. Paramount seems to handle the live channels differently for base channels vs what I call premium channels. The base channels have the full screen menu that drops away after a few seconds of tuning in. The showtime channels only have the left side menu but it remains always on.

Seems to me this was a bug that was introduced with the Android 14 update for Chromecast with Google TV instead of a "feature" that Google decided to change in Android 14. Unfortunately for Chromecast with Google TV users, Google has announced that the Android 14 update would be the last update for those obsoleted devices, so those issues likely may never get fixed. I have a few Chromecast with Google TVs, but none have updated to 14 yet. Guess I have to look at upgrading those out of my ADBTuner setup. Fortunately I have been very happy with Google's latest device in the Google TV Streamer 4k.

Yes, this exactly. My experience as well. Was why I was tinkering with the custom configurations feature recently added.

My Showtime issues seemed to possibly resolve themselves (app update?). So I wasn't able to try this, but I think this should get you pretty close as I have learned how to use the configurations for a couple of other things. You may have to tweak the sleep timings a little depending on your device. I found I had to keep the total delays at a max of around 20-21 seconds or things weren't going to tune in Channels. Also, I found sending sleep delays in maximum chunks of 4 or less would work when 5 or greater wouldn't work well. Hopefully yours might update soon too, but if not, try this

{
"name": "Fix Showtime",
"author": "Nate",
"version": "0.1",
"description": "Fix Showtime menu not going away issue.",
"uuid": "7cf29289-bcd6-4eca-97f3-811cf5c469c6",
"global_options": {
"wait_for_video_playback_detection": false,
"use_fixed_delay": true,
"fixed_delay_seconds": 0,
"check_for_and_clear_whos_watching_prompts": false
},
"pre_tune_commands": [
"am start -W -a android.intent.action.VIEW -d '||TARGET_URL_OR_IDENTIFIER||' '||TARGET_PACKAGE_NAME||'"
],
"tune_commands": [
"sleep 4",
"sleep 3",
"input keyevent KEYCODE_DPAD_CENTER",
"sleep 4",
"sleep 1",
"input keyevent KEYCODE_DPAD_DOWN",
"input keyevent KEYCODE_DPAD_DOWN",
"sleep 1",
"input keyevent KEYCODE_BACK",
"input keyevent KEYCODE_BACK"
],
"post_tune_commands": [
"am force-stop '||TARGET_PACKAGE_NAME||'"
]
}

Also, I learned how to make use of the "configurations" for an app that didn't support deep links to open to a channel in an app and have it go fullscreen. Using the monkey command this way will launch any app. See this below if anyone is interested:

{
"name": "NFL Network",
"author": "Nate",
"version": "0.1",
"description": "NFL App NFL Network.",
"uuid": "bf2fe05e-7b75-422b-b99d-5dedb9f65ab4",
"global_options": {
"wait_for_video_playback_detection": false,
"use_fixed_delay": true,
"fixed_delay_seconds": 0,
"check_for_and_clear_whos_watching_prompts": false
},
"pre_tune_commands": [
"monkey -p com.gotv.nflgamecenter.us.lite -c android.intent.category.LEANBACK_LAUNCHER 1 || monkey -p com.gotv.nflgamecenter.us.lite -c android.intent.category.LAUNCHER 1"
],
"tune_commands": [
"sleep 4",
"sleep 4",
"sleep 4",
"input keyevent KEYCODE_DPAD_CENTER"
],
"post_tune_commands": [
"am force-stop com.gotv.nflgamecenter.us.lite"
]
}

Thanks nateg. I just did a check of showtime channel and I see that some of my devices are working good now but some still have the menu issue. I agree it is probably a peacock app update that is rolling out. If I have some time later I will check each device to see what version app they are running.

Edit: I have both CCwGTV 4K and ONN 4K Pro devices. I see it working on some of both models and still failing on some of both models.

Hi all! I'm back using ADBTuner with FuboTV, but having a heck of a time getting it to work as it used to.

Channels seems to time out getting a tuner. I've watched through the encoder's interface that it does eventually tune to the channel, but long after Channels has given up. I've tried with Compat mode on and off. If it matters, I'm using a Google 4K streamer. Here's the logs:

2025-07-01 19:59:39.148 - server - Name: ChromeCast 4K Priority: 1
2025-07-01 19:59:39.149 - server - Selecting random tuner
2025-07-01 19:59:39.150 - server - Reserved Tuner: Name: ChromeCast 4K Priority: 1
2025-07-01 19:59:39.151 - server - Using tuner id: 1 for stream.
2025-07-01 19:59:39.152 - uvicorn.access - 192.168.6.119:49492 - "GET /stream/2 HTTP/1.1" 307
2025-07-01 19:59:39.215 - server - Tuner: Tuning to FOODC on ChromeCast 4K
2025-07-01 19:59:39.217 - server - Tuner: Using channel configuration: Deep Links (default, recommended) (8ec77d65-30d6-46a3-8045-282571cff8d8)
2025-07-01 19:59:39.227 - lib.adb - ADB: Connecting to device (attempt 1).
2025-07-01 19:59:39.510 - lib.adb - ADB: Connected.
2025-07-01 19:59:39.510 - lib.adb - ADB: 192.168.6.110 - settings list global
2025-07-01 19:59:39.661 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-07-01 19:59:39.661 - lib.adb - ADB: 192.168.6.110 - dumpsys display
2025-07-01 19:59:39.756 - lib.adb - ADB: 192.168.6.110 - getprop ro.build.version.release
2025-07-01 19:59:39.837 - lib.adb - ADB: Android Version: 14.0.
2025-07-01 19:59:39.837 - lib.adb - ADB: 192.168.6.110 - pm list packages -3
2025-07-01 19:59:39.940 - lib.adb - ADB: 192.168.6.110 - pidof com.fubo.firetv.screen
2025-07-01 19:59:40.031 - root - Using https://link.fubo.tv/al1%3Fv%3D1%26a%3Dplay%26t%3Dchannel%26channel_id%3D734670001 to load channel.
2025-07-01 19:59:40.031 - lib.adb - ADB: 192.168.6.110 - input keyevent KEYCODE_MEDIA_STOP
2025-07-01 19:59:40.137 - lib.adb - ADB: 192.168.6.110 - am start -W -a android.intent.action.VIEW -d 'https://link.fubo.tv/al1%3Fv%3D1%26a%3Dplay%26t%3Dchannel%26channel_id%3D734670001' 'com.fubo.firetv.screen'
2025-07-01 19:59:43.748 - server - Tuner: Waiting for playback start. Status: unknown
2025-07-01 19:59:55.140 - lib.adb - Checking for profile screen
2025-07-01 20:00:00.231 - lib.adb - Checking for profile screen
2025-07-01 20:00:05.477 - lib.adb - Checking for profile screen
2025-07-01 20:00:10.596 - server - Tuner: Could not detect playback state. Giving up after 31.39 seconds. Display was on, application (com.fubo.firetv.screen) was running.
2025-07-01 20:00:10.596 - server - Released tuner ID: 1
2025-07-01 20:00:10.596 - lib.adb - ADB: Stopping media playback.
2025-07-01 20:00:10.597 - lib.adb - ADB: 192.168.6.110 - input keyevent KEYCODE_MEDIA_STOP
2025-07-01 20:00:10.633 - server - Skipping keep alive tasks as it's currently the top or middle of the hour.
2025-07-01 20:00:10.666 - lib.adb - ADB: 192.168.6.110 - input keyevent KEYCODE_MEDIA_PAUSE```

Channels Log: 
2025/07/01 19:30:16.382550 [ERR] Could not start stream for M3U-ADBFuboPi ch42 FOODC: M3U: 901 Tuner Unreachable: Timeout after 20.03s connecting to: http://192.168.7.142:5593/stream/2 
2025/07/01 19:34:28.435291 [ERR] Could not start stream for M3U-ADBFuboPi ch44 LIFECHD: M3U: 901 Tuner Unreachable: Timeout after 20.12s connecting to: http://192.168.7.142:5593/stream/4 
2025/07/01 19:37:46.472778 [ERR] Could not start stream for M3U-ADBFuboPi ch42 FOODC: M3U: 901 Tuner Unreachable: Timeout after 20.02s connecting to: http://192.168.7.142:5593/stream/2```


Just as an UPDATE: I tried with a FireTV I had laying around, and it's the same issue. It does eventually play the channel, but too late for Channels

I'm using the Fubo app with ADB Tuner with my ONN 4k. The app is a little slow.
here is what i use for METV.
https://link.fubo.tv/al1?v=1&a=play&t=channel&channel_id=122696
Use compatibility mode and pick the FUBO App option.
I would suggest watching the feed on the hdmi encoder so you can see what is happening.

Oh! There’s a FUBO option? Or do you mean selecting it as the package name? I’ve done the latter, but am unaware of the former.

Watching via the tuner shows that it does eventually load the channel, but it’s well after the timeout for Channels.

You want to select the package in ADB Tuner.

1 Like

Have ADB setup with a 4x hdmi encoder and 4 ONN boxes with a Fubo account. Works very well with 1 exception.

My wife is team NBC (Today, NBC Nightly News, Daytime Talk shows). For some reason, NBC will about 1 in 3 to 1 in 5 times when launching just come up with the NBC home page on Fubo (see below screen shot). I thought it was just 1 of the tuners, so I enabled the tuner priority in ADB and put that one last, but have since seen this same dynamic with Tuners 1-3 as well.

Here's what I see when it doesn't tune in the "live" version:


Backing out and relaunching usually solves the problem which is fine for live tv watching, but for recording purposes that doesn't work.

I don't see any errors in the logs, anyone have any suggestions on how to fix?

Also, I do have OTA access, but have periodic "hiccups" in the tuner just on NBC, not other networks. Signal strength is great, I've even introduced a spitter to see if the signal was too strong (use a Televes with built in pre-amp and 5G filter), but still see the hiccups.

Here's the NBC entry in ADB as well.

Thanks for any assistance.

Jay

1 Like

I have been wondering if it is possible that the "Keep Device Awake" option in ADBTuner may occasionally cause my OliveTin ADBTuner Device Alerter to show a device as disconnected. Or, perhaps something else may be causing this error.

This happens once every few days, each time to a different device.

{"name": "LinkPi4",
"device_ip_address": "192.168.1.214",
"device_connected": false,
"streaming_endpoint": "http://192.168.1.161/live/stream3",
"streaming_endpoint_connected": true},

Every time it happens, I check the ADBTuner GUI and it shows all tuners Connected and available: