当使用此命令生成视频流时,我可以在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 9月30日星期一14:19:46 UTC 2019 x86_64 x86_66 x86_6 GNU/Linux
发布信息为:LSB版本::core-4.1-amd64:core-4.1-noarch:cx-4.1-amd64:cx-4.1-noarch:桌面4.1-amd64:桌面4.1-noach:语言-4.1-amd64:语言-4.1-oarch:打印-4.1-ad64:打印-4.1-板分发服务器ID:CentOS说明:CentOS Linux版本7.7.1908(核心(版本:7.7.1908代号:核心
问题很可能是某些软件(可能包括chrome
(对支持的颜色格式有点挑剔。
您的ffmpeg
命令没有指定任何颜色格式,所以我想它将使用最容易从NDI流转换为的格式。NDI支持许多不同的格式(包括相当奇特的格式,如P216
(,它可能会选择chrome
不可用的输出格式。
此外,gstreamer管道使用了一种非常特殊的格式(I420
(。尝试在使用ffmpeg时强制执行相同的格式,例如使用类似-vf format=pix_fmts=yuv420p
的格式
另请参阅https://github.com/umlaeute/v4l2loopback/wiki/Colorspace-Issues