フレームごとのメタデータを記録する既存のビデオ形式はありますか?


7

動的なメタデータを使用してビデオをストリーミングしたいと思います。ビデオとメタデータを別々にストリーミングできることはわかっていますが、理想的にはそれらを永続的にバインドしたいです。

これを行う既存のプロトコル/エンコーディング/フォーマットはありますか?ステガノグラフィを使用して各フレームにデータを保存することもできますが、これは理想的な解決策ではなく、ややこしいです。

回答:


4

フレームレートが高すぎず、フレームを正確なタイムスタンプに関連付けることができる場合は、メタデータをテキストの字幕として追加するのが最も簡単です。

もう1つのオプションは、メタデータを標準ヘッダーとして、.mp4または類似のコンテナー形式で多重化することです。.mp4複数のフラグメントに分割でき、それぞれに独自のヘッダーがあり、理論的にはこれをフレームごとに実行できます。ただし、数フレームを超えてこれを行うと、ファイルサイズとパフォーマンスの点で非常に非効率的です。このメソッドのバリエーションは、すべてのフレームを画像(JEPGなど)として抽出し、そのメタデータを設定することです。

さらに別のオプションは、ハッキングなしで速記を使用することです。メタデータを、メインビデオストリームとタイムスタンプ同期された別のストリームにエンコードするだけです。を含む最新のコンテナ形式のほとんど.mp4は、同じコンテナ内の複数のビデオストリームに対応できます(たとえば、エンコードされたメタデータストリームに同じコンテンツであるが別の言語のラベルを付けることができます)。


字幕ストリームも私が考えていたものです。デフォルト以外のフラグを設定するか、最初のサブストリームとして空の字幕ストリームを追加してください。これにより、カスタムサブ形式を認識していないプレーヤーがテキストとして表示しないようにできます。
Peter Cordes

ffmpegは、字幕と他のデータストリームを区別します。たとえば、一部のビデオファイルにはRTPメタデータのようなものがあり、それはmp4コンテナー内の個別のメタデータストリームです。したがって、必要に応じて、mp4またはmkvで多重化されたカスタムデータストリームを使用できる場合があります。
Peter Cordes

2

これがストリーミング戦略にどのように当てはまるかはわかりませんが、DPXファイル形式にはフレームごとのメタデータが含まれています(潜在的にはその多くが含まれています)。このウィキペディアの記事には基本的な情報があります。

また、「永久に拘束される」とはどういう意味かについても明確ではありません。AVIファイルコンテナーでは、「I」は「インターリーブ」の略で、ファイル内でビデオパケットとオーディオパケットが(ほぼ)交互に入れ替わります。これは、ほとんどすべてのコンテナ形式に当てはまります。ストリームは分離できますが、1つのメタストリームにネイティブに共存します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.