Проблемы с воспроизведением HLS

Использование официального AMI Enterprise Edition 1.9.1 на AWS.

Сценарий:

Приложение Ant Media Server настроено на использование ABR с разрешениями 360, 480, 720.

Код на стороне проигрывателя опрашивает URL-адрес потока HLS, ожидая запуска потока.

Ожидаемое поведение:

  1. Если поток не транслируется, ответьте ошибкой 404
  2. Когда поток будет запущен, ответьте m3u8, содержащий все определенные разрешения

Фактическое поведение:

  1. Когда поток не активен, для m3u8 возвращается статус HTTP 200, но содержимое ответа - страница 404 not found.
  2. Когда начинается прямой эфир, полученный m3u8 содержит только одно разрешение (я думаю, оно случайное - может быть любым из предопределенных):
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=0,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_720p.m3u8
  1. Если я запрашиваю m3u8 через несколько секунд после неполного, я получаю полный m3u8 со всеми определенными разрешениями:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=680704,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_360p.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1072360,RESOLUTION=854x480,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_480p.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1409432,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2263000,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_720p.m3u8

Обходной путь:

В настоящее время я решаю эту проблему, анализируя содержимое ответа:

  • Если он содержит ошибку 404, продолжить опрос
  • Если m3u8 короче 6 строк (эмпирическое значение), продолжить опрос
  • Когда появится правильный m3u8, запустите плеер

Я что-то делаю не так или это ошибка?


person Constantine Poltyrev    schedule 19.04.2020    source источник


Ответы (1)


Похоже, это ошибка, исправленная в версии 2.0. После обновления все работает как задокументировано.

person Constantine Poltyrev    schedule 17.06.2020