Icecast: пауза в начале трансляции на Android

У меня есть сервер Icecast, работающий с Liquidsoap для потоковой передачи интернет-радио, и я заметил, что есть проблема с получением музыки на некоторых устройствах Android (например, вкладка Samsung Galaxy) - после нескольких секунд буферизации музыки воспроизведение музыки начинается примерно на секунду, затем резко останавливается, затем еще несколько секунд тишина, и только после этого начинает играть нормально. На некоторых других устройствах Android, например HTC desire - такого не происходит - музыка начинает нормально воспроизводиться после буферизации. Вот пример рассматриваемого потока: http://rdsradio.ru:8000/4th.mp3

Это происходит, когда я открываю ссылку в браузере (Google Chrome) на устройстве Android. С тем же результатом я подключился к потоку Icecast из приложения для Android, которое сейчас разрабатываю, используя класс android.media.MediaPlayer: mediaPlayer.setDataSource("http://rdsradio.ru:8000/4th.mp3");

Кроме того, даже на этих проблемных устройствах я мог нормально подключаться и слушать потоки других радиоисточников Icecast, например http://dancewave.hopto.org:9990/dance.mp3 - вот почему я думаю, что что-то не так в моих настройках Icecast + Liquidsoap - из-за чего музыка перестает играть вначале.

<burst-on-connect>1</burst-on-connect>
<burst-size>64000</burst-size>

Я попытался изменить эти параметры в /etc/icecast2/icecast.xml, например, увеличить размер пакета до 10-20 раз или установить для параметра Burst-on-connect значение 0, но не заметил никакой разницы (я запускаю /etc/init.d/icecast2 reload после изменение параметров для перезагрузки конфигурации).

Есть идеи - как исправить такое поведение?

ОБНОВЛЕНО: я попытался открыть поток в проигрывателе VLC на Android, и он работал без проблем, поэтому кажется, что проблема в использовании android.media.MediaPlayer (вероятно, встроенный аудиоплеер HTML5 в Google Chrome использует ту же библиотеку) . Я попробую использовать в приложении другой медиаплеер.


person Alexey Timokhin    schedule 14.10.2015    source источник
comment
Какой плеер вы используете на Android? Вы, кажется, не указываете это.   -  person TBR    schedule 14.10.2015
comment
@TBR добавил примечание к посту. Спасибо!   -  person Alexey Timokhin    schedule 14.10.2015


Ответы (1)


На самом деле решение было простым. Установка размера пакета на 500000 в icecast.xml устранила проблему. Раньше я использовал /etc/init.d/icecast2 reload после изменения icecast.xml и почему-то думал, что размер пакета в Icecast также изменится аналогичным образом, но этого не произошло. Только перезапуск icecast действительно изменил эту настройку.

person Alexey Timokhin    schedule 22.10.2015
comment
у нас такая же проблема, мы проверим ваше предложение. Какое значение ‹queue-size› и ‹burst-size› вы использовали? - person Francesco; 14.07.2016
comment
@Francesco ‹queue-size› 600000 ‹/queue-size›, ‹burst-size› 500000 ‹/burst-size› - person Alexey Timokhin; 15.07.2016