Следует ли при создании списка воспроизведения HLS M3U8 включать мультимедийные сегменты, которые еще не существуют? - PullRequest
0 голосов
/ 11 декабря 2018

Я генерирую m3u8 списки воспроизведения мультимедиа для HLS https://tools.ietf.org/html/rfc8216

Должен ли я включить URL каждого сегмента мультимедиа (для файла транспортного потока MPEG-2) в список воспроизведения мультимедиа до того, как данные станутдоступны по этим URL?Или я должен включить только те видеофрагменты, которые завершили запись, и как только я узнаю, что данные готовы к загрузке, и подождать, пока клиент HLS повторно запросит список воспроизведения?

Мне кажется, что этот стандарт не оченьясно по этому вопросу.

Хочу заметить, что хотя бы для одного клиента HLS (HLS.js) требуется, чтобы в списке воспроизведения мультимедиа присутствовал хотя бы один сегмент мультимедиа, в противном случае он вызывает волнение.Возможно, это просто ошибка, конечно.

В качестве небольшого предела, сегменты мультимедиа в моем списке воспроизведения - это URL-адреса Amazon S3.Я приказываю другой машине начать загрузку видеофрагментов на S3, когда я получаю запрос на плейлист.

Ответы [ 2 ]

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

Это нарушит спецификацию HLS. Раздел 6.2.1 [1]:

Любой сегмент мультимедиа, указанный в списке воспроизведения, загруженном клиентом, ДОЛЖЕН быть доступен для немедленной загрузки или ошибок воспроизведения.может возникнуть.После начала загрузки скорость передачи НЕ ДОЛЖНА ограничиваться процессом производства сегмента.

[1] https://tools.ietf.org/html/rfc8216#section-6.2.1

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

Если файл не существует, сервер вернет 404. Большинство игроков просто остановятся на этом этапе.

...