我目前正在使用 lubuntu 16.04 mini pc 上的 stream2chromecast 向 Chromecast 音频设备进行流式传输。我遇到的问题是,在通过 audacious media player 流式传输 alsa 输出时,我无法保持音频保真度。我听到的声音与正在播放的声音相差甚远,但一直无法找出原因。以下是我用来向 chromecast 设备进行流式传输的 ALSA 配置。
pcm.!默认 { 插头类型 从属.pcm 写入文件 } pcm.写入文件 { 类型文件 从属.pcm“hw:0,0” 格式“wav” 文件“| ffmpeg -f wav -i 管道:-af aresample=resampler=soxr -acodec pcm_s24le -hide_banner -f wav 管道:| stream2chromecast.py -” }
我听到的声音就像被什么东西堵住了一样。中音很弱,人声听起来有些不真实,就像信号不饱满一样。
我也尝试过单独使用该工具(即不使用 alsa 或声卡)传输单个文件,并使用不同的缓冲区大小(1024、8192、16384 和 262144)播放,但效果没有改善。只有缓冲区大小为 262144 时才略有改善。
关于为什么的一些想法......
发送方发送音频数据的速度太快,导致网络“不堪重负”,无法跟上可靠的数据传输,因此一些数据包被丢弃。但是,ffmpeg 确实有助于保持恒定的比特率,并且 576kB 或 768kB(32 位)的数据速率对于我的 10/100Mbps 吞吐量来说应该不是问题。此外,chromecast 设备和我的笔记本电脑都是有线的,而不是 Wi-Fi。
任何关于如何解决此问题的意见或专家帮助都将不胜感激。提前致谢!
注意:stream2chromecast 已被修改为与 stdin 一起使用,因为它目前不支持它。