Для потока HLS VOD возможно ли воспроизводить только определенные мультимедийные последовательности в файле списка воспроизведения мультимедиа? - PullRequest
0 голосов
/ 27 марта 2019

Я бы хотел воспроизвести определенные временные сегменты из потока HLS без необходимости повторного редактирования исходного файла MP4.Можно ли изменить файл списка воспроизведения мультимедиа для воспроизведения определенных последовательностей мультимедиа TS, которые не соответствуют порядку?

Например, в приведенном ниже списке M3U можно только воспроизвести fileSequence0-fileSequence2, а затем пропустить файл fileSequence3и перейдите прямо к fileSequence4?

Пример списка M3U:

#EXTM3U
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
fileSequence0.ts
#EXTINF:10.0,
fileSequence1.ts
#EXTINF:10.0,
fileSequence2.ts
#EXTINF:10.0,
fileSequence3.ts
#EXTINF:10.0,
fileSequence4.ts

В соответствии с документацией HLS, мне нужно изменить или опустить порядковый номер носителя для fileSequence3.ts, чтобы пропустить его, но я не уверен, возможно ли это.

6.3.5.Определение следующего сегмента для загрузки ... Первый сегмент для загрузки - это, как правило, сегмент, который клиент выбрал для воспроизведения первым (см. Раздел 6.3.3).

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

1 Ответ

0 голосов
/ 27 марта 2019

Да, вы можете воспроизводить их в любом порядке, просто поставьте тег #EXT-X-DISCONTINUITY перед любым «соединением». Вам также понадобится #EXT-X-ENDLIST в конце, или игрок примет это за манифест вживую и будет играть только самые последние сегменты.

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

...