ADBTuner: Create Channels, Custom Config and CDVR Custom Channels for DirecTV

Half way there now

Some channels are working correctly but for example MeTV is not tuning correctly.
ESPN, CBS, NBC tune correctly.

Not sure where that disconnect would be


Current Device Settings

image
shows as MeTV but it is still on the previous channel

As I said, we need complete logs not screenshots. Post the entire tuning cycle for a failed tune, which you can get from Portainer-Logs. There's nothing sensitive in the logs that I'm aware of -- things like the TuneID are internal identifiers to help with debugging, and interpreting the logs.

Here's an example from a tune I just did:

2026-01-25 19:09:28.922 - stream - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] No active tuners found for 9 News. Reserving a new tuner.

2026-01-25 19:09:28.923 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Attempting to reserve tuner for: ['com.amazon.firetv.youtube.tv', 'com.amazon.firetv.youtube.tv'].

2026-01-25 19:09:28.933 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Available Tuners:

2026-01-25 19:09:28.933 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Name: firestick-rack3 Priority: 

2026-01-25 19:09:28.933 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Name: firestick-rack4 Priority: 

2026-01-25 19:09:28.933 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Selecting random tuner

2026-01-25 19:09:28.934 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Reserved Tuner: Name: firestick-rack4 Priority: 

2026-01-25 19:09:28.934 - stream - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] Tuning to 9 News on firestick-rack4

2026-01-25 19:09:28.938 - stream - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] Using channel configuration: Deep Links (default, recommended) (8ec77d65-30d6-46a3-8045-282571cff8d8)

2026-01-25 19:09:29.333 - lib.adb - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] ADB: firestick-rack4 - input keyevent KEYCODE_WAKEUP

2026-01-25 19:09:30.402 - lib.adb - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] ADB: firestick-rack4 - pidof com.amazon.firetv.youtube.tv

2026-01-25 19:09:30.523 - stream - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] Using https://tv.youtube.com/watch/GDZqceJ6Z-Y to load channel.

2026-01-25 19:09:30.523 - lib.adb - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] ADB: firestick-rack4 - input keyevent KEYCODE_MEDIA_STOP

2026-01-25 19:09:31.806 - lib.adb - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] ADB: firestick-rack4 - am start -W -a android.intent.action.VIEW -d 'https://tv.youtube.com/watch/GDZqceJ6Z-Y' 'com.amazon.firetv.youtube.tv'

2026-01-25 19:09:32.215 - stream - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Starting tune match text monitoring. Match commands: [{'match_text': ["who's watching", 'choose an account', 'edit profiles'], 'commands': ['input keyevent KEYCODE_DPAD_CENTER'], 'start_checking_after_seconds': 5}]

2026-01-25 19:09:32.217 - stream - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Waiting 3 seconds to allow sleeping device to setup.

2026-01-25 19:09:36.134 - stream - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Waiting for playback start. Status: unknown

2026-01-25 19:09:38.731 - lib.adb - [Tune gBsGDWmiXNJNKoJ3pQvGRB] On screen text: '> youtubetv'

2026-01-25 19:09:38.732 - stream - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Text match result: Text to match: ["who's watching", 'choose an account', 'edit profiles']. Matches found: None.

2026-01-25 19:09:40.618 - stream - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Text match result: Text to match: ["who's watching", 'choose an account', 'edit profiles']. Matches found: None.

2026-01-25 19:09:42.383 - lib.adb - Media session playback has started.

2026-01-25 19:09:42.383 - lib.adb - [Tune (gBsGDWmiXNJNKoJ3pQvGRB)] ADB: Closing connection - firestick-rack4

2026-01-25 19:09:42.384 - stream - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Tuning completed after 13.47 seconds. [Tune gBsGDWmiXNJNKoJ3pQvGRB] Display was off, application (com.amazon.firetv.youtube.tv) was running.

2026-01-25 19:09:42.384 - stream - Initializing keep active command schedule for tuner firestick-rack4 (2).

2026-01-25 19:09:42.460 - uvicorn.access - 100.xxx.xxx.xxx:0 - "GET /stream/2 HTTP/1.1" 307

2026/01/25 19:09:42 [PROXY] 100.xxx.xxx.xxx -> GET "/proxy/2?requestKey=gBsGDWmiXNJNKoJ3pQvGRB" -> "http://encoder_48007/12.ts"

2026-01-25 19:09:42.742 - stream - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Text match result: Text to match: ["who's watching", 'choose an account', 'edit profiles']. Matches found: None.

2026-01-25 19:09:43.856 - lib.adb - Media session playback has started.

2026-01-25 19:09:43.857 - stream - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Media playback detected. Stopping tuning text match process.

2026-01-25 19:09:57.107 - tuner_management - Releasing tuner 2 as it has been inactive for 3 seconds.

2026-01-25 19:09:57.108 - tuner_management - Releasing tuner: {'lock_obtained': 1769368168, 'tuner_name': 'firestick-rack4', 'name': '9 News', 'number': None, 'provider_name': 'YTTV', 'tuner_id': 2, 'channel_id': 2, 'tuning_status': 'tuned', 'request_key': 'gBsGDWmiXNJNKoJ3pQvGRB', 'target_package': 'com.amazon.firetv.youtube.tv'}

2026-01-25 19:09:57.350 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Using configuration: Deep Links (default, recommended) (8ec77d65-30d6-46a3-8045-282571cff8d8) for channel cleanup.

2026-01-25 19:09:57.350 - lib.adb - [Tune gBsGDWmiXNJNKoJ3pQvGRB] ADB: firestick-rack4 - input keyevent KEYCODE_MEDIA_STOP

2026-01-25 19:09:58.460 - lib.adb - [Tune gBsGDWmiXNJNKoJ3pQvGRB] ADB: firestick-rack4 - input keyevent KEYCODE_MEDIA_PAUSE

2026-01-25 19:09:58.830 - server - 

--------------------------------------------------

Tuner "firestick-rack4" is currently in use and locked.

Tune ID: gBsGDWmiXNJNKoJ3pQvGRB

Channel: 9 News

Lock Obtained: 2026-01-25 19:09:28 (0.51 minutes ago)

Last Seen: 2026-01-25 19:09:54 (4.83 seconds ago)

Bytes Transferred: 8905372 (8.49MB)

Remote User Agent:

Go-http-client/1.1

--------------------------------------------------

2026-01-25 19:09:59.413 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Released tuner (2).

2026-01-25 19:09:59.413 - tuner_management - [Tune gBsGDWmiXNJNKoJ3pQvGRB] Cleanup complete. firestick-rack4 (9 News)

You don't need to redact your deep links by the way. They're not sensitive. Everyone has the same deep links. There's actually zero sensitive information in this logging or an ADB tuner at all whatsoever. So that's just completely unnecessary.

DirecTV bug where I logged into the website and it pulled the guide data for a different DirecTV account I have and not the one logged into on the the Osprey.

Last issue is that none of the streams from the tuner work in the chrome browser but do work on clients

Something very odd, I set this up with project one click for directv stream. I am using onn pro boxes and an linkpi 5 tuner hdmi encoder. It works fine for all of my channels except for the mgm+ channels. on those it wont tune. any advice is welcome. thanks.

edit: disregard. I switched adbtuner to development and it started working.

Not much we can do about that. However, I would try logging out and logging back to DTV -- and/or you could try dumping "Cached images and files" (all time) in your browser history.

I would guess you're running into this issue:

If so, you'll find the streams work fine in Firefox -- or really any other browser.

Firefox is indeed the work around. Thanks!

All set for now!

Hey Guys.
I have a couple of questions about using ADBTuner with Directv.

  1. Does it matter if is SAT service, or Stream Service?
  2. Will this work with ONN 4k Pro Boxes?
    I have tested this with Sat service and have not had any luck getting deeplinks to work.

Thanks

Don't matter. It'll still work with either. And it should work with those Onn 4k Pro boxes

Did you use this method?:

I guess I would need to start by installing OliveTin

So, I'm running windows and wsl with portainer.
I have olivetin installed I think, but I do not have the button to create the ADPtuner links from directv.
Windows always seems to complicate these things.

It's on the Project One-Click page. Use the "hamburger icon" to navigate to it.

Got it.
Unfortunately the links generated do not work.
its a Sat account from family, so I thought maybe it had to be a stream account in order to work.
It opens the app, but won't play.
Just researching this as I am shopping for a new provider.

If things don't work, it's not because the deeplinks are wrong. The whole point is to grab the exact correct set of deeplinks for the package your subscription covers.

The DTV app on your streaming stick(s) needs to be logged into the same account of course.

I can confirm that DTV and onn 4k boxes do work with ADBTuner. That's what I have for my setup.

For proper tuning using DTV with onn 4k boxes, you likely need to use a special configuration file for those channels. I haven't had much luck using any of the default configs.

Currently, I'm using this config file:

{
    "name": "DirecTV X.X.X",
    "author": "David B.",
    "version": "X.X.X",
    "description": "Fast tuning for DirecTV. Prevent are you still there prompt from showing.",
    "uuid": "eeadcfd5-0b2c-4f9a-858b-05073ba918b2",
    "global_options": {
        "wait_for_video_playback_detection": true,
        "use_fixed_delay": false,
        "fixed_delay_seconds": 0,
        "check_for_and_clear_whos_watching_prompts": false,
        "wait_after_post_playback_start_commands_seconds": 0
    },
    "pre_tune_commands": [],
    "tune_commands": [
        "am start -S -W -n '||TARGET_PACKAGE_NAME||'/$(cmd package resolve-activity -a android.intent.action.MAIN '||TARGET_PACKAGE_NAME||' | awk -F= '/name=/{print $2; exit}') -a android.intent.action.VIEW -d '||TARGET_URL_OR_IDENTIFIER||'"
    ],
    "post_playback_start_commands": [],
    "post_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP",
        "input keyevent KEYCODE_HOME"
    ],
    "timed_keep_active_commands": [
        {
            "run_every_minutes": 60,
            "commands": [
                "input keyevent KEYCODE_MEDIA_PLAY"
            ]
        }
    ]
}

This is what I get.

Are you using the ADBTuner Custom Config in the post just above yours? It's the best one to use atm. Is your ADBTuner container up-to-date?

Are you properly logged into your DirecTV app? Does it play properly when you use the physical remote, rather than tuning it with ADBTuner?

Something looks a a bit off in your app screenshot. Do you have more than one profile for your DTV app? I don't see a profile icon on your screen, like the "J" in the blue box in the upper left of my screen shot:

1 Like

yes I am using the custom config.
Yes, I can tune all the channels with the remote,
Its not my account (family member), so I am not messing with profiles.
I guess I could get an account of my own for a month for more testing.
I wanted to see if this would actually work first.
I currently have Fubo and am trialing YouTube. Those work fine.
I used to use Hulu Live, but they constantly force re-authorization and password changes so I left.