通过终端将真实网络摄像头重定向到虚拟网络摄像头

通过终端将真实网络摄像头重定向到虚拟网络摄像头

有没有办法从命令行将真实网络摄像头重定向到虚拟网络摄像头,例如使用v4l2loopback带有的模块ffmpeg

细节

我有一个旧的网络摄像头,它可以与大多数软件(vlc、cheese 等)兼容,但不能与其他软件(Skype)兼容。

使其与此类软件配合使用的一种可能的解决方法是使用该v4l2loopback模块将其重定向到虚拟网络摄像头,就像网络摄像头,但我需要从命令行执行此操作,例如通过ffmpeg

我确信这ffmpeg也是可能的,但由于真正的网络摄像头很少重定向到虚拟网络摄像头,我在网上找不到例子(我找到的唯一例子,比如这个,将屏幕截图或现有视频重定向到虚拟网络摄像头)。

答案1

基于这个答案(问题中已经提到)我想我已经找到了自己的解决方案,并且它可以与 Skype 一起使用!

假设真正的网络摄像头位于/dev/video0。当你运行

modprobe v4l2loopback

该模块创建第二个(虚拟)网络摄像头,例如在 中/dev/video1。此时,只需执行:

ffmpeg -i /dev/video0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video1

并且新的虚拟网络摄像头也已准备好通过 Skype 来使用和选择。

答案2

对于我来说我必须LD_PRELOAD像这样放置:

LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so" ffmpeg -i /dev/video0 -vcodec rawvideo -pixel_format rgb24 -vsync 2 -threads 0 -f v4l2 /dev/video1

精度:适用于 Q4OS

相关内容