0

使用此命令生成视频流时,我可以在 chrome 中看到我的 v4l2loopback 视频设备:

gst-launch-0.10 -v videotestsrc ! "video/x-raw-yuv,width=640,height=360,framerate=30/1,format=(fourcc)I420" ! v4l2sink device=/dev/video0

但我正在尝试使用 ffmpeg 获取 NDI 流并将其输出到 v4l2loopback 设备,其命令如下:

ffmpeg -f libndi_newtek -extra_ips "10.4.0.86" -i "ME-NDI002 (TEST)" -f v4l2 /dev/video0

当我使用 ffmpeg 作为生产者时,我可以在 Firefox 和 Zoom 中看到该设备,但在 Chrome 中看不到。我需要做些什么来让 ffmpeg 与 Exclusive_caps 选项配合得很好吗?

我正在使用 v4l2loopback 驱动程序版本 0.12.5

Linux 内核是:Linux dva 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

并且发布信息是: LSB 版本: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64 :languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch 发行商编号:CentOS 描述:CentOS Linux 发行版 7.7.1908 (Core) 发行版:7.7.1908 代号:Core

4

1 回答 1

1

问题很可能是某些软件(可能包括chrome)对支持的颜色格式有点挑剔。

您的ffmpeg命令没有指定任何颜色格式,所以我想它会采用最容易从 NDI 流转换为的颜色格式。NDI 支持许多不同的格式(包括非常奇特的P216格式,例如chrome.

otoh,您的 gstreamer 管道使用非常特定的格式 ( I420)。在使用 ffmpeg 时尝试执行相同的格式,例如使用类似的东西-vf format=pix_fmts=yuv420p

另请参阅https://github.com/umlaeute/v4l2loopback/wiki/Colorspace-Issues

于 2020-10-07T21:58:00.107 回答