У меня три сервера Icecast, все транслируют один и тот же контент. Примерно через две недели я получил от некоторых пользователей сообщение о том, что они больше не могут слушать поток. Их браузер пытается загрузить поток, но он никогда не начинает играть. Я начал немного разбираться с этим и смог воспроизвести проблему.
Интересно, что эта проблема возникает не на всех устройствах. У меня здесь два компьютера, оба на Windows 10, оба работают на последней Firefox. Можно транслировать без проблем, начать скачивать аудиоданные, но никогда не воспроизводить их. Открытие точки монтирования Icecast в VL C работает во всех случаях, и поток начинается в течение секунды или около того. На устройстве, которое не воспроизводит поток в Firefox, оно также не работает в Chrome. С другой стороны, устройства, которые могут передавать в Firefox, также находятся в Chrome. Я предполагаю, что это как-то связано с ОС ..?
Я запустил Wireshark на одном P C, на который повлияла проблема, и смог увидеть, что браузер начинает загружать аудиоданные из Сервер Icecast, но вместо того, чтобы играть на нем, он кеширует его. Я считаю, что браузер как-то «думает», что это загрузка, а не поток. Когда я перезапускаю процесс Icecast на сервере во время этого периода кэширования, кэширование браузера прекращается и он начинает воспроизводиться - но только на несколько секунд, пока не будет достигнут конец кэшированного потока.
I Предположим, что некоторые браузеры ждут какой-то EOF вместо простого воспроизведения потока. Конечно, EOF никогда не отправляется в прямом потоке.
Вот ссылка на точку монтирования одного из серверов Icecast: http://185.80.187.35/live
Кажется что не имеет значения, какой из трех серверов Icecast вы используете. Если один работает, два других также работают. Если этого не произойдет, открытие потока с других серверов также не удастся.
Я понятия не имею, что там происходит. Поскольку проблема возникла, ничего в настройке не изменилось. Я пытался переключить аудиоформат с MP3 на OGG, но это не решило проблему - поэтому я переключился на MP3. В настоящее время я транслирую на 64 кбит / с. Я не думаю, что это может быть проблемой, поскольку это работало годами, но может ли быть так, что такой низкий битрейт больше не поддерживается некоторыми браузерами? Должен ли я повысить битрейт? Может быть, добавить несколько заголовков HTTP в конфигурацию Icecast? Я в замешательстве и у меня заканчиваются идеи.
PS: Я только что заметил, что у меня та же проблема в Edge и IE. Кажется, это зависит от P C, а не от браузера.