google-chrome - 谷歌浏览器无法检测到 v4l2loopback 设备
问题描述
我正在尝试使用ffmpeg和v4l2loopback传输我的屏幕,在运行命令时更多:
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
如果有人可以帮助我,请提前感谢您!
解决方案
加载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 创建
推荐阅读
- android - 单击 Samsung Galaxy Tab 9.0 版 WebView 中的 SELECT 标记会使应用程序崩溃
- ios - 如何存储传感器数据以避免海量数据泛滥?
- detox - detox react native:支持在测试规范 js 文件中导入 es6
- yocto - 在 Ubuntu 18.04 上制作 yocto 的 image-fsl-qt5
- python - 根据行中的平均元素数删除列
- r - 用于按天迭代列中时间戳的出现的函数
- asynchronous - 取消未来/流/任务,未来收集处理
- php - PSR4 子目录与子命名空间名称的大小写不匹配
- php - 身份验证后重定向期间请求挂起
- css - css flex - 在 div 之间制造间隙