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

You can add it via the web interface:

http://<ip.address.to.adbtuner>:5592/configurations/new
Paste it right in here (remove what is pre-populated first).

Bummer.

At least there's still something we can work with.

I don't believe Xfinity supports user profiles, so this section can be removed -- correct?

Also, @daveasmann is using some pretty old FireSticks, so I'm thinking a second may need to be added here. In addition, can you confirm there's no reason to use a Keep Alive package with compatiblity mode? I can't think where this would make sense.

Yes, the text match section can be removed. I just copied the default “compatibility mode” config and added the activity. I didn’t try to optimize it in any way. If you have any suggestions I’m sure they would be appreciated. I’m not a comcast customer so I can’t go beyond “did the app open” lol.

And yeah, using the same app for Keep Alive (tuner level) along with a compatibility mode type configuration is counterproductive. There is no reason to keep an app open if you are just going to close it anyway before using it.

1 Like

@daveasmann Please note the above couple of posts. Also, once you create your new ADBTuner Custom Config, be sure to modify each of your Xfinity channels to use it.

Excellent! Thank you both. Currently running on 2 firesticks via older versions. I'll get the custom config working on one of the other 2 and apply it to all 4.

Thanks again guys - this community is awesome!

A post was merged into an existing topic: ADBTuner: ws-scrcpy companion container. Interact with your encoder-connected streaming stick with mouse and keyboard

I've been running the past few days without keepalive. It worked for months so I didn't mess with it, but it looks like it's not needed.

All Xfinity Stream channels are changed to the custom config. I'll report back if there are any issues. Thanks again.

@turtletank I've been using ADBTuner for well over a year now and love it. Thank you for all of the time and effort that you've put into it.

I've been having a few issues since around the first of the year and have resolved all but one that I can't seem to narrow down.

What I see is that occasionally (3 out of 5 mornings) when I start the first stream of the day, or later in the day after a long idle time, ADBTuner presents the YoutubeTV main screen as opposed to the channel requested. I also get a 504 response back sometimes as well.

This behavior seems to have started around the end of last year or the beginning of this one. Around that same time I had other issues such as buffering and pixelating which I ultimately resolved by upgrading my network switch. At about that same time though I also went from the 1X branch of your code to the 2X branch, upgraded my URayEncoder to the latest firmware and of course keeping the Unifi stack up-to-date.

As I said above I've replaced my network switch which made a huge improvement on the other issues, upgraded the URayEncoder to latest firmware, current with ADBTuner, and also upgraded to the newest Onn 4K boxes. I have keep alive enabled on each tuner enabled as well.

Any idea of what may be causing the YouTubeTV main screen to appear rather than the channel? I've run the logs thru Claude and I don't really think it knows enough to understand what might be happening but it seems to feel that I need to raise the issue to you. I can provide logs from this morning if that helps.

If you can share some logs either here, or via PM, I’d be glad to take a look and see if we can figure out the issue.

So I just wanted to share, I've been dealing with some weird issues with my Osprey boxes for the past couple of weeks, and I finally found a different deep linking scheme that doesn't use https like we've all been using for ages with Osprey boxes. So far, and by so far, I mean I would have issues within five minutes exactly where my stream would restart, and I've been going steady for at least a half hour now without any issues. So it's still early, but a consistent five minutes versus a steady half hour, a couple of times actually, is not something I want to ignore. I've also tested both schemes back to back and have had a failure within five minutes and then a success for a half hour.

The scheme I'm testing now on my Ospreys is:

dtvnow://deeplink.directvnow.com/ott/tune/live/channel/CALLSIGN/RESOURCE_ID

Just so people don't have to dig, and I know there are a lot of Osprey users using ADBTuner, I figured I'd share this finding here just in case it becomes useful if other people start hitting weird issues with deep links. Since ADBTuner is completely reliant on deep links and ah4c can tune by channel numbers, I figured this is a good place to share this alternate scheme. :grin:

Edit: I'm pretty confident that this dtvnow:// scheme is the solution. So far using it, I have not had a single issue, whereas before I would have an issue within exactly five minutes to the clock. I'm still trying to figure out the why, but I have the what.

I've changed all my Osprey Deep Links to use your new format. So far, so good, will let you know.

1 Like

Let me know if you see any weirdness.
I'm still testing, but it's been stable.

What's annoying me is I can't figure out what broke. My best guess is something to do with the old scheme using https. I have a feeling some endpoint on DirecTV's end is either flaking out or being deprecated. I guess the regular app uses dtvnow://. So it would make sense that they would just maintain that scheme for everything internally rather than having an HTTPS scheme for their Gemini hardware, which also kind of makes sense because a new Gemini box is coming.

I also found another scheme that also fails it is https://stream.directv.com/ott/tune/live/channel/CALLSIGN/RESOURCE_ID

No problem. I added to the Osprey FAQ/WiKi - DirecTV Osprey/Gemini Boxes - #4 by spammedeeper

Thank you. I have a feeling it has something to do with the new Gemini boxes. I was looking and they cleared the FCC around early June.

I started having issues late June. So I'm wondering if maybe DirecTV is making backend changes. On one hand, this kind of bodes well for our boxes continuing to work. It just means we might have to adapt to whatever changes they make. Hopefully this is it.

I'm currently using a Link Pi encoder with (2) Chromecast with Google TVs. Ever since Android 14 and Google changing the ADP port, its been a struggle.

What are the go to devices people are using that have been rock solid? I primarily use it for Youtube TV tuning. Which cheap devices do people recommend? Any benefit using a Fire Stick vs say an Onn device?

I have seven FireStick 4K Max and Max Gen2 sticks running in multiple locations. They've worked great for going on three years.

FYI: There is a new version of the YouTube TV app for Android TV out in the wild (4.x.x).

It seems to be a major rewrite that replaces Google's Cobalt library with "Chrobalt." This seems to be more or less a full implementation of the Chromium browser engine (Blink) instead of the lightweight alternative it was before. The app package is significantly larger and the app consumes more RAM while running. This certainly doesn't benefit the end users with RAM and storage constrained devices. :frowning:

It seems to be a staggered release, I had to sideload it for testing on an Onn 4k Plus.

As far as ADBTuner is concerned, there is a bug in this version of the YTTV app that causes deep linked content loading to fail when the app has been sitting idle in the background for a while. The deep link opens the app, the content starts loading, and then the app forces a full reload.

I think it's basically doing the equivalent of opening a new browser tab and closing the old one. The deep link target gets lost in the process so the app just ends up sitting on the YouTube TV home screen. Since the video does actually start for a second ADBTuner detects that playback and considers it to be a successful tuning operation.

I'm looking into some options that would safely recover from this, or similar things in other apps. In the meantime, switching to a Compatibility Mode configuration in ADBTuner should keep things working with the 4.x.x app (with slower tuning times unfortunately).

Using the "Keep Device Awake" feature in ADBTuner with YTTV as the "Keep Alive Package Name," and "Keep In Foreground" enabled might sidestep the issue as well since the app could refresh itself while sitting idle. I haven't confirmed this is a fix yet though.

@bnhf I don't know if you have any hardcoded entry points for YTTV in your projects, but the entry point has changed from "MainActivity" to "ChrobaltMainActivity" in this version of the YTTV app.

@johnluber thank you for sharing your logs and other information.

2 Likes

Yeah they're all changing stuff I just have been dealing with all these DirecTV issues related to Deep linking.

They have this new process that I pulled from the decompiled APK for the Ospreys: FeatureFlags.ID.USE_YOURTV_FOR_STARTUP . It seems to cause some sort of race condition when you wake immediately tune and don't have some sort delay in between wake and tuning which does not affect ADBTuner because of the built-in delay but does affect ah4c which is why i committed a pr to fix it.

It seemed to get muddied in my testing because I ran into a bunch of other issues that seem to be account level for me. I don't think they're necessarily cracking down on Deep linking but it seems like they're just changing the way these clients work and making it harder for us.

And testing the DirecTV TV app with a non-Osprey client and adbtuner. I've always done am start -S to force a restart of the client. While that makes tunes a bit slower, that has always worked reliably every time because it is a fresh instance of the app.

1 Like

Thank God a good chunk of the channels I want have native apps so I could just use that instead but yeah...they keep moving the goalposts here. Vintage Google lol