创建虚拟麦克风Ubuntu16.04并从RTSP IP摄像头向其中传输音频

创建虚拟麦克风Ubuntu16.04并从RTSP IP摄像头向其中传输音频,ubuntu,ffmpeg,video-streaming,audio-streaming,ip-camera,Ubuntu,Ffmpeg,Video Streaming,Audio Streaming,Ip Camera,我需要在Ubuntu 16.04机器上创建虚拟网络摄像头和虚拟麦克风,以便通过我的web浏览器使用WebRTC在web应用程序中使用 我需要从IP摄像机(RTSP流)向这两个虚拟设备提供视频和音频。 在VLC中直接播放RTSP流可以很好地处理视频和音频 为此,我用video4linux2创建了一个/dev/video1。 我能够将IP摄像机馈送到/dev/video1 ffmpeg-irtsp://ip_address:554/streaming/channels/101/ -f v4l2 /开

我需要在Ubuntu 16.04机器上创建虚拟网络摄像头和虚拟麦克风,以便通过我的web浏览器使用WebRTC在web应用程序中使用

我需要从IP摄像机(RTSP流)向这两个虚拟设备提供视频和音频。 在VLC中直接播放RTSP流可以很好地处理视频和音频

为此,我用video4linux2创建了一个/dev/video1。 我能够将IP摄像机馈送到/dev/video1

ffmpeg-irtsp://ip_address:554/streaming/channels/101/ -f v4l2 /开发/视频1

如果我查看VLC播放器,我可以选择/dev/video1作为视频设备,但我只有“hw:0,0”作为音频设备,这是我的内置麦克风


如何将这样的RTSP流正确地馈送到虚拟网络摄像头和虚拟麦克风?您需要某种环回音频驱动程序。如果要在Alsa级别执行此操作,可能会丢失
snd aloop
模块

如果您的目标支持Pulseaudio,您可以添加一个空接收器,并使用其监视器源从中进行录制

pactl load-module module-null-sink sink_name=video1
然后将监视器源命名为
video1.source

然后,您需要从FFmpeg添加额外的输出。这可能很简单,只需在你现在拥有的东西的末尾添加类似于
-f pulse“video1”
的东西。

当我添加
-f pulse“video1”
时,声音直接通过我的扬声器(内置音频模拟立体声显示器)而不是虚拟麦克风播放,也许你知道为什么?下面是我用来通过ALSA虚拟麦克风播放声音的命令:
ffmpeg-re-I webcam\u record.mp4-f v4l2/dev/video0-f ALSA hw:1,1
。当我用VLC测试结果时,它不起作用,我必须用GuvView进行测试。相关: