/dev/video1
我设置了一个带有 v4l2loopback 模块的假摄像头。
我可以读取流ffplay
,vlc
甚至可以zoom
在我向相机发送内容时读取流ffmpeg
:
ffmpeg -re -i input-file.mp4 -f v4l2 /dev/video1
将真实相机重定向到虚拟相机也可以:
ffmpeg -i /dev/video0 -f v4l2 /dev/video1
但是,当我尝试 Guvcview (2.0.6) 时,仍然出现错误“无效像素格式”,然后出现错误“无效分辨率索引”。Guvcview 与真实相机配合使用(video0
)。
因此我使用以下命令检查了两个摄像头v4l2-ctl --list-formats
:
video0
(真实相机)ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUYV 4:2:2 Index : 1 Type : Video Capture Pixel Format: 'MJPG' (compressed) Name : Motion-JPEG
video1
(假的)ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUYV 4:2:2
它们都接受像素格式YUV 4:2:2
。因此我将其传递-pix_fmt yuyv422
给 ffmpeg(并尝试了其他格式)以明确将其用作像素格式输出(因此在参数之后-i input-y
),但它也没有起作用。
我是否遗漏了什么?