В настоящее время я транслирую на аудиоустройство Chromecast с помощью stream2chromecast на lubuntu 16.04 mini pc. Проблема в том, что я не могу сохранить качество звука при потоковой передаче выходных данных через смелый медиаплеер. То, что я слышу, далеко от того, что воспроизводится, и я не смог понять, почему. Ниже приведена конфигурация ALSA, которую я использую для потоковой передачи на устройство chromecast.
pcm.!default { type plug slave.pcm writeFile } pcm.writeFile { type file slave.pcm "hw:0,0" format "wav" file "| ffmpeg -f wav -i pipe: -af aresample=resampler=soxr -acodec pcm_s24le -hide_banner -f wav pipe: | stream2chromecast.py -" }
Звук, который я испытываю, похож на звук удушья. Средние частоты слабые, вокал звучит несколько нереально, как будто сигнал не полный.
Я также попытался выполнить потоковую передачу одного файла, используя только один инструмент, т. Е. Без использования alsa или звуковой карты, и играл с разными размерами буфера (1024, 8192, 16384 и 262144), но это не улучшилось. Было только небольшое улучшение с размером буфера 262144.
Несколько мыслей о том, почему ..
Сторона отправителя отправляет аудиоданные слишком быстро, так что сеть «перегружена» и не может поспевать за надежной передачей данных, поэтому некоторые пакеты отбрасываются. Тем не менее, ffmpeg помогает поддерживать постоянный битрейт, и скорость передачи данных 576 КБ или 768 КБ (32 бита) не должна быть проблемой для моей пропускной способности 10/100 Мбит / с. Кроме того, и устройство Chromecast, и мой ноутбук подключены к сети, а не по Wi-Fi.
Будем весьма благодарны за любые вклады или помощь специалиста по решению этой проблемы. Заранее спасибо!
Примечание: stream2chromecast был изменен для работы с stdin, так как в настоящее время он не поддерживает его.