我需要在Ubuntu 16.04机器上创建虚拟网络摄像头和虚拟麦克风,以便通过我的网络浏览器使用WebRTC在Web应用程序中使用 .
我需要从IP摄像机(RTSP流)向这2个虚拟设备提供视频和音频 . 直接在VLC中播放RTSP流可以正常使用视频和音频 .
为此,我使用video4linux2创建了一个/ dev / video1 . 我能够将IP摄像机送到/ dev / video1 .
ffmpeg -i rtsp:// ip_address:554 / streaming / channels / 101 / -f v4l2 / dev / video1
如果我查看VLC播放器,我可以选择/ dev / video1作为视频设备,但我只有“hw:0,0”作为音频设备,这是我的内置麦克风 .
How to properly feed such RTSP stream to both virtual webcam and virtual microphone?
1 回答
你需要某种环回音频驱动程序 . 如果要在Alsa级别执行此操作,则可能会丢失
snd-aloop
模块 . https://www.alsa-project.org/main/index.php/Matrix:Module-aloop#aloop_driver如果您的目标目标支持Pulseaudio,您可以添加一个空接收器并使用其监视器源从中进行记录 .
然后将监视器源命名为
video1.source
.https://wiki.archlinux.org/index.php/PulseAudio/Examples
然后,您需要从FFmpeg添加一个额外的输出 . 这可能就像添加
-f pulse "video1"
之类的内容一样简单到现在的结尾 .