发送到 v4l2loopback 视频设备的 FFmpeg 输出不会被 guvcview 读取

发送到 v4l2loopback 视频设备的 FFmpeg 输出不会被 guvcview 读取

/dev/video1我设置了一个带有 v4l2loopback 模块的假摄像头。

我可以读取流ffplayvlc甚至可以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),但它也没有起作用。

我是否遗漏了什么?

相关内容