AndroidHDMI for Channels (ah4c): A virtual channel tuner using HDMI Encoder(s) + streaming stick(s)

Yes - this is the way

I got hung up thinking that the limitation in the ah4c architecture with the tuner pool was due to the differences between PYATV and ADB flavors of containers and asked again for script per tuner granularity.

Now that Im in the (every tuner in this container is android based) - if I can pass the actual device from the all.M3U that looks great . I'll play around with this approach. Thank you!!

I forgot to re-edit the script after updating and lost my first recording that was on "E! HD" due to the space. Can the double- and single-quotes be added to the xfinity script permanently if you don't think it will break anything else @bnhf? Thanks!

Done. Pushed as bnhf/ah4c:latest (aka bnhf/ah4c:2026.09.30).

After playing MeTV for about 3 hours, I stopped the stream and waited for that tuner to be idle. Multiple subsequent tunes to different channels failed on that virtual tuner. One has to wonder if the DTV app will ever be reliable enough to be able to keep it warm.

Sorry to hear that. You will definitely be missed! Thanks for the work you've done on ah4c. Others will benefit from it for some time to come.

4 Likes

I've tried all of the closed captioning engines over the last few days. I think Cohere with Roll-up, 2 lines and a 2.0 sentence length is the best we've seen so far. I watched a show with my wife, being careful not to say "notice the subtitles," and she didn't have any complaints.

Ideally I'd like to run captioning after the show is complete, because the difference is noticeable. EDIT: this has already been solved here and I missed it! Synchronized Closed Captions for Channels

It doesn't look like there's a way to scan the file after it's finished and inject captions into the file's metadata the way ah4c is doing in real time. I tested a 30-minute show and captured an srt with Openwhisper-XXL and the large-v2 model in 8 minutes using the NVIDIA card on my Windows machine. The quality in terms of accuracy and appearing when the words are spoken instead of 2-3 seconds later is unmistakable. I didn't expect them to work, but neither an srt dropped next to the recording nor a muxed mp4+srt > mkv were recognized by Channels. I'm going to keep up not saying anything for a few days and see if the captions cause any complaints.

Thanks for your hard work, @anon38303228. Enjoy your rest!

Take care of yourself first and get back to doing what's best for you. Remember, it's only TV.

3 Likes

Dude, go take a two week nap! We need you back here fresh as a daisy! :laughing:

2 Likes

While re-captioning with Py Captions, I'm finding that some programs are recorded with "und" for the language. This doesn't phase ah4c, but Faster Whisper fails with:

2026-10-06 12:14:24 [ERROR] pipeline.manual_process::/media/DVR/TV/The Rookie/The Rookie S01E05 2018-11-20 The Roundup 2026-10-06-1059.mpg::20261006-161314-864634: Faster-Whisper transcription failed: 'un' is not a valid language code (accepted language codes: af, ..., zh, yue)

Is there a way to have ah4c set the pre-defined default language (eng in my case) when it detects "und" in the language metadata? I'm asking the Py Captions developer as well since that's where the issue is causing trouble, but I thought it might be possible to force the language on the recording task.

Thanks!

und is a valid language special code (meaning undetermined), so I think it's something Py Captions is going to need to deal with.

Thanks. FWIW, they all turned out to be TVE recordings which already come from Xfinity with in-sync captions. (ie, not ah4c at all!) So I should have been leaving well enough alone. Oh well it was fun spending a few minutes with AI learning how to change the language to eng so that Py Captions could strip out the perfectly good captions and replace it with its own :grin:

That does sound fun. :slight_smile:

Can you explain what AH4C does differently from ADBtuner such that it avoids these sort of issues?

In this case, what I'm highlighting is the FastChannels ah4c bridge for ESPN linear channels, vs ADBTuner with HENA (HDMI Encoder Native Apps). The "bridge" is a tightly integrated solution that doesn't use native apps, remote control emulation or deeplinks, but rather tunes using a very streamlined Android player and the provider's API.

Not all providers are supported, but for those that are, tuning is in the 4-5 second range -- so, it's fast and reliable. The integration between FastChannels and ah4c means that setup and monitoring is as straightforward as possible.

I get it. Different approach to the same problem. Instead of using the provider's own app, and dealing with its warts, and also any changes they may make to the GUI when using RC emulation... this implements its own app that calls the provider's API directly to obtain the same stream.
I've got ADBTuner working now, and has been reliable as long as I leave the devices alone, so I think I'll stay there for now. But if I get frustrated at ADBtuner missing, I might make the swap.

Also works for adbtuner. Im using the pass-through feature to pipe in the DRM'd channels that FastChannels got

It does. It's just not as seamless, or integrated.

@Jean0987654321
Are you seeing any picture quality differences with the FC Android player vs. streaming stick apps?

I realize it’s somewhat subjective with these comparisons but I think the score bugs/bottom banners are “crisper” with the native apps for the ESPN networks.

Not much if any but it does make it easier to pipe in any DRM'd stuff

Sure, but its there...and it works so there's that. I don't need to use ah4c for that and that's key lol. Everything in 1 container lol