DhP*_*DhP 6 audio linux sound-card pulse-audio alpine-linux
我有一个运行 Alpine Linux 的 Docker。根本没有硬件音频设备。
我已经设法让pulseaudio在用户下看起来运行良好。
我一直在尝试让 PA 用作虚拟声卡,目的是使用 ffmpeg 从 docker 流式传输音频。但到目前为止还没有运气。而且我还没有遇到过不涉及缺少音频硬件的机器的例子。
我主要关心的是让 VICE (x64,Commodore 64 模拟器)正确使用“脉冲”而不是“虚拟”。我已经用 '--with-pulse' 编译了 VICE,并且'pulse'确实出现在设置菜单中。
但是,当我切换到 'pulse' 而不是 'dummy' 时,x64 抱怨它无法初始化它,然后禁用它自己的声音输出。
不过 pactl和pacmd似乎在控制pulseaudio服务器方面没有问题。
我已经尝试了以下(以及模块管道)
$ pacmd load-module module-null-sink sink_name=VirtSoundCard sink_properties=device.description=Virtual-Sound-Card
$ pacmd set-default-sink VirtSoundCard
Run Code Online (Sandbox Code Playgroud)
虽然到目前为止没有任何运气。所以希望听到任何可能知道如何做到的人的来信,而我则花了整晚的时间来尝试。
我正在使用 atm 的“default.pa”:https : //bitbucket.org/duckhuntpr0/pyvice/src/pyvice_base/src/fs/home/pyvice/default.pa
Pulseaudio 可以创建各种接收器(您称之为“虚拟声卡”,但接收器用于输出,源用于输入,并且它们还与真实的声音硬件相关联)。
查看模块列表,其中包括接收器和语法示例。您可以选择使用RTP/SDP、ROAP。
您还可以通过本机协议访问主机上的pulseaudio服务器,在这种情况下,您不需要在docker客户端中运行pulseaudio服务器。
到目前为止还没有必要使用ffmpeg
。如果你确实想使用ffmpeg
,你也可以创建一个空接收器,并将其监视源连接起来ffmpeg
。这最接近您对“虚拟声卡”的想法,但它也是效率最低的替代方案。
最后,我不太明白为什么你必须在 docker 镜像中运行 VICE (模拟器)——因为它已经是一个模拟器,你可以在主机上运行它;模拟的 C64 程序不存在做坏事的危险。
归档时间: |
|
查看次数: |
6758 次 |
最近记录: |