Как можно избежать накопления задержки при воспроизведении в прямом эфире с помощью Flowplayer? - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь использовать FlowPlayer для воспроизведения потокового аудио на моей веб-странице (или, точнее, в моем веб-приложении).Предполагается, что страница, содержащая приложение и проигрыватель, будет оставаться открытой в течение долгого времени, например часов, и после нескольких испытаний я понял, что проигрыватель продолжает буферизовать аудиопоток и проигрывать его с задержкой каждый раз, когда какой-либо пакет пропускается (я полагаю, этопроизошло из-за отсутствия пакета из-за нестабильности моего соединения).Через несколько часов, начиная с исходной 1-2 секунды, поток накапливал примерно 30-35 секундную задержку.

Итак, я пытаюсь достичь :всякий раз, когда какой-либо отсутствующий пакет может вызывать задержку в аудиопотоке, аудиопоток будет избегать этой ошибки, даже вызывая скачок звука, но без накопления каких-либо задержек.

Я искал всю документацию и толькоинформация об этом аргументе, которую я смог найти, была о длине буфера.На самом деле я установил bufferLength на 2 из-за моих потребностей в реальном времени (со значением по умолчанию 3 у меня была базовая задержка в 5-6 секунд, что неприемлемо для приложения, которое я пытаюсь запустить), но яЯ не могу найти надежный способ избежать задержки.

Я ловлю свой поток в реальном времени с сервера Wowza 2.0, используя протокол RTMP.

1 Ответ

1 голос
/ 22 июля 2011

Я наконец-то заставил его работать, я просто установил длину буфера на меньшее число (1, если быть точным) и добавил функцию обновления в обработчик событий "onEmptyBuffer", таким образом, каждый раз, когда задержка начинает накапливаться, проигрыватель обновляет и вернуться к задержке 1-2 сек. Таким образом, я теряю только 1-2 секунды связи из-за обновления (не так страшно в моем случае), хотя у меня не будет задержки выше, чем исходные 2-3 секунды.

...