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

Hi all!
I'm looking to tidy up my ADBTuner setup by reorganizing my channels within the ADBTuner GUI. I know that I can use the export my entire channel lineup to a single JSON using the following function.

Screenshot 2025-12-11 12.42.43 PM

As I have a few different providers scattered throughout my channel list, I was wondering if there is a way to export a separate channel list for each service.

So far, I have been exporting the entire list and editing the JSON to create a separate JSON file for each source.

If that's the best approach, do any of you have a recommendation for a good JSON editor for Chrome/Android? I don't mind paying for a decent app. But, I don't want to get roped into a monthly fee.

Feed it into AI? I have no idea how to do that. I'm an old-school DIY, non-AI guy.

Hmm... perhaps I'll give it a try, after I decide what I really want it to do... I'm used to fudging around with things on my own. :woozy_face:

Gol-durned young whipper-snappers and yer newfangled ways... :laughing:

I really appreciate your offer, and will definitely reach out if I have trouble. I'm determined to learn how to do this myself. (with a little guidance from helpful folks like you)

I found a free online JSON editor which I have used to separate my sources into distinct JSON files. I'm sure that it's not as slick as using AI. But, it works with an interface which is more familiar to me. More like a spreadsheet. I'm sure that I can import those separate files back into ADBTuner.

One thing I haven't figured out is how to easily delete multiple channels from the ADBT interface. The only way I know is to remove them one by one: Screenshot 2025-12-11 6.59.47 PM
This gets pretty tedious if you are trying to remove several dozen entries. I'd like to be able to dump an entire set of channels from a particular provider. What file does ADBT refer to for the channel list? Is it an M3U? Where is it stored? Can I simply open it, edit the entries, and save it back with the same filename?

I know that it's possible somehow, since the Project One-click action for creating an DTV JSON for ADBTuner includes the option for removing existing DirecTV channels.

Sling is done!

I've added a new OliveTin/Project One-Click Action to automate everything needed to use Sling with ADBTuner.

This includes:

  • Capturing the deeplinks for your set of specific Sling packages.
  • Converting those deeplinks into a JSON for use with ADBTuner.
  • Adding Gracenote Station IDs to each of the channels in your custom list.
  • Adding those virtual channels to your ADBTuner installation.
  • Adding whatever ADBTuner Custom Config you'd like to use to ADBTuner.
  • Importing those channels complete with GracenoteIDs into ADBTuner.
  • Creating a CDVR Custom Channels Source with that set of ADBTuner channels call ADBTuner - Sling

More details here:

YTTV and CDVR Virtual Channels ADBTuner automations to come...

6 Likes

I just pushed a new development build (20251213-1). Can you let me know if that package works as expected in this build?

1 Like

I'll be looking forward to your updates as you get the Ospreys dialed in. I like the idea of the Ospreys since they seem to work so well for DTV. The shortcoming is that they only do DTV. I'm not quite ready to abandon my onn 4k boxes as they also tune my Peacock channels on ADBTuner, and may soon serve as an ADBT backup source to my Frndly container.

I guess that I didn't realize that I could run the other Android apps on the Osprey. That would make them multi purpose as opposed than provider specific.

Hmm... now you got me thinking about swapping out my onn 4ks. How does the Osprey processor compare to the onn 4k? I'd hate to go backwards from what I'm using now. On board storage is twice the size. 16 GB vs 8 GB. Ram is the same at 2 GB.

The Walmart listing shows the Ospreys as 1080p resolution. Though, other sites show the c71kw-400 as 4k. I don't currently watch or record 4k. But, I like the idea of future proofing when I can. Are your Ospreys from Walmart 4k capable?

I believe the sku 60233 is what to look for to get the 4gb ram, but any of the 400's work similar. the 200's are quite slow, but still functional for recording. I collected a couple extra of the 4gb just to future proof if android tv starts requiring that much ram (and if I get more encoders). the big thing to watch out for is one's that have been 'converted' to work with directv gemini. there currently is no way to flash back to streaming. one I got with a black label was that way.

on a positive note the old directv IR remotes work with all the osprey's but depending on the firmware you may need a real osprey remote to go through initial setup.

3 Likes

Can confirm! I set a static app in channel definition to com.att.tv.openvideo and reverted my custom config to use the standard TARGET_PACKAGE_NAME instead of manually targeting. All is working as expected on all three of my Ospreys!

Thanks so much!

As the Greybeard of Ospreys, figured I would chime in on a few things for anyone considering them.

Android TV (Android 11). They pretty much do all Android Apps. I actually had Channels DVR running on one to test as the remotes are so good. But yeah, they are relatively slow.

  • C71KW-200 (Osprey/Late 2018) - The original, made by Samsung. Oldest and slowest.
  • C71KW-400 SKU 60164 (Osprey/2019) - Made by Wistron NeWeb Corporation, updated version, 2GB RAM.
  • C71KW-400 SKU 60233 (Osprey/late 2019) - Made by Wistron NeWeb Corporation, updated version, 4GB RAM.
  • C71KW-400 (Gemini)* - The black sticker, DirecTV refresh (away for AT&T). AFAIK, same as the 60233, manufactured all the way through 2022 IIRC
  • Gemini Air - Dongle (Chromecast) style, can buy from DirecTV, super expensive but faster than Osprey.

Shaggylive is right on the money. I currently use a mixture of 60164 and 60233. The RAM difference is noticeable if you are using the box plugged into a TV. Apps load faster as well. Preferred, but for just tuning with deep link, there is not a huge difference. And as he stated, be careful of the Gemini Ospreys, as they can be flashed as Stream or Satellite.

Having the remote makes your life so much simplier, but it can be done without a remote. Since the Osprey has a full USB A port, you can hookup a keyboard. There is a way to bypass the "connect remote" screen, which I was able to do once as I was being lazy and didn't want to find another remote. Thinking back, the remote setup may eventually time out and let you continue with keyboard. All said, remote-less is an unpleasant setup.


Many options for Ospreys on eBay, my preferred place for eWaste purchase. Most Ospreys you get are going to be the 2GB/60164 version, which is fine. Last I purchased Ospreys it was from a vendor recommended on Reddit. I have no affiliation with this vendor, just a good shopping experience: Security Measure | eBay

1 Like

As a greybeard who doesn't understand half of how I keep all of this stuff running, I greatly appreciate your willingness to share your wisdom and experience. If it wasn't for the help of several knowledgeable and good natured folks on this forum, I'd be stuck in the stone age. Thank you so very much, everyone.

1 Like

Based on your experience would a single Osprey (setup for DTV use only) be better using AH4C or ADBTuner? Any appreciable differences in tuning speed between these 2 options?

Thanks for your help!

Both are great solutions for Ospreys. I started with Ospreys in late 2023. Since Osprey boxes have the unique feature of tuning by channel number, I adapted the AH4C project to do so in early January 2024. This ran like a champ as my primary setup until Summer 2025. Reliable tuning, I never messed with it, AH4C just works (and still does).

When the AH4C thread started mentioning deep links working on DirecTV app, I wondered if they would work on the Ospreys. The Osprey interface is basically the DirecTV App. After a bit of messing around, I found they do and the tuning was a bit faster than waiting on channels numbers to be entered via AH4C. But it was not perfect. I needed to work around ADBTuner not seeing Osprey system apps for targeting. This setup worked but it was not easy. That is, until just today.

As of the most recent dev build by @turtletank, no special work around is needed in ADBTuner. Standard setup, and a standard config (though I recommend custom config for more control). ADBTuner is currently my recommended setup for tuning DirecTV with Osprey boxes.

TLDR: As of the dev build 20251213-1, I would recommend ADBTuner for use with DirecTV and Osprey hardware. My testing since August has been reliable, and with the recent changes made to the dev version, setup is much simpler, and there is good development with @bnhf effort to support this type of setup. If you are concerned about deep links stopping on any Osprey you purchase, you can always move over to AH4C, which I ran for nearly two years without hiccup.

1 Like

I'd expand on this to say, anyone going this route, should be sure to use Project One-Click to create DTV channels in ADBTuner and CDVR.

The Action will grab the entire lineup your subscribed to, create the channel entries in ADBTuner with Gracenote Station IDs, add whatever Custom Tuning Config you'd like to use, and create the Custom Channels Source in CDVR.

I only subscribe to one genre pack and one addon, and this amounts to ~170 channels. If you have a more complete package this could be 300-400+ channels.

It only takes a couple of minutes to complete the process, and the Action can be run anytime you want to "synchronize" what's in your current DTV package with ADBTuner and CDVR or even to change the Custom Config you're using for all those channels (if it uses a different UUID identifier).

More details here:

2 Likes

Good catch. For reference, here is my tuning ADBT Config for tuning with Osprey after updating to Dev Version 20251213-1

{
    "name": "DTV: Osprey Deep Link (DODL)",
    "author": "spammedeeper",
    "version": "0.1",
    "description": "Deep Link Tuning with Osprey Hardware.  Wake, Tune, Sleep.",
    "uuid": "670c0f68-6c1f-4258-b3c3-0c67fd0ab316",
    "global_options": {
        "wait_for_video_playback_detection": true,
        "use_fixed_delay": false,
        "fixed_delay_seconds": 0,
        "check_for_and_clear_whos_watching_prompts": false
    },
    "pre_tune_commands": [
        "input keyevent 224"
    ],
    "tune_commands": [
        "am start -W -a android.intent.action.VIEW -d '||TARGET_URL_OR_IDENTIFIER||' '||TARGET_PACKAGE_NAME||'"
    ],
    "post_tune_commands": [
        "input keyevent 26"
    ]
}

Tuning Ospreys from sleep is for sure the slower way to tune, especially as Ospreys are not as "peppy" as modern hardware. But it is reliable. I get about 10-12 second tuning times with this setup.

I did some testing with leaving the Ospreys running back in my AH4C testing. Since this is Android 11, you can trigger the screen saver via ADB, keep the box awake. If you want to give it a go, change the post_tune command to be:

"post_tune_commands": [
        "am start -n 'com.android.systemui/.Somnambulator'"
    ]

This will trigger DayDream. You need to input a key command to exit screen saver, such as input keyevent KEYCODE_HOME in your pre tune setup.

Should stop the stream preview on the home screen. You could set the screen saver to display a static image for "no signal" or "waiting to tune". Not sure if this slows down the tuning speed of leaving Osprey at Home Page, but should be faster than a full wake.

Hopefully a quick ask for @turtletank

Can the requirement for a channel #, when adding one, be removed or optional? Most of my channels are imported via JSON without one, but would like to be able to add one manually without a channel number.

+1

I've tweaked the html manually in the past to allow this, but it would be nice not to have to remember. :slight_smile: