在 mediastreamer2 中克隆网络摄像头流

Clone WebCam stream in mediastreamer2

我正在使用 mediastreamer2 从网络摄像头通过 RTP 连接到另一个系统的视频流。

我想要 2 个(或更多)输出视频流,第一个 初始化工作正常,但第二个流抱怨网络摄像头正忙。

libv4l2: error setting pixformat: Device or resource busy

您有任何提示,and/or 想法如何克隆网络摄像头视频流或其他实现 2 个视频流的方法吗?

提前致谢! Mediastreamer2 是用 c 编写的,我正在使用 Ubuntu 和 Qt 进行编码。

问候

好的,我有一个解决方案:

  1. Loopback 是制作虚拟网络摄像头的好包。

    sudo apt-get install v4l2loopback-dkms //to install
    sudo modprobe v4l2loopback devices=X // X = number of virtual cams

  2. 将视频源从真实网络摄像头复制到虚拟(check this page

    ffmpeg -f video4linux2 -s 352x288 -i /dev/video0 -codec copy -f v4l2 /dev/video1 -codec copy -f v4l2 /dev/video2 // this copys from video0 to the VirtualCams video1

  3. 通过选择虚拟摄像头启动流

    MSWebCam *cam = ms_web_cam_manager_get_cam(m,"V4L2: /dev/video1");