首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在docker容器中录制本地音频

在docker容器中录制本地音频
EN

Stack Overflow用户
提问于 2014-12-24 21:11:13
回答 2查看 3.5K关注 0票数 4

如何使用ffmpeg在docker容器中录制像Firefox这样的应用程序的音频?我已经找到了如何将脉冲音频转发到主机的示例- netflixskype

当我尝试使用pactl时:

代码语言:javascript
复制
pactl list sources

代码语言:javascript
复制
docker exec -it <container-id> bash
apt-get install pulseaudio
pactl load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/.pulse-socket

我收到一个错误:

代码语言:javascript
复制
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

这也会失败

代码语言:javascript
复制
ffmpeg -f pulse -i default /tmp/pulse.wav
EN

回答 2

Stack Overflow用户

发布于 2015-07-17 08:37:14

您不需要在docker容器中使用声卡- pulse audio将为您创建一个空的接收器/信源,如果您愿意,您还可以添加一个环回设备。

然而!如果我使用一个需要X的pulse音频库,我会遇到连接错误。我使用的是Xvfb。做了这样的事情:

代码语言:javascript
复制
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似乎很好地详细介绍了如何使用回送设备来录制内容。

票数 2
EN

Stack Overflow用户

发布于 2014-12-24 22:44:22

默认情况下,您无法访问容器内的声卡。如果您将--privileged标志传递给docker run,它应该可以工作。请注意,这将授予容器在主机上的完全权限,您可能希望将其限制为一组功能。

欲了解更多信息,请访问:https://docs.docker.com/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27637465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档