codecs
パラメータはRFC 6381で指定されています。特に、との値の意味については、セクション 3.3を参照してください。avc1
mp4a
の場合avc1.4D401E
、は H.264 ビデオを示し、その後にドットと、H.264 規格avc1
で定義された 3 つの 2 桁の 16 進数が続きます。
profile_idc
constraint_set
フラグを含むバイト(現在は、およびconstraint_set0_flag
を介して)constraint_set5_flag
reserved_zero_2bits
level_idc
いくつかの例:
avc1.42E01E
: H.264 制約付きベースライン プロファイル レベル 3
avc1.4D401E
:H.264メインプロファイルレベル3
avc1.64001E
:H.264ハイプロファイルレベル3
これらは、MP4 ファイルの Sequence Parameter Set と AVC Configuration Box の 2 番目、3 番目、および 4 番目のバイトでもあります。次のようなプログラムを使用して、これらのバイトをダンプできmp4file
ますmp4file --dump movie.mp4
。(AVC 構成) ボックスと、、avcC
および の 16 進値を探します。AVCProfileIndication
profile_compatibility
AVCLevelIndication
mp4a.40.2
はmp4a
MPEG-4オーディオを示します。その後にドットと 16 進数ObjectTypeIndication
(出力)objectTypeId
が続き、MPEG4 登録サイトで調べることができます。この 16 進値が(ISO/IEC 14496-3 Audio) の場合、その後に別のドットと 10 進数のオーディオ オブジェクト タイプが続きます。これらは、ISO/IEC 14496-3 標準およびWikipediaにリストされており、 ( )の最初の 5 ビットに対応します(これらのビットが 31 に等しい場合を除き、次の 6 ビットに 32 を追加します)。 は、H.264 HTML5 ビデオで通常使用される AAC LC オーディオを示します。mp4file
40
DecoderSpecificInfo
decSpecificInfo
mp4a.40.2
たとえば、codecs="avc1.42E01E, mp4a.40.2"
次の映画の場合は正しいでしょう。
$ mp4file --dump movie.mp4
...
type avcC (moov.trak.mdia.minf.stbl.stsd.avc1.avcC) ◀━━ avc1
configurationVersion = 1 (0x01)
AVCProfileIndication = 66 (0x42) ◀━━ 42
profile_compatibility = 224 (0xe0) ◀━━ E0
AVCLevelIndication = 30 (0x1e) ◀━━ 1E
...
type esds (moov.trak.mdia.minf.stbl.stsd.mp4a.esds) ◀━━ mp4a
version = 0 (0x00)
flags = 0 (0x000000)
ESID = 2 (0x0002)
streamDependenceFlag = 0 (0x0) <1 bits>
URLFlag = 0 (0x0) <1 bits>
OCRstreamFlag = 0 (0x0) <1 bits>
streamPriority = 0 (0x00) <5 bits>
decConfigDescr
objectTypeId = 64 (0x40) ◀━━ 40
streamType = 5 (0x05) <6 bits>
upStream = 0 (0x0) <1 bits>
reserved = 1 (0x1) <1 bits>
bufferSizeDB = 0 (0x000000) <24 bits>
maxBitrate = 78267 (0x000131bb)
avgBitrate = 78267 (0x000131bb)
decSpecificInfo
info = <2 bytes> 11 90 |..| ◀━━ 2 (first 5 bits in decimal)
...