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

Oh hell yeah! ah4c just became the rock star of the encoder-based virtual channels world, with on-the-fly Closed Captions:

Screenshot from VLC:

intel_gpu_top:

intel-gpu-top: Intel Raptorlake_s (Gen12) @ /dev/dri/card0 - 1104/1397 MHz;  14% RC6;  2.55/56.43 W;      924 irqs/s

         ENGINES     BUSY                                                                                                          MI_SEMA MI_WAIT
       Render/3D   34.97% |███████████████████████████████████▊                                                                  |      0%      0%
         Blitter    0.00% |                                                                                                      |      0%      0%
           Video    0.00% |                                                                                                      |      0%      0%
    VideoEnhance    0.00% |                                                                                                      |      0%      0%

    PID      MEM      RSS          Render/3D                    Blitter                      Video                    VideoEnhance         NAME   
1366202 1037356K 1037224K |█████████▏                ||                          ||                          ||                          | ah4c   

ah4c Activity page:

Congratulations @mackid1993!

Thank you. Just made one minor change to helper text. No need for a docker rebuild since it's just cosmetic and I was cutting down on wordiness.

How do you like Cohere @bnhf?

I can't even test my text change since Github is down!!

Don't know yet, I'm running :beta2 -- so I'm using Nemotron 3.5 Streaming 0.6B. I'll build :beta3 soon. Do you have GPU usage working in the newer code?

Yes! Although it was a bit of a v2 of what I initially did. I personally think it's a better model. Maybe wait for Github to recover before building beta3 though. It's totally down right now.

You may be able to attempt to pull my image ghcr.io/mackid1993/ah4c if you want to smoke test my changes from yesterday. Not sure if the outage affects ghcr.io also. I also had to move from parakeet.cpp to transcribe.cpp. GitHub - handy-computer/transcribe.cpp: ggml speech-to-text inference for 16+ model families · GitHub

Was that you? :slight_smile:

Probably!! :joy:
They were probably like some idiot keeps building docker images lol.


I managed to get a new image built. This is what the page looks like now.
I forgot to mention I calculated memory usage based on tuners as well.

@bnhf before you build beta 3 I'm still seeing "thank you's" and "I'm sorry" on silence and music which is a quirk of this model. Looking into how I can safely suppress it.

Too late! I'm trying to get it set up, but even though I reinstalled the Vulkan drivers, models are grayed-out and there's no Cohere:

That's looks like the old image. It shouldn't show those models on the new container. I think github is really broken so it's possible the merge into the beta branch didn't take so the docker didn't build off the new code. I can't even see commits right now.

Just got the beta branch to load commits for a moment and nothing was there that I did. Git is super broken right now.

I merged all your new commits locally, but I need to push them to the beta branch on GitHub. Can you maybe implement CalVer, like v2026.08.17.1000? Where 1000 is either your local time or UTC, whichever you like better?

Yes. I can do that. I'll add that next time I build.

The container appears to have built correctly, but now I'm stuck on "Installing the driver...", when attempting a Vulkan driver reinstall. Did you say it was coming from backports?

Yes. It is coming from backports. You should see the output in small console below it. It deliberately initially will load the driver in slowly to not block tunes. If you restart the container it will load the driver before the webui comes up to get it warm and prevent tunes from stalling. It might need a better explanation on page. They go to /opt/captions/drivers/vulkan.

I never saw the small console, but there's this in the log:

[CC] Vulkan driver: 37 of 37 packages in
[CC] Vulkan driver could not be set up: libvulkan.so.1 still will not load

After a browser refresh, I got this on the Closed Captions page:

Driver setup failed: libvulkan.so.1 still will not load
Processing triggers for libc-bin (2.36-9+deb12u14) ...
Selecting previously unselected package mesa-vulkan-drivers:amd64.
(Reading database ... 38274 files and directories currently installed.)
Preparing to unpack .../mesa-vulkan-drivers_25.0.7-2~bpo12+1_amd64.deb ...
Unpacking mesa-vulkan-drivers:amd64 (25.0.7-2~bpo12+1) ...
Setting up mesa-vulkan-drivers:amd64 (25.0.7-2~bpo12+1) ...
Processing triggers for libc-bin (2.36-9+deb12u14) ...
(Reading database ... 38307 files and directories currently installed.)
Preparing to unpack .../zlib1g_1%3a1.2.13.dfsg-1_amd64.deb ...
Unpacking zlib1g:amd64 (1:1.2.13.dfsg-1) over (1:1.2.13.dfsg-1) ...
Setting up zlib1g:amd64 (1:1.2.13.dfsg-1) ...
Processing triggers for libc-bin (2.36-9+deb12u14) ...

Added programatic calver. It does require a dockerfile change on your end to persist. It's just UTC.

I think this is from having the ancient Debian apt 2022 drivers from earlier. Maybe clear out /opt/captions/drivers/vulkan restart the container and try again.

I think this might be a bug that I just wouldn't have hit on my system.
I'm making a change right now that hopefully will help.

Maybe pull my container instead of rebuilding yours and test that way. That way I don't waste any of your time.

You may also want to try just restarting the container and see if it loads. But I just pushed something that might help. I'm rebuilding my Docker right now.

I see the problem here. It's like not obvious what's happening at all.
Adding like a progress bar and making it load the driver right away.

Can I install the drivers manually for now? If so, what's the command?

It's complicated since it pulls from backports and goes into a bind mount. I asked my buddy Claude and he gave me the most unruly awk command.

I think I got it sorted if you want to quickly pull my image and let me know if it works before you build you canonical one again. It's ghcr.io/mackid1993/ah4c:beta still. This might be a variance in hardware too..... which would stink.

I have my fingers double crossed behind my back lol.

Using your image -- all good. Much better approach on installing the drivers. How big is the driver package? This seems like something we should consider baking in.

1 Like

It's about 300 MB so it may be better to keep my approach since not everyone may not want closed captions and this keeps it opt in.