我有一个运行 Raspbian 10 Buster 的 Raspberry Pi 4 B + Raspberry Pi 高品质相机。我需要使用 v4l2loopback 将视频源从物理相机 (/dev/video0) 复制到虚拟设备 (/dev/video1) 以便 mjpg-streamer 和 v4l2rtspserver 同时访问它。
我加载了 v4l2loopback 模块:
sudo modprobe v4l2loopback
然后将视频从 /dev/video0 复制到 /dev/video1:
ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 -vcodec copy -f v4l2 /dev/video1
启动 mjpg-streamer 并得到以下错误:
./mjpg_streamer -i "./input_uvc.so -d /dev/video1" -o "./output_http.so"
MJPG Streamer Version: git rev: 85f89a8c321e799fabb1693c5d133f3fb48ee748
i: Using V4L2 device.: /dev/video1
i: Desired Resolution: 640 x 480
i: Frames Per Second.: -1
i: Format............: JPEG
i: TV-Norm...........: DEFAULT
Unable to query buffer: Invalid argument
Init v4L2 failed !! exit fatal
i: init_VideoIn failed
在 /dev/video0 上启动 mjpg-streamer 可以完美运行。
我花了几个小时试图找到解决方案。请帮忙。