Google chrome 无法检测到 v4l2loopback 设备
Google chrome cannot detect v4l2loopback device
我正在尝试使用 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 format=pix_fmts=yuv420p
但还是没有。
Chrome: 87.0.4280.66 (64bit)
OS: LinuxMint 19.3
v4l2loopback: 0.12.3
如果有人能帮助我,先谢谢了!
注意参数“exclusive_caps”,这是在 Chrome 中工作所必需的,以我的脚本为例,它创建了三个摄像头
#!/bin/sh
MODULE_OPTIONS="devices=3 video_nr=11,12,13 exclusive_caps=1,1,1 card_label=X_11,X_12,X_13"
rmmod v4l2loopback 2> /dev/null
modprobe videodev
insmod ./v4l2loopback.ko ${MODULE_OPTIONS}
加载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
创建
我正在尝试使用 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 format=pix_fmts=yuv420p
但还是没有。
Chrome: 87.0.4280.66 (64bit)
OS: LinuxMint 19.3
v4l2loopback: 0.12.3
如果有人能帮助我,先谢谢了!
注意参数“exclusive_caps”,这是在 Chrome 中工作所必需的,以我的脚本为例,它创建了三个摄像头
#!/bin/sh
MODULE_OPTIONS="devices=3 video_nr=11,12,13 exclusive_caps=1,1,1 card_label=X_11,X_12,X_13"
rmmod v4l2loopback 2> /dev/null
modprobe videodev
insmod ./v4l2loopback.ko ${MODULE_OPTIONS}
加载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
创建