USB HDMI Capture

Yes I think windows is working much better based on the above posts. I haven’t tried in windows myself though.

Does this help?

Also found this:

https://trac.ffmpeg.org/wiki/Capture/V4L2_ALSA

@tmm1 @Rice

The Dell OptiPlex Micros are an excellent Channels bang for your buck. They have transcoding and I5 power with very low power usage.
You can get a 5060 under $100 on eBay and it will legitimately run Windows 11, a bunch of Dockers, and record 10 things at a time.
I just migrated to a 5090 ($160) for the extra cores and now I can record 20 things at once, run 8 Dockers, and use multiple threads to process commercials.
Through experimentation, I found that the I5 processors were power efficient but needed an I7 to run Chrome Capture for Channels. I went back to the I5 and ADBtuner so I wouldn't hear the fan running all day.
I can't tell you that a 7-year-old I5 processor will run the USB HDMI Capture hack, but it's gotta be better than the Pi.

1 Like

Can confirm working good!!

1 Like

Try adding /System/Library/CoreServices/launchservicesd under camera/audio/screen-recording permissions maybe?

https://developer.apple.com/forums/thread/772886?answerId=821956022#821956022

2 Likes

2025/03/17 06:59:02.710788 [TNR] Opened connection to M3U-Test for ch9031 USB HDMI Capture
2025/03/17 06:59:02.899077 [HLS] ffmpeg: capture-usb-hdmi: [video4linux2,v4l2 @ 0x17986330] Could not parse framerate '60/'.
2025/03/17 06:59:02.899244 [HLS] ffmpeg: capture-usb-hdmi: /dev/video0: Invalid argument
2025/03/17 06:59:02.899538 [ERR] Error during stream M3U-Test ch9031 USB HDMI Capture: exit status 1
2025/03/17 06:59:02.899579 [TNR] Closed connection to M3U-Test for ch9031 USB HDMI Capture
2025/03/17 06:59:02.899720 [SNR] Buffer statistics for 192.168.1.xxx (Pixel 8 Pro) for ch9031 USB HDMI Capture: buf=0% drop=0%

Hi, this is what I'm getting now. Do I need to edit my config in channels? I am still getting video with the config that doesn't mention the audio or frame rate

Thanks

No diff, sorry.

314f1c76-c47b-47b4-8dc4-d0269198936c

1 Like

Using this setting, this is the error message I am getting.

025/03/17 17:46:00.388092 [TNR] Opened connection to M3U-Test for ch9031 USB HDMI Capture
2025/03/17 17:46:00.665595 [HLS] ffmpeg: capture-usb-hdmi: [video4linux2,v4l2 @ 0xf773330] Dequeued v4l2 buffer contains corrupted data (0 bytes).
2025/03/17 17:46:00.666058 [HLS] ffmpeg: capture-usb-hdmi: Unknown input format: 'alsa'
2025/03/17 17:46:00.685481 [ERR] Error during stream M3U-Test ch9031 USB HDMI Capture: exit status 1
2025/03/17 17:46:00.685610 [TNR] Closed connection to M3U-Test for ch9031 USB HDMI Capture
2025/03/17 17:46:00.686348 [SNR] Buffer statistics for 192.168.1.XXX (Living Room TV) for ch9031 USB HDMI Capture: buf=0% drop=0%

Rpi is not suitable for this feature

1 Like

Thanks, I'll invest in a windows 11 pc. Are all N95 devices suitable? Belink aren't commonly available in the UK.

Thanks

1 Like

Any modern Intel machine is fine

1 Like

I have an old i5 nuc running raspberry pi os. Would that be ok? I can't get windows 11 on it.

Have now got it installed on my NUC and it is streaming both audio and video. However as soon as I close the stream and try to launch it again, it spins. I then have to use a different USB port for it to work again. Thanks @tmm1

This is what I am gettting when it works:
2025/03/18 21:47:56.666002 [TNR] Opened connection to M3U-Test for ch9031 USB HDMI Capture
2025/03/18 21:47:57.290344 [HLS] ffmpeg: capture-usb-hdmi: Guessed Channel Layout for Input Stream #1.0 : stereo

This is what I get when I close the stream and reopen it:
2025/03/18 21:49:24.757776 [TNR] Opened connection to M3U-Test for ch9032 USB HDMI Capture
2025/03/18 21:49:25.175327 [HLS] ffmpeg: capture-usb-hdsmi: [video4linux2,v4l2 @ 0xa5e66c0] Dequeued v4l2 buffer contains corrupted data (0 bytes).
2025/03/18 21:49:25.183303 [HLS] ffmpeg: capture-usb-hdsmi: Guessed Channel Layout for Input Stream #1.0 : stereo
2025/03/18 21:49:25.183663 [HLS] ffmpeg: capture-usb-hdsmi: [video4linux2,v4l2 @ 0xa5e66c0] Dequeued v4l2 buffer contains corrupted data (0 bytes).

This is NOT a problem with the USB HDMI Capture software, but wondering if another user ran into this type of problem. I have this capture dongle: Amazon.com.

I have had it setup and working fine. However a couple of days ago, it stopped recording audio with the video. I did some trouble shooting, and looks like the FireTV stick is working fine (audio and video are fine when direct connected to the TV). However, when I use it on a computer (with OBS or other program), no audio is present. So, I am assuming the capture dongle somehow crapped out with no audio. Anyone else have this type of issue? Is there a way to "revive" this dongle, or do I just have to buy a new one?

EDIT: After fiddling about for a bit (not sure what all I did, was just trying stuff), the thing started working again with audio on OBS. So, I connected it back up to Channels, and hoping for the best.

QUESTION: I just want to be sure I have everything right - On Sources, I have two sources: the capture device, and the ADBTuner. The capture device is set to "Disabled" state, and the ADBTuner is "Enabled". Is this the right way?

Another question: Am I supposed to be able to watch Live TV with this, or just schedule recordings? The reason I ask is, when I go to watch live, it just spins, shows "reconnecting" and "Remux started" for a while and then just gives up. Is that the expected behavior, or is something still wrong?

OK, I think I restored some sanity, and it seems to be back up working.

During the machinations I did, one of the things I did was update to the latest pre-release, thinking this would be a good idea. Turns out it was not. I reverted to the previous one I was using (2025.02.24.2322), and everything started working as before, including audio.

@tmm1 were the later releases for linux only? The latest is sure broken in Windows, which is what I am using. LMK, if you need me to do anything help debug the situation.

Please submit diagnostics

I cant wait to try this!!! Hopefully this weekend :slight_smile:

Here is the log of the error I get when I try to view the Live TV using the USB HDMI Capture Source:

2025/03/20 10:34:05.343746 [TNR] Opened connection to M3U-FireTVCapture for ch9000 USB HDMI Capture
2025/03/20 10:34:05.343746 [HLS] Starting live stream for channel 9000 from 127.0.0.1
2025/03/20 10:34:05.833702 [HLS] ffmpeg: capture-usb-hdmi:  [mjpeg @ 000001fd56cc0440] Found EOI before any SOF, ignoring
2025/03/20 10:34:05.833853 [HLS] ffmpeg: capture-usb-hdmi:  [mjpeg @ 000001fd56cc0440] No JPEG data found in image
2025/03/20 10:34:06.280156 [HLS] ffmpeg: capture-usb-hdmi:  [aist#0:1/pcm_s16le @ 000001fd52c486c0] Guessed Channel Layout: stereo
2025/03/20 10:34:06.280156 [HLS] ffmpeg: capture-usb-hdmi:  [vost#0:0/h264_mf @ 000001fd502a40c0] -enc_time_base -1 is deprecated, use -enc_timebase demux
2025/03/20 10:34:06.280662 [HLS] ffmpeg: capture-usb-hdmi:  [aost#0:1/aac @ 000001fd502a3e00] -enc_time_base -1 is deprecated, use -enc_timebase demux
2025/03/20 10:34:06.280688 [HLS] ffmpeg: capture-usb-hdmi:  [Eval @ 000000061b3fe000] Undefined constant or missing '(' in 'prev_t))'
2025/03/20 10:34:06.280688 [HLS] ffmpeg: capture-usb-hdmi:  [Eval @ 000000061b3fe000] Missing ')' or too many args in 'gt(floor(t),floor(prev_t))'
2025/03/20 10:34:06.280688 [HLS] ffmpeg: capture-usb-hdmi:  [vost#0:0/h264_mf @ 000001fd502a40c0] Invalid force_key_frames expression 'gt(floor(t),floor(prev_t))'
2025/03/20 10:34:06.280688 [HLS] ffmpeg: capture-usb-hdmi:  [out#0/mpegts @ 000001fd52b93ac0] Error processing forced keyframes
2025/03/20 10:34:06.280688 [HLS] ffmpeg: capture-usb-hdmi:  Error opening output file -.
2025/03/20 10:34:06.280688 [HLS] ffmpeg: capture-usb-hdmi:  Error opening output files: Invalid argument
2025/03/20 10:34:06.581968 [ERR] Error during stream M3U-FireTVCapture ch9000 USB HDMI Capture: exit status 0xffffffea
2025/03/20 10:34:06.581968 [TNR] Closed connection to M3U-FireTVCapture for ch9000 USB HDMI Capture
2025/03/20 10:34:06.581968 [HLS] ffmpeg: ch9000-dANY-ip127.0.0.1-remux:  [in#0/mpegts @ 000001c984fc3bc0] could not find codec parameters
2025/03/20 10:34:06.581968 [HLS] ffmpeg: ch9000-dANY-ip127.0.0.1-remux:  Error opening input file -.
2025/03/20 10:34:06.581968 [HLS] ffmpeg: ch9000-dANY-ip127.0.0.1-remux:  Error opening input files: End of file
2025/03/20 10:34:06.589059 [HLS] Stopping transcoder session ch9000-dANY-ip127.0.0.1 (out=0s finished=true first_seq=0 last_seq=-1)
2025/03/20 10:34:06.590163 [ERR] Probe cancelled for live stream after 1.2462277s and 0 bytes