1
1
mirror of https://github.com/wader/fq.git synced 2024-12-25 14:23:18 +03:00
fq/format/mp4/testdata/opus.fqtest
Mattias Wadman 83ccedc506 mp4,decode: Properly decode ilst items (both mdta and mdir)
Refactor mp4 decoder to be simpler and have fallback for unknown box type
Cleanup some old ilst hacks
Add generic string reader to decode API that takes an encoding parameters
2022-12-08 15:56:22 +01:00

357 lines
41 KiB
Plaintext

# ffmpeg -f lavfi -i sine -strict experimental -c:a opus -t 50ms opus.mp4
$ fq -d mp4 dv opus.mp4
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: opus.mp4 (mp4) 0x0-0x438.7 (1081)
| | | boxes[0:4]: 0x0-0x438.7 (1081)
| | | [0]{}: box 0x0-0x1b.7 (28)
0x000|00 00 00 1c |.... | size: 28 0x0-0x3.7 (4)
0x000| 66 74 79 70 | ftyp | type: "ftyp" (File type and compatibility) 0x4-0x7.7 (4)
0x000| 69 73 6f 6d | isom | major_brand: "isom" 0x8-0xb.7 (4)
0x000| 00 00 02 00| ....| minor_version: 512 0xc-0xf.7 (4)
| | | brands[0:3]: 0x10-0x1b.7 (12)
0x010|69 73 6f 6d |isom | [0]: "isom" brand (All files based on the ISO Base Media File Format) 0x10-0x13.7 (4)
0x010| 69 73 6f 32 | iso2 | [1]: "iso2" brand (All files based on the 2004 edition of the ISO file format) 0x14-0x17.7 (4)
0x010| 6d 70 34 31 | mp41 | [2]: "mp41" brand (MP4 version 1) 0x18-0x1b.7 (4)
| | | [1]{}: box 0x1c-0x23.7 (8)
0x010| 00 00 00 08| ....| size: 8 0x1c-0x1f.7 (4)
0x020|66 72 65 65 |free | type: "free" (Free space) 0x20-0x23.7 (4)
| | | data: raw bits 0x24-NA (0)
| | | [2]{}: box 0x24-0x196.7 (371)
0x020| 00 00 01 73 | ...s | size: 371 0x24-0x27.7 (4)
0x020| 6d 64 61 74 | mdat | type: "mdat" (Media data container) 0x28-0x2b.7 (4)
0x020| f8 22 28 75| ."(u| data: raw bits 0x2c-0x196.7 (363)
0x030|68 a8 dd 59 43 1b ff 52 f3 16 f1 48 28 77 86 10|h..YC..R...H(w..|
* |until 0x196.7 (363) | |
| | | [3]{}: box 0x197-0x438.7 (674)
0x190| 00 00 02 a2 | .... | size: 674 0x197-0x19a.7 (4)
0x190| 6d 6f 6f 76 | moov | type: "moov" (Container for all the meta-data) 0x19b-0x19e.7 (4)
| | | boxes[0:3]: 0x19f-0x438.7 (666)
| | | [0]{}: box 0x19f-0x20a.7 (108)
0x190| 00| .| size: 108 0x19f-0x1a2.7 (4)
0x1a0|00 00 6c |..l |
0x1a0| 6d 76 68 64 | mvhd | type: "mvhd" (Movie header, overall declarations) 0x1a3-0x1a6.7 (4)
0x1a0| 00 | . | version: 0 0x1a7-0x1a7.7 (1)
0x1a0| 00 00 00 | ... | flags: 0 0x1a8-0x1aa.7 (3)
0x1a0| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x1ab-0x1ae.7 (4)
0x1a0| 00| .| modification_time: 0 (1904-01-04T00:00:00Z) 0x1af-0x1b2.7 (4)
0x1b0|00 00 00 |... |
0x1b0| 00 00 03 e8 | .... | time_scale: 1000 0x1b3-0x1b6.7 (4)
0x1b0| 00 00 00 35 | ...5 | duration: 53 0x1b7-0x1ba.7 (4)
0x1b0| 00 01 00 00 | .... | preferred_rate: 1 0x1bb-0x1be.7 (4)
0x1b0| 01| .| preferred_volume: 1 0x1bf-0x1c0.7 (2)
0x1c0|00 |. |
0x1c0| 00 00 00 00 00 00 00 00 00 00 | .......... | reserved: "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0x1c1-0x1ca.7 (10)
| | | matrix_structure{}: 0x1cb-0x1ee.7 (36)
0x1c0| 00 01 00 00 | .... | a: 1 0x1cb-0x1ce.7 (4)
0x1c0| 00| .| b: 0 0x1cf-0x1d2.7 (4)
0x1d0|00 00 00 |... |
0x1d0| 00 00 00 00 | .... | u: 0 0x1d3-0x1d6.7 (4)
0x1d0| 00 00 00 00 | .... | c: 0 0x1d7-0x1da.7 (4)
0x1d0| 00 01 00 00 | .... | d: 1 0x1db-0x1de.7 (4)
0x1d0| 00| .| v: 0 0x1df-0x1e2.7 (4)
0x1e0|00 00 00 |... |
0x1e0| 00 00 00 00 | .... | x: 0 0x1e3-0x1e6.7 (4)
0x1e0| 00 00 00 00 | .... | y: 0 0x1e7-0x1ea.7 (4)
0x1e0| 40 00 00 00 | @... | w: 1 0x1eb-0x1ee.7 (4)
0x1e0| 00| .| preview_time: 0 0x1ef-0x1f2.7 (4)
0x1f0|00 00 00 |... |
0x1f0| 00 00 00 00 | .... | preview_duration: 0 0x1f3-0x1f6.7 (4)
0x1f0| 00 00 00 00 | .... | poster_time: 0 0x1f7-0x1fa.7 (4)
0x1f0| 00 00 00 00 | .... | selection_time: 0 0x1fb-0x1fe.7 (4)
0x1f0| 00| .| selection_duration: 0 0x1ff-0x202.7 (4)
0x200|00 00 00 |... |
0x200| 00 00 00 00 | .... | current_time: 0 0x203-0x206.7 (4)
0x200| 00 00 00 02 | .... | next_track_id: 2 0x207-0x20a.7 (4)
| | | [1]{}: box 0x20b-0x3d6.7 (460)
0x200| 00 00 01 cc | .... | size: 460 0x20b-0x20e.7 (4)
0x200| 74| t| type: "trak" (Container for an individual track or stream) 0x20f-0x212.7 (4)
0x210|72 61 6b |rak |
| | | boxes[0:3]: 0x213-0x3d6.7 (452)
| | | [0]{}: box 0x213-0x26e.7 (92)
0x210| 00 00 00 5c | ...\ | size: 92 0x213-0x216.7 (4)
0x210| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x217-0x21a.7 (4)
0x210| 00 | . | version: 0 0x21b-0x21b.7 (1)
0x210| 00 00 03 | ... | flags: 3 0x21c-0x21e.7 (3)
0x210| 00| .| creation_time: 0 (1904-01-04T00:00:00Z) 0x21f-0x222.7 (4)
0x220|00 00 00 |... |
0x220| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x223-0x226.7 (4)
0x220| 00 00 00 01 | .... | track_id: 1 0x227-0x22a.7 (4)
0x220| 00 00 00 00 | .... | reserved1: 0 0x22b-0x22e.7 (4)
0x220| 00| .| duration: 53 0x22f-0x232.7 (4)
0x230|00 00 35 |..5 |
0x230| 00 00 00 00 00 00 00 00 | ........ | reserved2: raw bits 0x233-0x23a.7 (8)
0x230| 00 00 | .. | layer: 0 0x23b-0x23c.7 (2)
0x230| 00 01 | .. | alternate_group: 1 0x23d-0x23e.7 (2)
0x230| 01| .| volume: 1 0x23f-0x240.7 (2)
0x240|00 |. |
0x240| 00 00 | .. | reserved3: 0 0x241-0x242.7 (2)
| | | matrix_structure{}: 0x243-0x266.7 (36)
0x240| 00 01 00 00 | .... | a: 1 0x243-0x246.7 (4)
0x240| 00 00 00 00 | .... | b: 0 0x247-0x24a.7 (4)
0x240| 00 00 00 00 | .... | u: 0 0x24b-0x24e.7 (4)
0x240| 00| .| c: 0 0x24f-0x252.7 (4)
0x250|00 00 00 |... |
0x250| 00 01 00 00 | .... | d: 1 0x253-0x256.7 (4)
0x250| 00 00 00 00 | .... | v: 0 0x257-0x25a.7 (4)
0x250| 00 00 00 00 | .... | x: 0 0x25b-0x25e.7 (4)
0x250| 00| .| y: 0 0x25f-0x262.7 (4)
0x260|00 00 00 |... |
0x260| 40 00 00 00 | @... | w: 1 0x263-0x266.7 (4)
0x260| 00 00 00 00 | .... | track_width: 0 0x267-0x26a.7 (4)
0x260| 00 00 00 00 | .... | track_height: 0 0x26b-0x26e.7 (4)
| | | [1]{}: box 0x26f-0x292.7 (36)
0x260| 00| .| size: 36 0x26f-0x272.7 (4)
0x270|00 00 24 |..$ |
0x270| 65 64 74 73 | edts | type: "edts" (Edit list container) 0x273-0x276.7 (4)
| | | boxes[0:1]: 0x277-0x292.7 (28)
| | | [0]{}: box 0x277-0x292.7 (28)
0x270| 00 00 00 1c | .... | size: 28 0x277-0x27a.7 (4)
0x270| 65 6c 73 74 | elst | type: "elst" (An edit list) 0x27b-0x27e.7 (4)
0x270| 00| .| version: 0 0x27f-0x27f.7 (1)
0x280|00 00 00 |... | flags: 0 0x280-0x282.7 (3)
0x280| 00 00 00 01 | .... | entry_count: 1 0x283-0x286.7 (4)
| | | entries[0:1]: 0x287-0x292.7 (12)
| | | [0]{}: entry 0x287-0x292.7 (12)
0x280| 00 00 00 32 | ...2 | segment_duration: 50 0x287-0x28a.7 (4)
0x280| 00 00 00 78 | ...x | media_time: 120 0x28b-0x28e.7 (4)
0x280| 00| .| media_rate: 1 0x28f-0x292.7 (4)
0x290|01 00 00 |... |
| | | [2]{}: box 0x293-0x3d6.7 (324)
0x290| 00 00 01 44 | ...D | size: 324 0x293-0x296.7 (4)
0x290| 6d 64 69 61 | mdia | type: "mdia" (Container for the media information in a track) 0x297-0x29a.7 (4)
| | | boxes[0:3]: 0x29b-0x3d6.7 (316)
| | | [0]{}: box 0x29b-0x2ba.7 (32)
0x290| 00 00 00 20 | ... | size: 32 0x29b-0x29e.7 (4)
0x290| 6d| m| type: "mdhd" (Media header, overall information about the media) 0x29f-0x2a2.7 (4)
0x2a0|64 68 64 |dhd |
0x2a0| 00 | . | version: 0 0x2a3-0x2a3.7 (1)
0x2a0| 00 00 00 | ... | flags: 0 0x2a4-0x2a6.7 (3)
0x2a0| 00 00 00 00 | .... | creation_time: 0 (1904-01-04T00:00:00Z) 0x2a7-0x2aa.7 (4)
0x2a0| 00 00 00 00 | .... | modification_time: 0 (1904-01-04T00:00:00Z) 0x2ab-0x2ae.7 (4)
0x2a0| 00| .| time_scale: 48000 0x2af-0x2b2.7 (4)
0x2b0|00 bb 80 |... |
0x2b0| 00 00 09 d8 | .... | duration: 2520 0x2b3-0x2b6.7 (4)
0x2b0| 55 c4 | U. | language: "und" 0x2b7-0x2b8.7 (2)
0x2b0| 00 00 | .. | quality: 0 0x2b9-0x2ba.7 (2)
| | | [1]{}: box 0x2bb-0x2e7.7 (45)
0x2b0| 00 00 00 2d | ...- | size: 45 0x2bb-0x2be.7 (4)
0x2b0| 68| h| type: "hdlr" (Handler, declares the media (handler) type) 0x2bf-0x2c2.7 (4)
0x2c0|64 6c 72 |dlr |
0x2c0| 00 | . | version: 0 0x2c3-0x2c3.7 (1)
0x2c0| 00 00 00 | ... | flags: 0 0x2c4-0x2c6.7 (3)
0x2c0| 00 00 00 00 | .... | component_type: "" 0x2c7-0x2ca.7 (4)
0x2c0| 73 6f 75 6e | soun | component_subtype: "soun" (Audio Track) 0x2cb-0x2ce.7 (4)
0x2c0| 00| .| component_manufacturer: "" 0x2cf-0x2d2.7 (4)
0x2d0|00 00 00 |... |
0x2d0| 00 00 00 00 | .... | component_flags: 0 0x2d3-0x2d6.7 (4)
0x2d0| 00 00 00 00 | .... | component_flags_mask: 0 0x2d7-0x2da.7 (4)
0x2d0| 53 6f 75 6e 64| Sound| component_name: "SoundHandler" 0x2db-0x2e7.7 (13)
0x2e0|48 61 6e 64 6c 65 72 00 |Handler. |
| | | [2]{}: box 0x2e8-0x3d6.7 (239)
0x2e0| 00 00 00 ef | .... | size: 239 0x2e8-0x2eb.7 (4)
0x2e0| 6d 69 6e 66| minf| type: "minf" (Media information container) 0x2ec-0x2ef.7 (4)
| | | boxes[0:3]: 0x2f0-0x3d6.7 (231)
| | | [0]{}: box 0x2f0-0x2ff.7 (16)
0x2f0|00 00 00 10 |.... | size: 16 0x2f0-0x2f3.7 (4)
0x2f0| 73 6d 68 64 | smhd | type: "smhd" (Sound media header, overall information (sound track only)) 0x2f4-0x2f7.7 (4)
0x2f0| 00 | . | version: 0 0x2f8-0x2f8.7 (1)
0x2f0| 00 00 00 | ... | flags: 0 0x2f9-0x2fb.7 (3)
0x2f0| 00 00 | .. | balance: 0 0x2fc-0x2fd.7 (2)
0x2f0| 00 00| ..| reserved: 0 0x2fe-0x2ff.7 (2)
| | | [1]{}: box 0x300-0x323.7 (36)
0x300|00 00 00 24 |...$ | size: 36 0x300-0x303.7 (4)
0x300| 64 69 6e 66 | dinf | type: "dinf" (Data information box, container) 0x304-0x307.7 (4)
| | | boxes[0:1]: 0x308-0x323.7 (28)
| | | [0]{}: box 0x308-0x323.7 (28)
0x300| 00 00 00 1c | .... | size: 28 0x308-0x30b.7 (4)
0x300| 64 72 65 66| dref| type: "dref" (Data reference box, declares source(s) of media data in track) 0x30c-0x30f.7 (4)
0x310|00 |. | version: 0 0x310-0x310.7 (1)
0x310| 00 00 00 | ... | flags: 0 0x311-0x313.7 (3)
0x310| 00 00 00 01 | .... | entry_count: 1 0x314-0x317.7 (4)
| | | boxes[0:1]: 0x318-0x323.7 (12)
| | | [0]{}: box 0x318-0x323.7 (12)
0x310| 00 00 00 0c | .... | size: 12 0x318-0x31b.7 (4)
0x310| 75 72 6c 20| url | type: "url " 0x31c-0x31f.7 (4)
0x320|00 |. | version: 0 0x320-0x320.7 (1)
0x320| 00 00 01 | ... | flags: 1 0x321-0x323.7 (3)
| | | data: raw bits 0x324-NA (0)
| | | [2]{}: box 0x324-0x3d6.7 (179)
0x320| 00 00 00 b3 | .... | size: 179 0x324-0x327.7 (4)
0x320| 73 74 62 6c | stbl | type: "stbl" (Sample table box, container for the time/space map) 0x328-0x32b.7 (4)
| | | boxes[0:5]: 0x32c-0x3d6.7 (171)
| | | [0]{}: box 0x32c-0x372.7 (71)
0x320| 00 00 00 47| ...G| size: 71 0x32c-0x32f.7 (4)
0x330|73 74 73 64 |stsd | type: "stsd" (Sample descriptions (codec types, initialization etc.)) 0x330-0x333.7 (4)
0x330| 00 | . | version: 0 0x334-0x334.7 (1)
0x330| 00 00 00 | ... | flags: 0 0x335-0x337.7 (3)
0x330| 00 00 00 01 | .... | entry_count: 1 0x338-0x33b.7 (4)
| | | boxes[0:1]: 0x33c-0x372.7 (55)
| | | [0]{}: box 0x33c-0x372.7 (55)
0x330| 00 00 00 37| ...7| size: 55 0x33c-0x33f.7 (4)
0x340|4f 70 75 73 |Opus | type: "Opus" (Opus audio coding) 0x340-0x343.7 (4)
0x340| 00 00 00 00 00 00 | ...... | reserved: raw bits 0x344-0x349.7 (6)
0x340| 00 01 | .. | data_reference_index: 1 0x34a-0x34b.7 (2)
0x340| 00 00 | .. | version: 0 0x34c-0x34d.7 (2)
0x340| 00 00| ..| revision_level: 0 0x34e-0x34f.7 (2)
0x350|00 00 00 00 |.... | max_packet_size: 0 0x350-0x353.7 (4)
0x350| 00 01 | .. | num_audio_channels: 1 0x354-0x355.7 (2)
0x350| 00 10 | .. | sample_size: 16 0x356-0x357.7 (2)
0x350| 00 00 | .. | compression_id: 0 0x358-0x359.7 (2)
0x350| 00 00 | .. | packet_size: 0 0x35a-0x35b.7 (2)
0x350| bb 80 00 00| ....| sample_rate: 48000 0x35c-0x35f.7 (4)
| | | boxes[0:1]: 0x360-0x372.7 (19)
| | | [0]{}: box 0x360-0x372.7 (19)
0x360|00 00 00 13 |.... | size: 19 0x360-0x363.7 (4)
0x360| 64 4f 70 73 | dOps | type: "dOps" 0x364-0x367.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| descriptor{}: (opus_packet) 0x368-0x372.7 (11)
| | | type: "audio" 0x368-NA (0)
| | | toc{}: 0x368-0x372.7 (11)
| | | config{}: 0x368-0x368.4 (0.5)
0x360| 00 | . | config: 0 0x368-0x368.4 (0.5)
| | | mode: "SILK-only" 0x368.5-NA (0)
| | | bandwidth: "NB" 0x368.5-NA (0)
| | | frame_size: 10 0x368.5-NA (0)
0x360| 00 | . | stereo: false 0x368.5-0x368.5 (0.1)
| | | frames_per_packet{}: 0x368.6-0x368.7 (0.2)
0x360| 00 | . | config: 0 0x368.6-0x368.7 (0.2)
| | | frames: 1 0x369-NA (0)
| | | mode: "1 frame" 0x369-NA (0)
0x360| 01 00 78 00 00 bb 80| ..x....| data: raw bits 0x369-0x372.7 (10)
0x370|00 00 00 |... |
| | | [1]{}: box 0x373-0x392.7 (32)
0x370| 00 00 00 20 | ... | size: 32 0x373-0x376.7 (4)
0x370| 73 74 74 73 | stts | type: "stts" (Sample time-to-sample) 0x377-0x37a.7 (4)
0x370| 00 | . | version: 0 0x37b-0x37b.7 (1)
0x370| 00 00 00 | ... | flags: 0 0x37c-0x37e.7 (3)
0x370| 00| .| entry_count: 2 0x37f-0x382.7 (4)
0x380|00 00 02 |... |
| | | entries[0:2]: 0x383-0x392.7 (16)
| | | [0]{}: entry 0x383-0x38a.7 (8)
0x380| 00 00 00 02 | .... | count: 2 0x383-0x386.7 (4)
0x380| 00 00 03 c0 | .... | delta: 960 0x387-0x38a.7 (4)
| | | [1]{}: entry 0x38b-0x392.7 (8)
0x380| 00 00 00 01 | .... | count: 1 0x38b-0x38e.7 (4)
0x380| 00| .| delta: 600 0x38f-0x392.7 (4)
0x390|00 02 58 |..X |
| | | [2]{}: box 0x393-0x3ae.7 (28)
0x390| 00 00 00 1c | .... | size: 28 0x393-0x396.7 (4)
0x390| 73 74 73 63 | stsc | type: "stsc" (Sample-to-chunk, partial data-offset information) 0x397-0x39a.7 (4)
0x390| 00 | . | version: 0 0x39b-0x39b.7 (1)
0x390| 00 00 00 | ... | flags: 0 0x39c-0x39e.7 (3)
0x390| 00| .| entry_count: 1 0x39f-0x3a2.7 (4)
0x3a0|00 00 01 |... |
| | | entries[0:1]: 0x3a3-0x3ae.7 (12)
| | | [0]{}: entry 0x3a3-0x3ae.7 (12)
0x3a0| 00 00 00 01 | .... | first_chunk: 1 0x3a3-0x3a6.7 (4)
0x3a0| 00 00 00 03 | .... | samples_per_chunk: 3 0x3a7-0x3aa.7 (4)
0x3a0| 00 00 00 01 | .... | sample_description_id: 1 0x3ab-0x3ae.7 (4)
| | | [3]{}: box 0x3af-0x3c2.7 (20)
0x3a0| 00| .| size: 20 0x3af-0x3b2.7 (4)
0x3b0|00 00 14 |... |
0x3b0| 73 74 73 7a | stsz | type: "stsz" (Sample sizes (framing)) 0x3b3-0x3b6.7 (4)
0x3b0| 00 | . | version: 0 0x3b7-0x3b7.7 (1)
0x3b0| 00 00 00 | ... | flags: 0 0x3b8-0x3ba.7 (3)
0x3b0| 00 00 00 79 | ...y | sample_size: 121 0x3bb-0x3be.7 (4)
0x3b0| 00| .| entry_count: 3 0x3bf-0x3c2.7 (4)
0x3c0|00 00 03 |... |
| | | [4]{}: box 0x3c3-0x3d6.7 (20)
0x3c0| 00 00 00 14 | .... | size: 20 0x3c3-0x3c6.7 (4)
0x3c0| 73 74 63 6f | stco | type: "stco" (Chunk offset, partial data-offset information) 0x3c7-0x3ca.7 (4)
0x3c0| 00 | . | version: 0 0x3cb-0x3cb.7 (1)
0x3c0| 00 00 00 | ... | flags: 0 0x3cc-0x3ce.7 (3)
0x3c0| 00| .| entry_count: 1 0x3cf-0x3d2.7 (4)
0x3d0|00 00 01 |... |
| | | entries[0:1]: 0x3d3-0x3d6.7 (4)
0x3d0| 00 00 00 2c | ..., | [0]: 44 chunk_offset 0x3d3-0x3d6.7 (4)
| | | [2]{}: box 0x3d7-0x438.7 (98)
0x3d0| 00 00 00 62 | ...b | size: 98 0x3d7-0x3da.7 (4)
0x3d0| 75 64 74 61 | udta | type: "udta" (User-data) 0x3db-0x3de.7 (4)
| | | boxes[0:1]: 0x3df-0x438.7 (90)
| | | [0]{}: box 0x3df-0x438.7 (90)
0x3d0| 00| .| size: 90 0x3df-0x3e2.7 (4)
0x3e0|00 00 5a |..Z |
0x3e0| 6d 65 74 61 | meta | type: "meta" (Metadata container) 0x3e3-0x3e6.7 (4)
0x3e0| 00 00 00 00 | .... | maybe_flags: 0 0x3e7-0x3ea.7 (4)
| | | boxes[0:2]: 0x3eb-0x438.7 (78)
| | | [0]{}: box 0x3eb-0x40b.7 (33)
0x3e0| 00 00 00 21 | ...! | size: 33 0x3eb-0x3ee.7 (4)
0x3e0| 68| h| type: "hdlr" (Handler, declares the media (handler) type) 0x3ef-0x3f2.7 (4)
0x3f0|64 6c 72 |dlr |
0x3f0| 00 | . | version: 0 0x3f3-0x3f3.7 (1)
0x3f0| 00 00 00 | ... | flags: 0 0x3f4-0x3f6.7 (3)
0x3f0| 00 00 00 00 | .... | component_type: "" 0x3f7-0x3fa.7 (4)
0x3f0| 6d 64 69 72 | mdir | component_subtype: "mdir" (Metadata) 0x3fb-0x3fe.7 (4)
0x3f0| 61| a| component_manufacturer: "appl" 0x3ff-0x402.7 (4)
0x400|70 70 6c |ppl |
0x400| 00 00 00 00 | .... | component_flags: 0 0x403-0x406.7 (4)
0x400| 00 00 00 00 | .... | component_flags_mask: 0 0x407-0x40a.7 (4)
0x400| 00 | . | component_name: "" 0x40b-0x40b.7 (1)
| | | [1]{}: box 0x40c-0x438.7 (45)
0x400| 00 00 00 2d| ...-| size: 45 0x40c-0x40f.7 (4)
0x410|69 6c 73 74 |ilst | type: "ilst" 0x410-0x413.7 (4)
| | | boxes[0:1]: 0x414-0x438.7 (37)
| | | [0]{}: box 0x414-0x438.7 (37)
0x410| 00 00 00 25 | ...% | size: 37 0x414-0x417.7 (4)
0x410| a9 74 6f 6f | .too | type: "©too" (Encoder) 0x418-0x41b.7 (4)
| | | boxes[0:1]: 0x41c-0x438.7 (29)
| | | [0]{}: box 0x41c-0x438.7 (29)
0x410| 00 00 00 1d| ....| size: 29 0x41c-0x41f.7 (4)
0x420|64 61 74 61 |data | type: "data" 0x420-0x423.7 (4)
0x420| 00 | . | version: 0 0x424-0x424.7 (1)
0x420| 00 00 01 | ... | flags: 1 0x425-0x427.7 (3)
0x420| 00 00 00 00 | .... | reserved: 0 0x428-0x42b.7 (4)
0x420| 4c 61 76 66| Lavf| data: "Lavf58.45.100" 0x42c-0x438.7 (13)
0x430|35 38 2e 34 35 2e 31 30 30| |58.45.100| |
| | | tracks[0:1]: 0x2c-0x438.7 (1037)
| | | [0]{}: track 0x2c-0x438.7 (1037)
| | | samples[0:3]: 0x2c-0x196.7 (363)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: sample (opus_packet) 0x2c-0xa4.7 (121)
| | | type: "audio" 0x2c-NA (0)
| | | toc{}: 0x2c-0xa4.7 (121)
| | | config{}: 0x2c-0x2c.4 (0.5)
0x020| f8 | . | config: 31 0x2c-0x2c.4 (0.5)
| | | mode: "CELT-only" 0x2c.5-NA (0)
| | | bandwidth: "FB" 0x2c.5-NA (0)
| | | frame_size: 20 0x2c.5-NA (0)
0x020| f8 | . | stereo: false 0x2c.5-0x2c.5 (0.1)
| | | frames_per_packet{}: 0x2c.6-0x2c.7 (0.2)
0x020| f8 | . | config: 0 0x2c.6-0x2c.7 (0.2)
| | | frames: 1 0x2d-NA (0)
| | | mode: "1 frame" 0x2d-NA (0)
0x020| 22 28 75| "(u| data: raw bits 0x2d-0xa4.7 (120)
0x030|68 a8 dd 59 43 1b ff 52 f3 16 f1 48 28 77 86 10|h..YC..R...H(w..|
* |until 0xa4.7 (120) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: sample (opus_packet) 0xa5-0x11d.7 (121)
| | | type: "audio" 0xa5-NA (0)
| | | toc{}: 0xa5-0x11d.7 (121)
| | | config{}: 0xa5-0xa5.4 (0.5)
0x0a0| f8 | . | config: 31 0xa5-0xa5.4 (0.5)
| | | mode: "CELT-only" 0xa5.5-NA (0)
| | | bandwidth: "FB" 0xa5.5-NA (0)
| | | frame_size: 20 0xa5.5-NA (0)
0x0a0| f8 | . | stereo: false 0xa5.5-0xa5.5 (0.1)
| | | frames_per_packet{}: 0xa5.6-0xa5.7 (0.2)
0x0a0| f8 | . | config: 0 0xa5.6-0xa5.7 (0.2)
| | | frames: 1 0xa6-NA (0)
| | | mode: "1 frame" 0xa6-NA (0)
0x0a0| 72 47 b1 0e a7 fd 3d f8 50 12| rG....=.P.| data: raw bits 0xa6-0x11d.7 (120)
0x0b0|6b 43 42 1f 6c 7a 79 fd 55 31 51 77 1e 83 00 6c|kCB.lzy.U1Qw...l|
* |until 0x11d.7 (120) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: sample (opus_packet) 0x11e-0x196.7 (121)
| | | type: "audio" 0x11e-NA (0)
| | | toc{}: 0x11e-0x196.7 (121)
| | | config{}: 0x11e-0x11e.4 (0.5)
0x110| f8 | . | config: 31 0x11e-0x11e.4 (0.5)
| | | mode: "CELT-only" 0x11e.5-NA (0)
| | | bandwidth: "FB" 0x11e.5-NA (0)
| | | frame_size: 20 0x11e.5-NA (0)
0x110| f8 | . | stereo: false 0x11e.5-0x11e.5 (0.1)
| | | frames_per_packet{}: 0x11e.6-0x11e.7 (0.2)
0x110| f8 | . | config: 0 0x11e.6-0x11e.7 (0.2)
| | | frames: 1 0x11f-NA (0)
| | | mode: "1 frame" 0x11f-NA (0)
0x110| 18| .| data: raw bits 0x11f-0x196.7 (120)
0x120|02 cc 49 57 27 d4 a3 83 e9 53 33 fe 45 62 33 33|..IW'....S3.Eb33|
* |until 0x196.7 (120) | |
| | | id: 1 0x439-NA (0)
| | | data_format: "Opus" (Opus audio coding) 0x439-NA (0)