Hyperion 2.1.1 unfortunately has problems with USB grabber, 2.0.16 works.
Is there a github issue for this? I did not find one last I looked.
Hyperion 2.1.1 unfortunately has problems with USB grabber, 2.0.16 works.
Is there a github issue for this? I did not find one last I looked.
Per another thread, downgrading to 2.0.61 fixed my issue. This seems like a bad fix, but it did fix it.
tldr: I can capture video from my hdmi->usb stick using ffmpeg, but Hyperion can't seem to figure it out.
First time Hyperion user, please be patient with me ![]()
I setup Hyperion on an RPI4, and things seem to work well up until the final step. It correctly controls my WLED setup, but fails to capture HDMI input properly.
Instead, it sees some sort of screensaver like input as if from the movie "The Matrix".
Running ffmpeg from the command line captures video just fine, so I assume there is something misconfigured with Hyperion.
I have tried two different HDMI->usb sticks. One shows the below image, and one just black.
Here is a screengrab of what Hyperion is thinks it is seeing (the leds around the TV reflect this image):
I am running Hyperbian with Hyperion v2.1.1
QuoteDisplay MoreHyperion Server:
- Build: LordGrey-bde49a8/26fd6d8-1749918223
- Build time: Jun 14 2025 16:59:30
- Build type: Release
- Git Remote: https://github.com/hyperion-project/hyperion.ng
- Version: 2.1.1
- UI Lang: en (BrowserLang: en-US)
- UI Access: expert
- Avail Screen Cap.: dispmanx,framebuffer,qt
- Avail Video Cap.: v4l2
- Avail Audio Cap.: audio
- Avail Services: boblight,cec,effectengine,forwarder,flatbuffer,protobuffer,mDNS,SSDP,borderdetection
- Config database: /home/dave/.hyperion/db/hyperion.db
- Database: read/write
- Mode: Non-GUI
Hyperion Server OS:
- Distribution: Debian GNU/Linux 12 (bookworm)
- Architecture: arm64
- CPU Type: Raspberry Pi 4 Model B Rev 1.5
- CPU Revision: c03115
- Kernel: linux (6.12.25+rpt-rpi-v8 (WS: 64))
- Root/Admin: false
- Qt Version: 6.4.2
- Python Version: 3.11.2
- Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Here is an example of successfully using ffmpeg to capture HDMI input:
$ ffmpeg -f v4l2 -i /dev/video0 output.mp4
ffmpeg version 5.1.6-0+deb12u1+rpt3 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr --extra-version=0+deb12u1+rpt3 --toolchain=hardened --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --disable-mmal --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sand --enable-sdl2 --disable-sndio --enable-libjxl --enable-neon --enable-v4l2-request --enable-libudev --enable-epoxy --libdir=/usr/lib/aarch64-linux-gnu --arch=arm64 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-vout-drm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 67816.444307, bitrate: 165888 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn
File 'output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x559d175a00] using cpu capabilities: ARMv8 NEON
[libx264 @ 0x559d175a00] profile High 4:2:2, level 4.0, 4:2:2, 8-bit
[libx264 @ 0x559d175a00] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
Metadata:
encoder : Lavf59.27.100
Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv422p(tv, progressive), 1920x1080, q=2-31, 5 fps, 10240 tbn
Metadata:
encoder : Lavc59.37.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 1058 fps=5.1 q=23.0 size= 14848kB time=00:03:21.00 bitrate= 605.1kbits/s speed=0.96x
frame= 1059 fps=5.0 q=-1.0 Lsize= 15440kB time=00:03:31.20 bitrate= 598.9kbits/s speed=0.992x
video:15427kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.086856%
[libx264 @ 0x559d175a00] frame I:6 Avg QP: 7.24 size:584404
[libx264 @ 0x559d175a00] frame P:276 Avg QP:12.83 size: 42226
[libx264 @ 0x559d175a00] frame B:777 Avg QP:19.51 size: 819
[libx264 @ 0x559d175a00] consecutive B-frames: 1.6% 0.6% 3.4% 94.4%
[libx264 @ 0x559d175a00] mb I I16..4: 33.8% 29.4% 36.8%
[libx264 @ 0x559d175a00] mb P I16..4: 1.8% 4.2% 2.3% P16..4: 8.5% 0.9% 1.0% 0.0% 0.0% skip:81.3%
[libx264 @ 0x559d175a00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 3.2% 0.1% 0.0% direct: 0.9% skip:95.8% L0: 8.2% L1:90.5% BI: 1.3%
[libx264 @ 0x559d175a00] 8x8 transform intra:46.0% inter:67.0%
[libx264 @ 0x559d175a00] coded y,uvDC,uvAC intra: 76.4% 76.1% 66.8% inter: 2.1% 2.4% 1.0%
[libx264 @ 0x559d175a00] i16 v,h,dc,p: 40% 24% 18% 19%
[libx264 @ 0x559d175a00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 21% 30% 5% 5% 6% 5% 6% 6%
[libx264 @ 0x559d175a00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 20% 20% 7% 7% 8% 6% 7% 6%
[libx264 @ 0x559d175a00] i8c dc,h,v,p: 59% 15% 20% 6%
[libx264 @ 0x559d175a00] Weighted P-Frames: Y:0.4% UV:0.4%
[libx264 @ 0x559d175a00] ref P L0: 75.6% 13.1% 10.4% 0.9%
[libx264 @ 0x559d175a00] ref B L0: 76.0% 23.3% 0.7%
[libx264 @ 0x559d175a00] ref B L1: 71.0% 29.0%
[libx264 @ 0x559d175a00] kb/s:596.66
Exiting normally, received signal 2.
Display More