如何使用ffmpeg将音频流重定向到虚拟pulseaudio麦克风?
如何使用ffmpeg创建虚拟pulseaudio麦克风 我有一个如何使用ffmpeg将音频流重定向到虚拟pulseaudio麦克风?,audio,video,ffmpeg,audio-recording,pulseaudio,Audio,Video,Ffmpeg,Audio Recording,Pulseaudio,如何使用ffmpeg创建虚拟pulseaudio麦克风 我有一个mkv文件,使用v4l2我可以将视频流重定向到虚拟网络摄像头设备,这里是/dev/video0 ffmpeg -i myfile.mkv -f v4l2 /dev/video0 现在,我想将音频流重定向到虚拟pulseaudio麦克风(而不是输出设备)。如何实现这一点?创建一个虚拟输出设备,并从其监视器创建一个虚拟源 pactl load-module module-null-sink sink_name="virtua
mkv
文件,使用v4l2我可以将视频流重定向到虚拟网络摄像头设备,这里是/dev/video0
ffmpeg -i myfile.mkv -f v4l2 /dev/video0
现在,我想将音频流重定向到虚拟pulseaudio麦克风(而不是输出设备)。如何实现这一点?创建一个虚拟输出设备,并从其监视器创建一个虚拟源
pactl load-module module-null-sink sink_name="virtual_speaker" sink_properties=device.description="virtual_speaker"
pactl load-module module-remap-source master="virtual_speaker.monitor" source_name="virtual_mic" source_properties=device.description="virtual_mic"
向“虚拟扬声器”播放的任何声音都将发送到“虚拟麦克风”
您可以使用-f pulse
直接播放来自ffmpeg的声音,但将其与-re
一起使用(您希望将视频播放到虚拟网络摄像头)似乎会给音频增加几秒钟的延迟
在我的测试中,这也使得视频输出滞后(仍然显示它以1x的速度运行)。我能够获得平滑音频和视频的唯一方法是并行运行两个ffmpeg实例。。。这不是一个很好的解决方案
ffmpeg -nostdin -re -i myfile.mkv -f v4l2 /dev/video0 &
PULSE_SINK=virtual_speaker ffmpeg -i myfile.mkv -f pulse "stream name"
kill $!
才能在后台运行-需要nosdin
可用于任何音频播放器PULSE\u SINK=虚拟扬声器
只是音频流将获得的显示名称“流名称”
kill$如果音频编码器退出,代码>将关闭视频编码器