Вторая ссылка имеет больший буфер для очистки.
Этот график показывает пропускную способность.Первый косяк - когда я тестировал первый URL на stream.funradio.sk:8000
.Вторая ошибка - когда я тестировал второй URL-адрес на stream.expres.sk:8000
.
. Вы заметите, что в обоих случаях в начале соединения имеется пакет данных.Они предназначены для максимально быстрого заполнения буферов проигрывателя и немедленного начала воспроизведения.Вы также заметите, что второй поток имеет гораздо больше этого в начале соединения.Это связано с тем, что у него был готов к отправке буфер аудиоданных.
Размер буфера настраивается для каждого потока.Люди, которые настраивали второй поток, думали увеличить этот буфер, который позволяет быстрые запуски для слушателей, что, как было обнаружено, критически важно для удержания слушателей.Единственный реальный компромисс здесь - латентность.Этот второй поток эффективно предварительно записал несколько секунд аудио для отправки новым клиентам.Для большинства интернет-радиостанций эта задержка вообще не является проблемой.Намного лучше, чтобы этот поток начинался быстро, и были бы более надежными для слушателей с пятнистыми подключениями.
Я ценю любую помощь или идею, как это исправить.
Если не считать прокси потоков, с этим мало что можно поделать.Устройства Android и Chromecast особенно требовательны к потокам MP3 и требуют для синхронизации большого количества данных.
Кроме того, алгоритм, который использует Chrome, чтобы определить, достаточно ли заполнен буфер для воспроизведения без остановки, не знает.вы даете ему радиопоток, видите снижение скорости и еще больше буферизируете перед началом.Эту проблему можно обойти, если полностью закодировать собственный проигрыватель, который буферизует данные и затем передает их в декодер, а не просто дает URL-адрес базовой системе.В Интернете это можно сделать с помощью расширений Media Source Extensions.Для Android у меня нет большого опыта там.