libvpx を介して VP9 でライブ ストリームをエンコードしており、それを HTML5 プレーヤーにストリーミングしたいと考えています。Matroska 仕様とW3C WebM Byte Stream Formatを読み、libvpx の vpxenc ツールによって生成された WebM ファイルをいくつか調べました。すべてが良さそうに見えますが、W3C 仕様で説明されているメディア セグメント内にエンコードされたビデオ フレームをパックする方法に関する厳密なルールやガイドラインは見つかりませんでした。
私が理解している限り、内部にブロック要素を持つクラスターを含むメディア セグメントを出力する必要があります。私が理解していることから、エンコーダーから取得した各フレームには単一のタイムスタンプがあるため、単純なブロック要素を使用できます。しかし、どのようにクラスターを編成するのでしょうか? 私にとっては、バッファリングと遅延を減らすために、単一の単純なブロック エントリを使用してフレームごとに単一のクラスターを発行することは理にかなっています。そのようなアプローチは正常と見なされますか、それとも欠点がありますか? 一定の時間間隔でバッファリングしてから、バッファリングされた期間をカバーする複数の単純なブロック要素を含むクラスターを発行する必要がありますか?
アップデート
そこで、説明したアプローチ(単一の単純なブロックエントリでクラスターを放出する)を実装しましたが、ビデオが大幅に遅れているように見えるため、おそらくこれは進むべき道ではありません.