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

I stumbled upon another hurdle that might be beyond the ability to handle with scripting. I had used my encoder and Fire Cube for something else (recording a streaming show via FFMPEG), and the next time I tried to tune a channel in Channels via that device, I got an error about the connection being lost (I forget the specific wording). I remoted into the Fire Cube to diagnose the issue, and the Cube was stuck at the YouTube TV prompt asking me which account I wanted to use. Once I selected the very first account, the channel I had previously tried to launch loaded right up.

I think there is a setting in the YouTube TV app to disable that prompt.

:+1: You are correct. Just found it poking around.

(If you click on your account profile pic at the top right to call up the horizontal list of all profiles, then pick "Settings" below the list of profiles, the option is in there to turn off that prompt. I'd share a screenshot, but it has profile pics of my whole family there)

I'm just now getting my htmi encoder going.
I see preview URLS for http, HLS TS etc.
Just working on getting everyting to connect.
I'm using the onn box
Any special settings i whould know about?
I have the system linked to a valid enpoint.
Both the enpoint status and android version are gone and the tuner shows simply availlable.
I'm using the HLS m3u8 link provided in the encoder.

thanks

Rack it up!

Just finished building the 2.0 version of my rack-mounted PoE-powered "HDMI Encoder plus streaming devices with Ethernet" setup. So here it is, just in case anyone else is into this kind of stuff.

I'm using 3x FireStick 4K Max units with the DTV app at the present, but I plugged in an ONN Google TV box as well, so you can see this will support various devices. I'd be willing to put together a parts list for the build if there's interest.

PoE+ is pretty much mandatory to supply the watts required. Everything, including the HDMI Encoder, is being PoE-powered and is Ethernet connected:

6 Likes

Very nice. Would you like to come over and tidy up my set up? :smiley:

I suspect you're not the only one whose setup needs a little tidying. :laughing: I don't know who invented the 19" rack, but without it I'd probably be featured on an episode of Hoarders or maybe on a short list to be cancelled by my homeowner's insurance provider.

And, on a completely different subject, I hope you've all managed to settle your "differences" with FOX before tonight -- 'cause here we... go USWNT!

1 Like

I know this was directed at @Fofer, but I hooked my FBE200 back up as a third device to see how it worked. But for some reason, when I tune into 3 channels, Channels uses both of the URayCoders, but skips right over the FBE200 and goes to my Chrome Capture setup for the third stream. I have "Endpoint Connection Successful" and "Android 12" and "Available" showing in ADBTuner, and I reloaded the M3U in Channels' sources. I watch the streamer attached to the FBE200 using VLC, and it never leaves the Home Screen. I'm probably overlooking something obvious.

This is working great, thanks! Really appreciate being able to access the Haystack News and TikTok apps this way. If anyone has other auto-playing apps that aren't conventional linear broadcasts, please share, I'm finding this very cool.

Sure, happy to test anything out... pretty sure I just successfully updated but don't see a version number. How can I check? I'm using Docker Desktop but installed and later updated (I think?) via terminal command:

docker run -d --restart unless-stopped --init -p 5592:5592 --name adbtuner -v adbtuner_config:/app/.config turtletank99/adbtuner:latest

If there was ever a crowd that is perfect for Portainer -- this is it! Forget about Docker Desktop, forget about the command line -- and install Portainer:

docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    cr.portainer.io/portainer/portainer-ce:latest

You want to pull the latest image on a re-deploy, use the slider:

You want to change something in your Docker-Compose:

You want to check the logs:

You want to exec into the container to check something or run a command:

You want see when the image you've downloaded was created:

You want to see what super-cool Channels containers are running, and what ports they're using:

I know developers very often give Docker command line instructions, but Portainer gives you all that same capability with a nice WebUI.

@Fofer docker pull turtletank99/adbtuner will always pull the latest version.

docker stop adbtuner
docker rm adbtuner
docker pull turtletank99/adbtuner
docker run -d --restart unless-stopped --init -p 5592:5592 --name adbtuner -v adbtuner_config:/app/.config turtletank99/adbtuner

Your data will be ok as long as you don't delete the adbtuner_config volume. You can also use the handy "export channel list" feature in ADBTuner to create a backup of the channel config.

@bnhf that rack setup looks great!

@cyberskier Not sure what's going on there, but I do know that Channels can be a bit opaque and sometimes inconsistent regarding source selection when the same channel exists via multiple sources. For testing it might help using a channel that doesn't exist in your Chrome Capture config.

Totally agree with @bnhf. Portainer is very much worth the effort learning. It is so much easier to manage docker setups with more complex configurations. The GUI is so much easier than remembering docker command line syntax.

1 Like

Thanks. I’ve clearly messed something up, because when I do that, to force it to go to the 3rd encoder (FBE200), I get a “404 Not Found” message in the Channels client.

How are you managing Haystack? I have been trying with ADBTuner (on a Synology) with no success (I have to use the original HDMI method instead.) I am using Onn and a Chromecast devices with the same results.

With these settings...


I am getting only this result...

Yep, it was a stupid user error. I forgot that I needed to set the alternate package, as my first two encoders have Fire devices hanging off them, and this third one has an Onn box. So after adding the alternate package on one channel and testing it (I need to go set the alternate package on the others), the first time tuning I had the channel come in momentarily, and then got the "The connection to the tuner was lost. Press play to try again" message. It worked after exiting to the guide and going back to the same channel, but then repeated the message on the third time doing that. This is with the FBE200.

Thanks for that nudge. I have Portainer on one of my Pi's for Scrypted and now it's replaced Docker Desktop on my Mac too. All of my existing dockers and containers still working fine. And you're right, the interface and control are much better with Portainer.

Moving forward, how do I get to that re-deploy slider? I see "recreate" but not "update."

Thanks for this too! I'm now all updated.

I've tested a bit and am still getting the occasional "The connection to the tuner was lost. Press play to try again" error. I could be wrong, but it seems slightly less frequent? But it's still there. Pressing play reconnects to the tuner almost every time, once in a while I have to try twice. Overall it seems a little better though. If I'm channel surfing it's easy to get by, but I'm mostly concerned about this potentially missing scheduled recordings.

Thanks again for your work on this, it's awesome.

Change the URL from "haystacktv://" to "https://haystack.tv"

1 Like

Holy crap! As always awesome @Fofer. Thanks, worked like a charm and skipped the 20 second full screen wait.

Just in case this wasn't obvious with Haystack News, I'd also suggest using the Android remote when logged into the app, to customize it with your interests, weather location, and link to your Google Calendar, etc. Then the ticker at the bottom is personalized for you too.

With android-HDMI-for-Channels and now ADBTuner, the Haystack News app has catapulted to the top of my list of options for "background TV on autoplay." It's a varied-yet-personalized mix of current news clips across multiple sources, including local news, few/no commercials, really well done. Previously I put together a Virtual Channel in CDVR to achieve something similar, but this is much less resource-intensive, no downloading or commercial-skipping needed, the content just streams live.

1 Like

Lol, you loudly proclaimed that these exact settings did not work for you last week so I went digging into the app configuration on your behalf. I don't mind, it's just funny.

Maybe there was some other bug involved at the time though. Glad it's working now!

@Fofer and @cyberskier thanks for the additional testing on the FBE200. I will continue looking towards a solution on that. It it drops out like that it would definitely be an issue with recording and I'm not ok with that if it can be avoided.

You'll want to use Portainer-Stacks moving forward with Docker-Compose. Your stack for ADBTuner would look similar to this, and when you click "Update the stack" you'll see the slider to pull a new image when you redeploy:

Here's my recommended docker-compose yaml for this project:

version: '3.9'
services:
  adbtuner:
    image: turtletank99/adbtuner:latest
    container_name: adbtuner
    dns_search: localdomain # Change to the name of your LAN's domain, which is usually local or localdomain
    init: true
    ports:
      - 5592:5592
    volumes:
      - adbtuner_config:/app/.config
    restart: unless-stopped
volumes:
  adbtuner_config:
1 Like