2

16 進エディターでビデオ ファイルのビットストリームを見て、h264 について少し学ぼうとしていました。ここで、ビデオ オブジェクト プレーン (0x000001b6) と i フレーム (0x000001b600) の開始コードを見つけました。

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

このように16進エディタでファイルを見ても大丈夫ですか? 他にどのような開始コードが存在し、h264 ファイルはどのように構成されていますか?

4

1 に答える 1

4

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

私はパート 2 ほどパート 10 に精通していませんが、標準 (ISO 14496-10) をざっと見てみると、ビットストリームが NAL ユニットと呼ばれるセクションに分割されていることがわかります。0x000001これらのユニットには、セクション B.1.1 に従って、同期のために先行する24 ビット コードがあります。次のバイトは、セクション 7.3.1 に従って、フィールドforbidden_zero_bitnal_ref_idc、および で構成されます。nal_unit_type

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

于 2010-04-28T18:55:28.077 に答える