Обнаружение опустошения буфера потока MP3-радио

какие-либо указатели для обнаружения с помощью сценария в Linux того, что поток mp3-радио прерывается, у меня возникают проблемы с моей радиостанцией, когда интернет-соединение замедляется и заставляет поток на стороне клиента останавливаться, буферизоваться и затем воспроизводиться.


person Ossama    schedule 05.01.2018    source источник
comment
Вы говорите, что пытаетесь определить, когда исходный конец потока не может выводить с достаточно высокой скоростью? Или когда клиент проигрывателя не может получать данные с достаточно высокой скоростью?   -  person Brad    schedule 08.01.2018
comment
Да, когда исходный поток не может выводить с достаточно высокой скоростью   -  person Ossama    schedule 08.01.2018


Ответы (1)


Есть несколько способов сделать это.

Метод 1: Предположим, постоянный битрейт

Если вы знаете, что у вас будет постоянный битрейт, вы можете измерить этот битрейт с течением времени на сервере и определить, когда он замедляется ниже порогового значения. Обратите внимание, что это не самый точный метод, и он не всегда будет работать. Не все потоки используют постоянный битрейт. Но этот метод так же прост, как подсчет байтов, полученных по сети.

Способ 2: Воспроизведение на сервере

Вы можете запустить безголовый проигрыватель на сервере (через cvlc или аналогичный) и отслеживать, когда у него происходит опустошение буфера. Это будет работать при любом битрейте и даст вам хорошее представление о том, что происходит на клиентах. Этот тип настройки проигрывателя также включает служебные функции, такие как обнаружение тишины. Недостатком является то, что для декодирования требуется немного ресурсов ЦП и немного больше усилий для автоматизации.

Способ 3 (предпочтительный): буфер вывода журнала в источнике

Ваш исходный кодировщик будет иметь буфер на выходе, данные ожидают отправки на сервер. Когда этот буфер превышает определенный порог, регистрируйте это. Это означает, что вывод по сети остановился по какой-либо причине. Этот метод позволяет получать соответствующие данные прямо из источника и гарантирует, что вам не придется беспокоиться о проблемах с синхронизацией часов, которые могут возникнуть со временем при мониторинге аудиопотоков. (44,1 кГц для вашего кодировщика может быть 44,101 кГц для плеера.) Этот метод может потребовать изменения вашего исходного клиента.

person Brad    schedule 09.01.2018