当初、私は他のMac以外のプラットフォームでHLSセグメンテーションを行うための可能な方法を見つけようとしました。
HLSのビデオのセグメント化には、次の手順が含まれます。
1)エンコードされたビデオをセグメントに分割する
2)各セグメントの秒単位の期間を含む現在のレンディションのセグメントのリストを含むプレイリスト(.m3u8)ファイルを作成する
3)HTTPライブストリーミングプロトコルによると、BANDWITHに関する情報を使用して、すべてのレンディションのすべてのプレイリストへの相対パスを含むバリアントプレイリストを作成します。
値は、ビット/秒の10進整数です。これは、プレイリストに表示される、または表示される各メディアセグメント(コンテナのオーバーヘッドを含むように計算)の全体的なビットレートの上限である必要があります。
ffmpegの最新バージョンには、ビデオを分割する可能性が含まれています。ただし、ffmpegはm3u8ファイルを作成できません。簡単なプレイリストを作成しても問題ありません。ただし、バリアントプレイリストの作成は次のようになります。
したがって、Macのvariantplaylistcreatorはそれらを作成し、何らかの方法でビットレートを計算し、それに基づいて値をBANDWITHタグに入れます。
私はさまざまな方法を試しましたが、variantplaylistcreatorとまったく同じ数値を取得できませんでした。現時点では、これらの値を正確に計算し、使用するアルゴリズムについての情報を見つけることができません。私の数は近いですが、それでもわずかに異なります。
理論的には問題ないはずですが、要点は-確かにわかりません。おそらく、BANDWITH情報は、完璧なビデオ再生のために正確である必要がありますが、そうである必要はありません。
とにかく、私はvariantplaylistcreatorがそれらをどのように正確に計算するのか本当に興味があります: