如何使用 ffmpeg 在 Docker 容器内录制 Firefox 等应用程序的音频? 我找到了如何将pulseaudio转发到主机的示例 - netflix , skype .
当我尝试使用 pactl 时:
pactl list sources
或者
docker exec -it <container-id> bash
apt-get install pulseaudio
pactl load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/.pulse-socket
我收到错误:
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
这也失败了
ffmpeg -f pulse -i default /tmp/pulse.wav
最佳答案
您不需要在 docker 容器中使用声卡 - 脉冲音频将为您创建一个空接收器/源,如果您愿意,您也可以添加一个环回设备。
但是!如果我使用需要 X 的脉冲音频库,我会遇到连接错误。我使用了 Xvfb。并做了这样的事情:
Xvfb :0 -screen 0 1600x1200x24+32 -ac -fbdir /shared_volume&
pulseaudio --start --disallow-exit -vvv --log-target=newfile:"$LOG_DIR/pulseaudio.log" --daemonize&
我只需要检测何时播放声音,但是 this guide似乎对如何使用环回设备来记录内容进行了很好的详细介绍。
关于ffmpeg - 在 docker 容器中录制本地音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27637465/