如何使用ffmpeg在docker容器中录制像Firefox这样的应用程序的音频?我已经找到了如何将脉冲音频转发到主机的示例- 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发布于 2015-07-17 08:37:14
您不需要在docker容器中使用声卡- pulse audio将为您创建一个空的接收器/信源,如果您愿意,您还可以添加一个环回设备。
然而!如果我使用一个需要X的pulse音频库,我会遇到连接错误。我使用的是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似乎很好地详细介绍了如何使用回送设备来录制内容。
发布于 2014-12-24 22:44:22
默认情况下,您无法访问容器内的声卡。如果您将--privileged标志传递给docker run,它应该可以工作。请注意,这将授予容器在主机上的完全权限,您可能希望将其限制为一组功能。
欲了解更多信息,请访问:https://docs.docker.com/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration
https://stackoverflow.com/questions/27637465
复制相似问题