首页 > 解决方案 > 谷歌浏览器无法检测到 v4l2loopback 设备

问题描述

我正在尝试使用ffmpegv4l2loopback传输我的屏幕,在运行命令时更多:

sudo modprobe v4l2loopback devices=1 video_nr=2 card_label="Camera Loopback"

ffmpeg -f x11grab -framerate 30 -video_size 1366x768 -i :0.0 -f v4l2 /dev/video2

chrome 没有检测到设备:/dev/video2,我尝试了一切让它工作,但 chrome 没有检测到它,我尝试添加过滤器:

-vf 格式=pix_fmts=yuv420p

但仍然没有。

Chrome:87.0.4280.66(64 位)
操作系统:LinuxMint 19.3
v4l2loopback:0.12.3

如果有人可以帮助我,请提前感谢您!

标签: google-chromev4l2v4l2loopback

解决方案


加载videodev模块:

sudo modprobe videodev

加载v4l2环回:

sudo modprobe v4l2loopback devices=1 video_nr=2 Exclusive_caps=1 card_label="ExternalWebCam"

重要细节: Chrome 只接受yuv420p像素格式的缓冲区,这很有意义,因为相机具有这种像素格式作为标准。

使用示例:

ffmpeg -f x11grab -r 30 -s 1366x768 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video2

此命令将屏幕流式传输到 /dev/video2 设备,由 v4l2loopback 创建


推荐阅读