アプリの実行時に m3u8 ファイルを動的に変更できるかどうかを知っている人はいますか?
シナリオは次のとおりです。たとえば、 1.ts 、 2.ts 、 3.ts など、複数の .ts ファイルを順番に再生する準備ができているとします。
実行時に、順序を 1.ts 、 3.ts 、次に 2.ts に変更したいと考えています。
これは可能ですか?
ありがとう、
アプリの実行時に m3u8 ファイルを動的に変更できるかどうかを知っている人はいますか?
シナリオは次のとおりです。たとえば、 1.ts 、 2.ts 、 3.ts など、複数の .ts ファイルを順番に再生する準備ができているとします。
実行時に、順序を 1.ts 、 3.ts 、次に 2.ts に変更したいと考えています。
これは可能ですか?
ありがとう、
答えは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)。
全体として、あなたが目指していることはプロトコルによってサポートされていません。
とにかく、セグメントは順番に相互に関連している可能性があるため、かなり無意味です(共通のキーフレームがあります)。