6

アプリの実行時に m3u8 ファイルを動的に変更できるかどうかを知っている人はいますか?

シナリオは次のとおりです。たとえば、 1.ts 、 2.ts 、 3.ts など、複数の .ts ファイルを順番に再生する準備ができているとします。

実行時に、順序を 1.ts 、 3.ts 、次に 2.ts に変更したいと考えています。

これは可能ですか?

ありがとう、

4

1 に答える 1

11

答えはHLS 標準(2017 年 8 月) にあります。

サーバーは、次の場合を除き、メディア プレイリスト ファイルを変更してはなりません:

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)。

全体として、あなたが目指していることはプロトコルによってサポートされていません。

とにかく、セグメントは順番に相互に関連している可能性があるため、かなり無意味です(共通のキーフレームがあります)。

于 2012-01-08T09:42:25.987 に答える