質問

HEXエディターを使用したビデオファイルのビットストリームを見て、H264について少し学ぼうとしていました。私は見つけました ここ ビデオオブジェクトプレーン(0x000001B6)およびIフレーム(0x000001B600)の開始コード。

しかし、ビデオファイルにはこれらのバイトの多くが見つかりません。ほとんどの場合、それらの開始コードはファイルの先頭に表示され、その間にわずかな咬傷があります。私は彼らがファイル全体に等しい距離で非常に定期的に現れることを期待していました!?

この方法で、ヘックスエディターを備えたファイルを見ても大丈夫ですか?他にどのような開始コードが存在し、H264ファイルはどのように編成されていますか?

役に立ちましたか?

解決

0x000001b6 STARTコードは、単純なプロファイルであるMPEG-4パート2ビデオに適用されます。これは、XVIDやDivxなどのコーデックに対応します。 H.264はMPEG-4パート10です。これは、高度なビデオコーディングプロファイルです。 H.264は異なる開始コードを使用します。

私はパート2のようにパート10に精通していませんが、標準(ISO 14496-10)を通して簡単な見方は、ビットストリームがNALユニットと呼ばれるセクションに分割されていることを示しています。これらのユニットには24ビットコードがあります 0x000001 セクションB.1.1に従って、同期の前にそれらの前に。次のバイトはフィールドで構成されています forbidden_zero_bit, nal_ref_idc, 、 と nal_unit_type セクション7.3.1に従って。

これらのNALユニットがフレームの境界で分離されているかどうかはわかりません。すべてのビットストリーム構文をレイアウトする基準を手に入れる必要があるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top