динамическое изменение файла m3u8 во время выполнения (iOS) - PullRequest
5 голосов
/ 15 мая 2011

Кто-нибудь знает, могу ли я динамически изменять файл m3u8 во время выполнения приложения?

Сценарий следующий: допустим, у меня есть несколько файлов .ts, готовых к воспроизведению в последовательности, например 1.ts, 2.ts, 3.ts и т. Д.

Теперь во время выполнения я хочу изменить порядок на 1.ts, 3.ts и только затем 2.ts.

Возможно ли это?

Спасибо,

1 Ответ

9 голосов
/ 08 января 2012

Ответ в стандарте HLS (август 2017 г.):

Сервер НЕ ДОЛЖЕН изменять файл списка воспроизведения мультимедиа, кроме:

o  Append lines to it (Section 6.2.1).

o  Remove Media Segment URIs from the Playlist in the order that they
 appear, along with any tags that apply only to those segments
 (Section 6.2.2).

o  Increment the value of the EXT-X-MEDIA-SEQUENCE or EXT-X-
 DISCONTINUITY-SEQUENCE tags (Section 6.2.2).

o  Add an EXT-X-ENDLIST tag to the Playlist (Section 6.2.1).

Обратите внимание, что стандартный черновик (около 2012 г.) от исходного ответа несколько отличался:

Сервер НЕ ДОЛЖЕН изменять файл списка воспроизведения, кроме:

Добавление к нему строк (раздел 6.2.1).

Удаление URI мультимедиа из списка воспроизведения в порядке их появления вместе с любыми тегами, которые применяются только к этим URI мультимедиа (Раздел 6.2.2).).

Увеличение значения тега EXT-X-MEDIA-SEQUENCE (Раздел 6.2.2).

Добавление или удаление тегов EXT-X-STREAM-INF или EXT-XI-Теги FRAME-STREAM-INF (раздел 6.2.4).Обратите внимание, что клиенты не обязаны перезагружать различные файлы списка воспроизведения, поэтому их изменение может не иметь немедленного эффекта.

Добавить тег EXT-X-ENDLIST в список воспроизведения (раздел 6.2.1).

В целом, то, к чему вы стремитесь, не поддерживается протоколом.

В любом случае это довольно бессмысленно, поскольку сегменты могут коррелировать между собой по порядку (имеет общие ключевые кадры).

...