Можно ли синхронизировать прямую трансляцию HLS между устройствами? - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть прямая трансляция HLS с длиной сегмента 2 секунды и два устройства для его воспроизведения - два телефона Android с Exoplayer.

Когда я запускаю воспроизведение на обоих телефонах Android (одно смобильные данные, один с Wi-Fi), по какой-то причине устройство, подключенное к Wi-Fi, на 2 секунды опережает устройство, использующее мобильные данные (я заметил, что это разница в один сегмент).

Этовозможно, чтобы оба устройства (это распространяется на все другие устройства, воспроизводящие этот поток HLS), чтобы их воспроизведения начинались синхронно с воспроизведением на других устройствах, например, начинались с точно такого же живого фронта, или это слишком много, чтобы запрашиватьпоток HLS?

РЕДАКТИРОВАТЬ: Является ли тег HLS EXT-X-PROGRAM-DATE-TIME жизнеспособным способом синхронизации воспроизведения между устройствами?

1 Ответ

0 голосов
/ 11 декабря 2018

DefaultLoadControl ждет, пока у него не будет 5 секунд буферизованного носителя, прежде чем продолжить воспроизведение.

Вы можете попробовать изменить bufferForPlayBackMs и bufferForPlaybackAfterRebufferMs на 0. Я не проверял это.

DefaultLoadControl loadControl = new DefaultLoadControl.Builder().setBufferDurationsMs(minBufferMs, maxBufferMs, bufferForPlaybackMs, bufferForPlaybackAfterRebufferMs).createDefaultLoadControl();
...