Stream Genymotion中的v4l2loopback SMPTE颜色条
我正在Ubuntu 18.04机器上运行Stream Genymotion中的v4l2loopback SMPTE颜色条,stream,genymotion,v4l2loopback,Stream,Genymotion,V4l2loopback,我正在Ubuntu 18.04机器上运行v4l2loopback,并安装了virtualbox 我使用下面的命令初始化环回摄像头: sudo modprobe v4l2loopback video_nr=2 card_label="Hello world" exclusive_caps=1 devices=1 v4l2-ctl --device=/dev/video2 --all 上述第二个命令的输出为: Driver Info (not using libv4l2): Driver
v4l2loopback
,并安装了virtualbox
我使用下面的命令初始化环回摄像头:
sudo modprobe v4l2loopback video_nr=2 card_label="Hello world" exclusive_caps=1 devices=1
v4l2-ctl --device=/dev/video2 --all
上述第二个命令的输出为:
Driver Info (not using libv4l2):
Driver name : v4l2 loopback
Card type : Hello world
Bus info : platform:v4l2loopback-000
Driver version: 5.3.18
Capabilities : 0x85208000
Video Memory-to-Memory
Read/Write
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x05208000
Video Memory-to-Memory
Read/Write
Streaming
Extended Pix Format
Priority: 0
Format Video Output:
Width/Height : 416/720
Pixel Format : 'YU12'
Field : None
Bytes per Line : 416
Size Image : 449280
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Limited Range)
Flags :
Streaming Parameters Video Capture:
Frames per second: 30.000 (30/1)
Read buffers : 2
Streaming Parameters Video Output:
Frames per second: 30.000 (30/1)
Write buffers : 2
User Controls
keep_format 0x0098f900 (bool) : default=0 value=0
sustain_framerate 0x0098f901 (bool) : default=0 value=0
timeout 0x0098f902 (int) : min=0 max=100000 step=1 default=0 value=0
timeout_image_io 0x0098f903 (bool) : default=0 value=0
现在我可以从我的桌面输入
sudo ffmpeg -f x11grab -r 25 -s 416x768 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video2
或我的流OBS:
ffmpeg -f flv -listen 1 -i rtmp://localhost:1935/live/app -f v4l2 /dev/video2
两者都很完美;因为我可以使用WebRTC
、Chrome
、Firefox
和ffplay
查看输出:
ffplay /dev/video2
我的机器还有一个运行在/dev/video0
上的网络摄像头,它与genymotion
完美配合
但当我选择“Hello world”时,genymotion
会输出噪声(SMPTE颜色条)
我的手机怎么了?我发现UVC输出和v4l2loopback之间存在差异。您能提供Genymotion Emulator的日志吗,位于这里
~/.Genymobile/Genymotion/deployed//Genymotion player.log
,这里可能有一些有趣的见解。这里有一些猜测:1-Genymotion查找我的配置没有提供的摄像头元数据。2-v4l2输出格式不是最佳选择。3-Genymotion与UVC摄像头进行某种类型的握手以打开它们。作为更新,我必须说,我刚刚安装了AnBox以检查是否可以连接环回摄像头,我发现AnBox不支持摄像头!它还基于x86 arch。○ [调试]“Hello world(/dev/video5)”被CameraView(0x1682350)获取计数:1○ [警告]“摄像头Hello world(/dev/video5)状态:2”○ [警告]“摄像头Hello world(/dev/video5)状态:4”○ [警告]无法查询参数信息:“无效参数”○ [警告]“摄像头Hello world(/dev/video5)状态:6”○ [警告]摄像头错误:“内部数据流错误。”