如何使用 FFMPEG 使计算机的 USB 网络摄像头可供多个进程使用?

如何使用 FFMPEG 使计算机的 USB 网络摄像头可供多个进程使用?

我有一台连接了 USB 网络摄像头的电脑。我目前使用 OBS 全天候​​向远程流媒体服务进行直播。

但是,如果我尝试从同一台相机使用 ffmpeg 或 opencv 来实现不同的目的,/dev/video0当 OBS 进行流式传输时将不可用/繁忙。

我如何使用 ffmpeg 来制作/dev/video0网络摄像头的供稿可用(未压缩/原始)在同一台计算机上运行的多个客户端/进程,同时最好将耗费资源的编码/解码/重新编码的需求降至最低?(PC 是半土豆)

ffplay -f video4linux2 -list_formats 全部/dev/video0

给我:

[video4linux2,v4l2 @ 0x7ffa10000bc0] Raw       :     yuyv422 :           YUYV 4:2:2 : 640x480 160x120 176x144 320x176 320x240 352x288 432x240 544x288 640x360 752x416 800x448 800x600 864x480 960x544 960x720 1024x576 1184x656 1280x720 1280x960
[video4linux2,v4l2 @ 0x7ffa10000bc0] Compressed:       mjpeg :          Motion-JPEG : 640x480 160x120 176x144 320x176 320x240 352x288 432x240 544x288 640x360 752x416 800x448 800x600 864x480 960x544 960x720 1024x576 1184x656 1280x720 1280x960

一些可能相关的说明:

此外,如果有比使用 ffmpeg 更好的软件解决方案来实现此目的,我也会很感激任何有关此方面的提示。

相关内容