如何使用 Rygel 减少 Pulseaudio 输出的流延迟?

如何使用 Rygel 减少 Pulseaudio 输出的流延迟?

我按照以下步骤将 Pulseaudio 输出流式传输到 dlna 设备(三星电视)中赖格尔

它可以工作,但是,延迟大约为 40 秒。

我在 Ubuntu 14.10 上。这是我的~/.config/rygel.conf

[GstLaunch]
enabled=true
launch-items=myaudioflac;myaudiompeg;myaudioraw

myaudioflac-title=FLAC audio on @HOSTNAME@
myaudioflac-mime=audio/flac
myaudioflac-launch=pulsesrc device=upnp.monitor throttle-time=100 ! flacenc

有没有解决方案可以获得正确的延迟(大约 1 秒或 4 秒)?

答案1

Rygel 似乎使用了无法配置的 64K 大小的缓冲区。(来源) 这意味着即使没有压缩,也可能会因为填充这些缓冲区而延迟 1.5 秒(立体声)到 3.0 秒(单声道)。如果使用压缩技术大幅减少音频样本的大小,延迟可能会更大,例如,您可能可以将 5 秒以上的音频放入 64K 缓冲区中。

您可以尝试禁用压缩作为解决方法。

也可以修改源中的缓冲区大小为 64K并重新编译。

相关内容