From e869d8af03ff605b8c820d7d11a9b048c42023b9 Mon Sep 17 00:00:00 2001 From: Sergei Kuzmin Date: Mon, 19 Jun 2023 21:39:33 -0700 Subject: [PATCH] sgpd box entries parsing Previously entries were parsed as raw bytes, now KIDs/IVs are explicitely parsed. --- format/mp4/boxes.go | 47 +- format/mp4/testdata/aac.fqtest | 3 +- format/mp4/testdata/dash.fqtest | 1633 ++++++++++++----------- format/mp4/testdata/dash_audio_1.m4s | Bin 1260 -> 2324 bytes format/mp4/testdata/dash_audio_init.mp4 | Bin 816 -> 902 bytes format/mp4/testdata/dash_in.mp4 | Bin 0 -> 10608 bytes 6 files changed, 869 insertions(+), 814 deletions(-) create mode 100644 format/mp4/testdata/dash_in.mp4 diff --git a/format/mp4/boxes.go b/format/mp4/boxes.go index c8ea761a..27267368 100644 --- a/format/mp4/boxes.go +++ b/format/mp4/boxes.go @@ -1367,27 +1367,48 @@ func decodeBox(ctx *decodeContext, d *decode.D, typ string) { case "sgpd": version := d.FieldU8("version") d.FieldU24("flags") - d.FieldUTF8("grouping_type", 4) + var groupingType = d.FieldUTF8("grouping_type", 4) var defaultLength uint64 if version == 1 { defaultLength = d.FieldU32("default_length") - } - if version >= 2 { + } else if version >= 2 { d.FieldU32("default_sample_description_index") } entryCount := d.FieldU32("entry_count") - d.FieldArray("entries", func(d *decode.D) { - for i := uint64(0); i < entryCount; i++ { - entryLen := defaultLength - if version == 1 { - if defaultLength == 0 { - entryLen = d.FieldU32("description_length") - } else if entryLen == 0 { - d.Fatalf("sgpd groups entry len <= 0 version 1") - } + + d.FieldStructNArray("entries", "entry", int64(entryCount), func(d *decode.D) { + entryLen := defaultLength + if version == 1 { + if defaultLength == 0 { + entryLen = d.FieldU32("description_length") } else if entryLen == 0 { - d.Fatalf("sgpd groups entry len <= 0") + d.Fatalf("sgpd groups entry len == 0") } + } else if entryLen == 0 { + // TODO: this is likely a mistake: here version is != 1, so defaultLength is default (i.e. 0), + // TODO: so entryLen is also 0. So for version != 1 this fatal should always throw + d.Fatalf("sgpd groups entry len == 0") + } + // CENC Sample Encryption Info Entries + switch groupingType { + case "seig": + d.FieldU8("reserved") + d.FieldU4("crypto_bytes") + d.FieldU4("skip_bytes") + isEncrypted := d.FieldU8("is_encrypted") + perSampleIVSize := d.FieldU8("per_sample_iv_size") + d.FieldRawLen("kid", 8*16) + if isEncrypted != 0 { + // If perSampleIVSize > 0 then + if perSampleIVSize == 0 { + // This means whole fragment is encrypted with a constant IV + iVSize := d.FieldU8("constant_iv_size") + d.FieldRawLen("constant_iv", 8*int64(iVSize)) + } + } + case "roll": + d.FieldU16("roll_distance") + default: d.FieldRawLen("data", int64(entryLen)*8) } }) diff --git a/format/mp4/testdata/aac.fqtest b/format/mp4/testdata/aac.fqtest index b8c15e2a..fa42640e 100644 --- a/format/mp4/testdata/aac.fqtest +++ b/format/mp4/testdata/aac.fqtest @@ -308,7 +308,8 @@ $ fq -d mp4 dv aac.mp4 0x510| 00 00 00 02 | .... | default_length: 2 0x515-0x518.7 (4) 0x510| 00 00 00 01 | .... | entry_count: 1 0x519-0x51c.7 (4) | | | entries[0:1]: 0x51d-0x51e.7 (2) -0x510| ff ff | .. | [0]: raw bits data 0x51d-0x51e.7 (2) + | | | [0]{}: entry 0x51d-0x51e.7 (2) +0x510| ff ff | .. | roll_distance: 65535 0x51d-0x51e.7 (2) | | | [6]{}: box 0x51f-0x53a.7 (28) 0x510| 00| .| size: 28 0x51f-0x522.7 (4) 0x520|00 00 1c |... | diff --git a/format/mp4/testdata/dash.fqtest b/format/mp4/testdata/dash.fqtest index 88ce76ea..12be5e0c 100644 --- a/format/mp4/testdata/dash.fqtest +++ b/format/mp4/testdata/dash.fqtest @@ -1,9 +1,9 @@ # ffmpeg -f lavfi -i sine -f lavfi -i testsrc -g 1 -c:a aac -c:v h264 -f mp4 -t 100ms dash_in.mp4 -# packager 'in=dash_in.mp4,stream=audio,init_segment=dash_audio_init.mp4,segment_template=dash_audio_$Number$.m4s +# packager 'in=dash_in.mp4,stream=audio,init_segment=dash_audio_init.mp4,segment_template=dash_audio_$Number$.m4s' --fragment_duration=0.05 --crypto_period_duration=1 --enable_raw_key_encryption --keys=label=AUDIO:key_id=112233445566778899aabbccddeeff00:key=332233445566778899aabbccddeeff00 --iv=442233445566778899aabbccddeeff00 --clear_lead 0 # packager 'in=dash_in.mp4,stream=video,init_segment=dash_video_init.mp4,segment_template=dash_video_$Number$.m4s' $ fq -d mp4 dv dash_audio_init.mp4 - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: dash_audio_init.mp4 (mp4) 0x0-0x32f.7 (816) - | | | boxes[0:2]: 0x0-0x32f.7 (816) + |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: dash_audio_init.mp4 (mp4) 0x0-0x385.7 (902) + | | | boxes[0:2]: 0x0-0x385.7 (902) | | | [0]{}: box 0x0-0x1f.7 (32) 0x000|00 00 00 20 |... | size: 32 0x0-0x3.7 (4) 0x000| 66 74 79 70 | ftyp | type: "ftyp" (File type and compatibility) 0x4-0x7.7 (4) @@ -14,17 +14,17 @@ $ fq -d mp4 dv dash_audio_init.mp4 0x010| 6d 70 34 31 | mp41 | [1]: "mp41" brand (MP4 version 1) 0x14-0x17.7 (4) 0x010| 64 61 73 68 | dash | [2]: "dash" brand (ISO base media file format file specifically designed for DASH including movie fragments and Segment Index) 0x18-0x1b.7 (4) 0x010| 63 6d 66 63| cmfc| [3]: "cmfc" brand (CMAF Track Format) 0x1c-0x1f.7 (4) - | | | [1]{}: box 0x20-0x32f.7 (784) -0x020|00 00 03 10 |.... | size: 784 0x20-0x23.7 (4) + | | | [1]{}: box 0x20-0x385.7 (870) +0x020|00 00 03 66 |...f | size: 870 0x20-0x23.7 (4) 0x020| 6d 6f 6f 76 | moov | type: "moov" (Container for all the meta-data) 0x24-0x27.7 (4) - | | | boxes[0:4]: 0x28-0x32f.7 (776) + | | | boxes[0:4]: 0x28-0x385.7 (862) | | | [0]{}: box 0x28-0x93.7 (108) 0x020| 00 00 00 6c | ...l | size: 108 0x28-0x2b.7 (4) 0x020| 6d 76 68 64| mvhd| type: "mvhd" (Movie header, overall declarations) 0x2c-0x2f.7 (4) 0x030|00 |. | version: 0 0x30-0x30.7 (1) 0x030| 00 00 00 | ... | flags: 0 0x31-0x33.7 (3) -0x030| dd 57 d6 92 | .W.. | creation_time: 3713521298 (2021-09-03T13:41:38Z) 0x34-0x37.7 (4) -0x030| dd 57 d6 92 | .W.. | modification_time: 3713521298 (2021-09-03T13:41:38Z) 0x38-0x3b.7 (4) +0x030| e0 b8 2a 76 | ..*v | creation_time: 3770165878 (2023-06-21T04:17:58Z) 0x34-0x37.7 (4) +0x030| e0 b8 2a 76 | ..*v | modification_time: 3770165878 (2023-06-21T04:17:58Z) 0x38-0x3b.7 (4) 0x030| 00 00 ac 44| ...D| time_scale: 44100 0x3c-0x3f.7 (4) 0x040|00 00 00 00 |.... | duration: 0 0x40-0x43.7 (4) 0x040| 00 01 00 00 | .... | preferred_rate: 1 0x44-0x47.7 (4) @@ -48,11 +48,11 @@ $ fq -d mp4 dv dash_audio_init.mp4 0x080| 00 00 00 00 | .... | selection_duration: 0 0x88-0x8b.7 (4) 0x080| 00 00 00 00| ....| current_time: 0 0x8c-0x8f.7 (4) 0x090|00 00 00 02 |.... | next_track_id: 2 0x90-0x93.7 (4) - | | | [1]{}: box 0x94-0x11a.7 (135) -0x090| 00 00 00 87 | .... | size: 135 0x94-0x97.7 (4) + | | | [1]{}: box 0x94-0x120.7 (141) +0x090| 00 00 00 8d | .... | size: 141 0x94-0x97.7 (4) 0x090| 6d 65 74 61 | meta | type: "meta" (Metadata container) 0x98-0x9b.7 (4) 0x090| 00 00 00 00| ....| maybe_flags: 0 0x9c-0x9f.7 (4) - | | | boxes[0:2]: 0xa0-0x11a.7 (123) + | | | boxes[0:2]: 0xa0-0x120.7 (129) | | | [0]{}: box 0xa0-0xbf.7 (32) 0x0a0|00 00 00 20 |... | size: 32 0xa0-0xa3.7 (4) 0x0a0| 68 64 6c 72 | hdlr | type: "hdlr" (Handler, declares the media (handler) type) 0xa4-0xa7.7 (4) @@ -64,14 +64,14 @@ $ fq -d mp4 dv dash_audio_init.mp4 0x0b0| 00 00 00 00 | .... | component_flags: 0 0xb8-0xbb.7 (4) 0x0b0| 00 00 00 00| ....| component_flags_mask: 0 0xbc-0xbf.7 (4) | | | component_name: "" 0xc0-NA (0) - | | | [1]{}: box 0xc0-0x11a.7 (91) -0x0c0|00 00 00 5b |...[ | size: 91 0xc0-0xc3.7 (4) + | | | [1]{}: box 0xc0-0x120.7 (97) +0x0c0|00 00 00 61 |...a | size: 97 0xc0-0xc3.7 (4) 0x0c0| 49 44 33 32 | ID32 | type: "ID32" (ID3 version 2 container) 0xc4-0xc7.7 (4) 0x0c0| 00 | . | version: 0 0xc8-0xc8.7 (1) 0x0c0| 00 00 00 | ... | flags: 0 0xc9-0xcb.7 (3) 0x0c0| 15 | . | pad: 0 0xcc-0xcc (0.1) 0x0c0| 15 c7 | .. | language: "eng" 0xcc.1-0xcd.7 (1.7) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data{}: (id3v2) 0xce-0x11a.7 (77) + |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data{}: (id3v2) 0xce-0x120.7 (83) | | | header{}: 0xce-0xd7.7 (10) 0x0c0| 49 44| ID| magic: "ID3" (valid) 0xce-0xd0.7 (3) 0x0d0|33 |3 | @@ -82,11 +82,11 @@ $ fq -d mp4 dv dash_audio_init.mp4 0x0d0| 00 | . | extended_header: false 0xd3.1-0xd3.1 (0.1) 0x0d0| 00 | . | experimental_indicator: false 0xd3.2-0xd3.2 (0.1) 0x0d0| 00 | . | unused: 0 0xd3.3-0xd3.7 (0.5) -0x0d0| 00 00 00 43 | ...C | size: 67 0xd4-0xd7.7 (4) - | | | frames[0:1]: 0xd8-0x11a.7 (67) - | | | [0]{}: frame 0xd8-0x11a.7 (67) +0x0d0| 00 00 00 49 | ...I | size: 73 0xd4-0xd7.7 (4) + | | | frames[0:1]: 0xd8-0x120.7 (73) + | | | [0]{}: frame 0xd8-0x120.7 (73) 0x0d0| 50 52 49 56 | PRIV | id: "PRIV" (Private frame) 0xd8-0xdb.7 (4) -0x0d0| 00 00 00 39| ...9| size: 57 0xdc-0xdf.7 (4) +0x0d0| 00 00 00 3f| ...?| size: 63 0xdc-0xdf.7 (4) | | | flags{}: 0xe0-0xe1.7 (2) 0x0e0|00 |. | unused0: 0 0xe0-0xe0 (0.1) 0x0e0|00 |. | tag_alter_preservation: false 0xe0.1-0xe0.1 (0.1) @@ -102,264 +102,305 @@ $ fq -d mp4 dv dash_audio_init.mp4 0x0e0| 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62| https://github| owner: "https://github.com/google/shaka-packager" 0xe2-0x10a.7 (41) 0x0f0|2e 63 6f 6d 2f 67 6f 6f 67 6c 65 2f 73 68 61 6b|.com/google/shak| 0x100|61 2d 70 61 63 6b 61 67 65 72 00 |a-packager. | -0x100| 64 64 39 38 37| dd987| data: raw bits 0x10b-0x11a.7 (16) -0x110|30 30 37 2d 72 65 6c 65 61 73 65 |007-release | - | | | [2]{}: box 0x11b-0x2f7.7 (477) -0x110| 00 00 01 dd | .... | size: 477 0x11b-0x11e.7 (4) -0x110| 74| t| type: "trak" (Container for an individual track or stream) 0x11f-0x122.7 (4) -0x120|72 61 6b |rak | - | | | boxes[0:3]: 0x123-0x2f7.7 (469) - | | | [0]{}: box 0x123-0x17e.7 (92) -0x120| 00 00 00 5c | ...\ | size: 92 0x123-0x126.7 (4) -0x120| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x127-0x12a.7 (4) -0x120| 00 | . | version: 0 0x12b-0x12b.7 (1) - | | | flags{}: 0x12c-0x12e.7 (3) -0x120| 00 00 07 | ... | unused: 0 0x12c-0x12e.3 (2.4) -0x120| 07 | . | size_is_aspect_ratio: false 0x12e.4-0x12e.4 (0.1) -0x120| 07 | . | in_preview: true 0x12e.5-0x12e.5 (0.1) -0x120| 07 | . | in_movie: true 0x12e.6-0x12e.6 (0.1) -0x120| 07 | . | enabled: true 0x12e.7-0x12e.7 (0.1) -0x120| dd| .| creation_time: 3713521298 (2021-09-03T13:41:38Z) 0x12f-0x132.7 (4) -0x130|57 d6 92 |W.. | -0x130| dd 57 d6 92 | .W.. | modification_time: 3713521298 (2021-09-03T13:41:38Z) 0x133-0x136.7 (4) -0x130| 00 00 00 01 | .... | track_id: 1 0x137-0x13a.7 (4) -0x130| 00 00 00 00 | .... | reserved1: 0 0x13b-0x13e.7 (4) -0x130| 00| .| duration: 0 0x13f-0x142.7 (4) -0x140|00 00 00 |... | -0x140| 00 00 00 00 00 00 00 00 | ........ | reserved2: raw bits 0x143-0x14a.7 (8) -0x140| 00 00 | .. | layer: 0 0x14b-0x14c.7 (2) -0x140| 00 00 | .. | alternate_group: 0 0x14d-0x14e.7 (2) -0x140| 01| .| volume: 1 0x14f-0x150.7 (2) +0x100| 76 32 2e 34 2e| v2.4.| data: raw bits 0x10b-0x120.7 (22) +0x110|33 2d 64 64 39 38 37 30 30 2d 72 65 6c 65 61 73|3-dd98700-releas| +0x120|65 |e | + | | | [2]{}: box 0x121-0x34d.7 (557) +0x120| 00 00 02 2d | ...- | size: 557 0x121-0x124.7 (4) +0x120| 74 72 61 6b | trak | type: "trak" (Container for an individual track or stream) 0x125-0x128.7 (4) + | | | boxes[0:3]: 0x129-0x34d.7 (549) + | | | [0]{}: box 0x129-0x184.7 (92) +0x120| 00 00 00 5c | ...\ | size: 92 0x129-0x12c.7 (4) +0x120| 74 6b 68| tkh| type: "tkhd" (Track header, overall information about the track) 0x12d-0x130.7 (4) +0x130|64 |d | +0x130| 00 | . | version: 0 0x131-0x131.7 (1) + | | | flags{}: 0x132-0x134.7 (3) +0x130| 00 00 07 | ... | unused: 0 0x132-0x134.3 (2.4) +0x130| 07 | . | size_is_aspect_ratio: false 0x134.4-0x134.4 (0.1) +0x130| 07 | . | in_preview: true 0x134.5-0x134.5 (0.1) +0x130| 07 | . | in_movie: true 0x134.6-0x134.6 (0.1) +0x130| 07 | . | enabled: true 0x134.7-0x134.7 (0.1) +0x130| e0 b8 2a 76 | ..*v | creation_time: 3770165878 (2023-06-21T04:17:58Z) 0x135-0x138.7 (4) +0x130| e0 b8 2a 76 | ..*v | modification_time: 3770165878 (2023-06-21T04:17:58Z) 0x139-0x13c.7 (4) +0x130| 00 00 00| ...| track_id: 1 0x13d-0x140.7 (4) +0x140|01 |. | +0x140| 00 00 00 00 | .... | reserved1: 0 0x141-0x144.7 (4) +0x140| 00 00 00 00 | .... | duration: 0 0x145-0x148.7 (4) +0x140| 00 00 00 00 00 00 00| .......| reserved2: raw bits 0x149-0x150.7 (8) 0x150|00 |. | -0x150| 00 00 | .. | reserved3: 0 0x151-0x152.7 (2) - | | | matrix_structure{}: 0x153-0x176.7 (36) -0x150| 00 01 00 00 | .... | a: 1 0x153-0x156.7 (4) -0x150| 00 00 00 00 | .... | b: 0 0x157-0x15a.7 (4) -0x150| 00 00 00 00 | .... | u: 0 0x15b-0x15e.7 (4) -0x150| 00| .| c: 0 0x15f-0x162.7 (4) -0x160|00 00 00 |... | -0x160| 00 01 00 00 | .... | d: 1 0x163-0x166.7 (4) -0x160| 00 00 00 00 | .... | v: 0 0x167-0x16a.7 (4) -0x160| 00 00 00 00 | .... | x: 0 0x16b-0x16e.7 (4) -0x160| 00| .| y: 0 0x16f-0x172.7 (4) -0x170|00 00 00 |... | -0x170| 40 00 00 00 | @... | w: 1 0x173-0x176.7 (4) -0x170| 00 00 00 00 | .... | track_width: 0 0x177-0x17a.7 (4) -0x170| 00 00 00 00 | .... | track_height: 0 0x17b-0x17e.7 (4) - | | | [1]{}: box 0x17f-0x2d3.7 (341) -0x170| 00| .| size: 341 0x17f-0x182.7 (4) -0x180|00 01 55 |..U | -0x180| 6d 64 69 61 | mdia | type: "mdia" (Container for the media information in a track) 0x183-0x186.7 (4) - | | | boxes[0:3]: 0x187-0x2d3.7 (333) - | | | [0]{}: box 0x187-0x1a6.7 (32) -0x180| 00 00 00 20 | ... | size: 32 0x187-0x18a.7 (4) -0x180| 6d 64 68 64 | mdhd | type: "mdhd" (Media header, overall information about the media) 0x18b-0x18e.7 (4) -0x180| 00| .| version: 0 0x18f-0x18f.7 (1) -0x190|00 00 00 |... | flags: 0 0x190-0x192.7 (3) -0x190| dd 57 d6 92 | .W.. | creation_time: 3713521298 (2021-09-03T13:41:38Z) 0x193-0x196.7 (4) -0x190| dd 57 d6 92 | .W.. | modification_time: 3713521298 (2021-09-03T13:41:38Z) 0x197-0x19a.7 (4) -0x190| 00 00 ac 44 | ...D | time_scale: 44100 0x19b-0x19e.7 (4) -0x190| 00| .| duration: 0 0x19f-0x1a2.7 (4) -0x1a0|00 00 00 |... | -0x1a0| 55 c4 | U. | language: "und" 0x1a3-0x1a4.7 (2) -0x1a0| 00 00 | .. | quality: 0 0x1a5-0x1a6.7 (2) - | | | [1]{}: box 0x1a7-0x1d3.7 (45) -0x1a0| 00 00 00 2d | ...- | size: 45 0x1a7-0x1aa.7 (4) -0x1a0| 68 64 6c 72 | hdlr | type: "hdlr" (Handler, declares the media (handler) type) 0x1ab-0x1ae.7 (4) -0x1a0| 00| .| version: 0 0x1af-0x1af.7 (1) -0x1b0|00 00 00 |... | flags: 0 0x1b0-0x1b2.7 (3) -0x1b0| 00 00 00 00 | .... | component_type: "" 0x1b3-0x1b6.7 (4) -0x1b0| 73 6f 75 6e | soun | component_subtype: "soun" (Audio Track) 0x1b7-0x1ba.7 (4) -0x1b0| 00 00 00 00 | .... | component_manufacturer: "" 0x1bb-0x1be.7 (4) -0x1b0| 00| .| component_flags: 0 0x1bf-0x1c2.7 (4) -0x1c0|00 00 00 |... | -0x1c0| 00 00 00 00 | .... | component_flags_mask: 0 0x1c3-0x1c6.7 (4) -0x1c0| 53 6f 75 6e 64 48 61 6e 64| SoundHand| component_name: "SoundHandler" 0x1c7-0x1d3.7 (13) -0x1d0|6c 65 72 00 |ler. | - | | | [2]{}: box 0x1d4-0x2d3.7 (256) -0x1d0| 00 00 01 00 | .... | size: 256 0x1d4-0x1d7.7 (4) -0x1d0| 6d 69 6e 66 | minf | type: "minf" (Media information container) 0x1d8-0x1db.7 (4) - | | | boxes[0:3]: 0x1dc-0x2d3.7 (248) - | | | [0]{}: box 0x1dc-0x1ff.7 (36) -0x1d0| 00 00 00 24| ...$| size: 36 0x1dc-0x1df.7 (4) -0x1e0|64 69 6e 66 |dinf | type: "dinf" (Data information box, container) 0x1e0-0x1e3.7 (4) - | | | boxes[0:1]: 0x1e4-0x1ff.7 (28) - | | | [0]{}: box 0x1e4-0x1ff.7 (28) -0x1e0| 00 00 00 1c | .... | size: 28 0x1e4-0x1e7.7 (4) -0x1e0| 64 72 65 66 | dref | type: "dref" (Data reference box, declares source(s) of media data in track) 0x1e8-0x1eb.7 (4) -0x1e0| 00 | . | version: 0 0x1ec-0x1ec.7 (1) -0x1e0| 00 00 00| ...| flags: 0 0x1ed-0x1ef.7 (3) -0x1f0|00 00 00 01 |.... | entry_count: 1 0x1f0-0x1f3.7 (4) - | | | boxes[0:1]: 0x1f4-0x1ff.7 (12) - | | | [0]{}: box 0x1f4-0x1ff.7 (12) -0x1f0| 00 00 00 0c | .... | size: 12 0x1f4-0x1f7.7 (4) -0x1f0| 75 72 6c 20 | url | type: "url " 0x1f8-0x1fb.7 (4) -0x1f0| 00 | . | version: 0 0x1fc-0x1fc.7 (1) -0x1f0| 00 00 01| ...| flags: 1 0x1fd-0x1ff.7 (3) - | | | data: raw bits 0x200-NA (0) - | | | [1]{}: box 0x200-0x2c3.7 (196) -0x200|00 00 00 c4 |.... | size: 196 0x200-0x203.7 (4) -0x200| 73 74 62 6c | stbl | type: "stbl" (Sample table box, container for the time/space map) 0x204-0x207.7 (4) - | | | boxes[0:6]: 0x208-0x2c3.7 (188) - | | | [0]{}: box 0x208-0x265.7 (94) -0x200| 00 00 00 5e | ...^ | size: 94 0x208-0x20b.7 (4) -0x200| 73 74 73 64| stsd| type: "stsd" (Sample descriptions (codec types, initialization etc.)) 0x20c-0x20f.7 (4) -0x210|00 |. | version: 0 0x210-0x210.7 (1) -0x210| 00 00 00 | ... | flags: 0 0x211-0x213.7 (3) -0x210| 00 00 00 01 | .... | entry_count: 1 0x214-0x217.7 (4) - | | | boxes[0:1]: 0x218-0x265.7 (78) - | | | [0]{}: box 0x218-0x265.7 (78) -0x210| 00 00 00 4e | ...N | size: 78 0x218-0x21b.7 (4) -0x210| 6d 70 34 61| mp4a| type: "mp4a" (MPEG-4 Audio) 0x21c-0x21f.7 (4) -0x220|00 00 00 00 00 00 |...... | reserved: raw bits 0x220-0x225.7 (6) -0x220| 00 01 | .. | data_reference_index: 1 0x226-0x227.7 (2) -0x220| 00 00 | .. | version: 0 0x228-0x229.7 (2) -0x220| 00 00 | .. | revision_level: 0 0x22a-0x22b.7 (2) -0x220| 00 00 00 00| ....| max_packet_size: 0 0x22c-0x22f.7 (4) -0x230|00 01 |.. | num_audio_channels: 1 0x230-0x231.7 (2) -0x230| 00 10 | .. | sample_size: 16 0x232-0x233.7 (2) -0x230| 00 00 | .. | compression_id: 0 0x234-0x235.7 (2) -0x230| 00 00 | .. | packet_size: 0 0x236-0x237.7 (2) -0x230| ac 44 00 00 | .D.. | sample_rate: 44100 0x238-0x23b.7 (4) - | | | boxes[0:1]: 0x23c-0x265.7 (42) - | | | [0]{}: box 0x23c-0x265.7 (42) -0x230| 00 00 00 2a| ...*| size: 42 0x23c-0x23f.7 (4) -0x240|65 73 64 73 |esds | type: "esds" (Elementary stream descriptor) 0x240-0x243.7 (4) -0x240| 00 00 00 00 | .... | version: 0 0x244-0x247.7 (4) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| descriptor{}: (mpeg_es) 0x248-0x265.7 (30) -0x240| 03 | . | tag_id: "ES_DescrTag" (3) 0x248-0x248.7 (1) -0x240| 1c | . | length: 28 0x249-0x249.7 (1) -0x240| 00 01 | .. | es_id: 1 0x24a-0x24b.7 (2) -0x240| 00 | . | stream_dependency_flag: false 0x24c-0x24c (0.1) -0x240| 00 | . | url_flag: false 0x24c.1-0x24c.1 (0.1) -0x240| 00 | . | ocr_stream_flag: false 0x24c.2-0x24c.2 (0.1) -0x240| 00 | . | stream_priority: 0 0x24c.3-0x24c.7 (0.5) - | | | dec_config_descr{}: 0x24d-0x262.7 (22) -0x240| 04 | . | tag_id: "DecoderConfigDescrTag" (4) 0x24d-0x24d.7 (1) -0x240| 14 | . | length: 20 0x24e-0x24e.7 (1) -0x240| 40| @| object_type_indication: "MPEGObjectTypeAAC" (64) 0x24f-0x24f.7 (1) -0x250|15 |. | stream_type: "AudioStream" (5) 0x250-0x250.5 (0.6) -0x250|15 |. | upstream: false 0x250.6-0x250.6 (0.1) -0x250|15 |. | specific_info_flag: true 0x250.7-0x250.7 (0.1) -0x250| 00 00 00 | ... | buffer_size_db: 0 0x251-0x253.7 (3) -0x250| 00 01 0d 88 | .... | max_bit_rate: 69000 0x254-0x257.7 (4) -0x250| 00 00 ff a3 | .... | avg_bit_rate: 65443 0x258-0x25b.7 (4) - | | | decoder_specific_info{}: 0x25c-0x262.7 (7) -0x250| 05 | . | tag_id: "DecSpecificInfoTag" (5) 0x25c-0x25c.7 (1) -0x250| 05 | . | length: 5 0x25d-0x25d.7 (1) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| audio_specific_config{}: (mpeg_asc) 0x25e-0x262.7 (5) -0x250| 12 | . | object_type: "aac_lc" (2) (AAC Low Complexity) 0x25e-0x25e.4 (0.5) -0x250| 12 08| ..| sampling_frequency: 44100 (4) 0x25e.5-0x25f (0.4) -0x250| 08| .| channel_configuration: 1 (front-center) 0x25f.1-0x25f.4 (0.4) -0x250| 08| .| var_aot_or_byte_align: raw bits 0x25f.5-0x262.7 (3.3) -0x260|56 e5 00 |V.. | - | | | sl_config_descr{}: 0x263-0x265.7 (3) -0x260| 06 | . | tag_id: "SLConfigDescrTag" (6) 0x263-0x263.7 (1) -0x260| 01 | . | length: 1 0x264-0x264.7 (1) -0x260| 02 | . | data: raw bits 0x265-0x265.7 (1) - | | | [1]{}: box 0x266-0x275.7 (16) -0x260| 00 00 00 10 | .... | size: 16 0x266-0x269.7 (4) -0x260| 73 74 74 73 | stts | type: "stts" (Sample time-to-sample) 0x26a-0x26d.7 (4) -0x260| 00 | . | version: 0 0x26e-0x26e.7 (1) -0x260| 00| .| flags: 0 0x26f-0x271.7 (3) -0x270|00 00 |.. | -0x270| 00 00 00 00 | .... | entry_count: 0 0x272-0x275.7 (4) - | | | entries[0:0]: 0x276-NA (0) - | | | [2]{}: box 0x276-0x285.7 (16) -0x270| 00 00 00 10 | .... | size: 16 0x276-0x279.7 (4) -0x270| 73 74 73 63 | stsc | type: "stsc" (Sample-to-chunk, partial data-offset information) 0x27a-0x27d.7 (4) -0x270| 00 | . | version: 0 0x27e-0x27e.7 (1) -0x270| 00| .| flags: 0 0x27f-0x281.7 (3) -0x280|00 00 |.. | -0x280| 00 00 00 00 | .... | entry_count: 0 0x282-0x285.7 (4) - | | | entries[0:0]: 0x286-NA (0) - | | | [3]{}: box 0x286-0x299.7 (20) -0x280| 00 00 00 14 | .... | size: 20 0x286-0x289.7 (4) -0x280| 73 74 73 7a | stsz | type: "stsz" (Sample sizes (framing)) 0x28a-0x28d.7 (4) -0x280| 00 | . | version: 0 0x28e-0x28e.7 (1) -0x280| 00| .| flags: 0 0x28f-0x291.7 (3) -0x290|00 00 |.. | -0x290| 00 00 00 00 | .... | sample_size: 0 0x292-0x295.7 (4) -0x290| 00 00 00 00 | .... | entry_count: 0 0x296-0x299.7 (4) - | | | entries[0:0]: 0x29a-NA (0) - | | | [4]{}: box 0x29a-0x2a9.7 (16) -0x290| 00 00 00 10 | .... | size: 16 0x29a-0x29d.7 (4) -0x290| 73 74| st| type: "stco" (Chunk offset, partial data-offset information) 0x29e-0x2a1.7 (4) -0x2a0|63 6f |co | -0x2a0| 00 | . | version: 0 0x2a2-0x2a2.7 (1) -0x2a0| 00 00 00 | ... | flags: 0 0x2a3-0x2a5.7 (3) -0x2a0| 00 00 00 00 | .... | entry_count: 0 0x2a6-0x2a9.7 (4) - | | | entries[0:0]: 0x2aa-NA (0) - | | | [5]{}: box 0x2aa-0x2c3.7 (26) -0x2a0| 00 00 00 1a | .... | size: 26 0x2aa-0x2ad.7 (4) -0x2a0| 73 67| sg| type: "sgpd" (Sample group definition box) 0x2ae-0x2b1.7 (4) -0x2b0|70 64 |pd | -0x2b0| 01 | . | version: 1 0x2b2-0x2b2.7 (1) -0x2b0| 00 00 00 | ... | flags: 0 0x2b3-0x2b5.7 (3) -0x2b0| 72 6f 6c 6c | roll | grouping_type: "roll" 0x2b6-0x2b9.7 (4) -0x2b0| 00 00 00 02 | .... | default_length: 2 0x2ba-0x2bd.7 (4) -0x2b0| 00 00| ..| entry_count: 1 0x2be-0x2c1.7 (4) -0x2c0|00 01 |.. | - | | | entries[0:1]: 0x2c2-0x2c3.7 (2) -0x2c0| ff ff | .. | [0]: raw bits data 0x2c2-0x2c3.7 (2) - | | | [2]{}: box 0x2c4-0x2d3.7 (16) -0x2c0| 00 00 00 10 | .... | size: 16 0x2c4-0x2c7.7 (4) -0x2c0| 73 6d 68 64 | smhd | type: "smhd" (Sound media header, overall information (sound track only)) 0x2c8-0x2cb.7 (4) -0x2c0| 00 | . | version: 0 0x2cc-0x2cc.7 (1) -0x2c0| 00 00 00| ...| flags: 0 0x2cd-0x2cf.7 (3) -0x2d0|00 00 |.. | balance: 0 0x2d0-0x2d1.7 (2) -0x2d0| 00 00 | .. | reserved: 0 0x2d2-0x2d3.7 (2) - | | | [2]{}: box 0x2d4-0x2f7.7 (36) -0x2d0| 00 00 00 24 | ...$ | size: 36 0x2d4-0x2d7.7 (4) -0x2d0| 65 64 74 73 | edts | type: "edts" (Edit list container) 0x2d8-0x2db.7 (4) - | | | boxes[0:1]: 0x2dc-0x2f7.7 (28) - | | | [0]{}: box 0x2dc-0x2f7.7 (28) -0x2d0| 00 00 00 1c| ....| size: 28 0x2dc-0x2df.7 (4) -0x2e0|65 6c 73 74 |elst | type: "elst" (An edit list) 0x2e0-0x2e3.7 (4) -0x2e0| 00 | . | version: 0 0x2e4-0x2e4.7 (1) -0x2e0| 00 00 00 | ... | flags: 0 0x2e5-0x2e7.7 (3) -0x2e0| 00 00 00 01 | .... | entry_count: 1 0x2e8-0x2eb.7 (4) - | | | entries[0:1]: 0x2ec-0x2f7.7 (12) - | | | [0]{}: entry 0x2ec-0x2f7.7 (12) -0x2e0| 00 00 00 00| ....| segment_duration: 0 0x2ec-0x2ef.7 (4) -0x2f0|00 00 04 00 |.... | media_time: 1024 0x2f0-0x2f3.7 (4) -0x2f0| 00 01 00 00 | .... | media_rate: 1 0x2f4-0x2f7.7 (4) - | | | [3]{}: box 0x2f8-0x32f.7 (56) -0x2f0| 00 00 00 38 | ...8 | size: 56 0x2f8-0x2fb.7 (4) -0x2f0| 6d 76 65 78| mvex| type: "mvex" (Movie extends box) 0x2fc-0x2ff.7 (4) - | | | boxes[0:2]: 0x300-0x32f.7 (48) - | | | [0]{}: box 0x300-0x30f.7 (16) -0x300|00 00 00 10 |.... | size: 16 0x300-0x303.7 (4) -0x300| 6d 65 68 64 | mehd | type: "mehd" (Movie extends header box) 0x304-0x307.7 (4) -0x300| 00 | . | version: 0 0x308-0x308.7 (1) -0x300| 00 00 00 | ... | flags: 0 0x309-0x30b.7 (3) -0x300| 00 00 15 3a| ...:| fragment_duration: 5434 0x30c-0x30f.7 (4) - | | | [1]{}: box 0x310-0x32f.7 (32) -0x310|00 00 00 20 |... | size: 32 0x310-0x313.7 (4) -0x310| 74 72 65 78 | trex | type: "trex" (Track extends defaults) 0x314-0x317.7 (4) -0x310| 00 | . | version: 0 0x318-0x318.7 (1) -0x310| 00 00 00 | ... | flags: 0 0x319-0x31b.7 (3) -0x310| 00 00 00 01| ....| track_id: 1 0x31c-0x31f.7 (4) -0x320|00 00 00 01 |.... | default_sample_description_index: 1 0x320-0x323.7 (4) -0x320| 00 00 04 00 | .... | default_sample_duration: 1024 0x324-0x327.7 (4) -0x320| 00 00 00 00 | .... | default_sample_size: 0 0x328-0x32b.7 (4) - | | | default_sample_flags{}: 0x32c-0x32f.7 (4) -0x320| 00 | . | reserved0: 0 0x32c-0x32c.3 (0.4) -0x320| 00 | . | is_leading: 0 0x32c.4-0x32c.5 (0.2) -0x320| 00 | . | sample_depends_on: "unknown" (0) 0x32c.6-0x32c.7 (0.2) -0x320| 00 | . | sample_is_depended_on: "unknown" (0) 0x32d-0x32d.1 (0.2) -0x320| 00 | . | sample_has_redundancy: "unknown" (0) 0x32d.2-0x32d.3 (0.2) -0x320| 00 | . | sample_padding_value: 0 0x32d.4-0x32d.6 (0.3) -0x320| 00 | . | sample_is_non_sync_sample: 0 0x32d.7-0x32d.7 (0.1) -0x320| 00 00| ..| sample_degradation_priority: 0 0x32e-0x32f.7 (2) - | | | tracks[0:1]: 0x330-NA (0) - | | | [0]{}: track 0x330-NA (0) - | | | id: 1 0x330-NA (0) - | | | data_format: "mp4a" (MPEG-4 Audio) 0x330-NA (0) - | | | samples[0:0]: 0x330-NA (0) +0x150| 00 00 | .. | layer: 0 0x151-0x152.7 (2) +0x150| 00 00 | .. | alternate_group: 0 0x153-0x154.7 (2) +0x150| 01 00 | .. | volume: 1 0x155-0x156.7 (2) +0x150| 00 00 | .. | reserved3: 0 0x157-0x158.7 (2) + | | | matrix_structure{}: 0x159-0x17c.7 (36) +0x150| 00 01 00 00 | .... | a: 1 0x159-0x15c.7 (4) +0x150| 00 00 00| ...| b: 0 0x15d-0x160.7 (4) +0x160|00 |. | +0x160| 00 00 00 00 | .... | u: 0 0x161-0x164.7 (4) +0x160| 00 00 00 00 | .... | c: 0 0x165-0x168.7 (4) +0x160| 00 01 00 00 | .... | d: 1 0x169-0x16c.7 (4) +0x160| 00 00 00| ...| v: 0 0x16d-0x170.7 (4) +0x170|00 |. | +0x170| 00 00 00 00 | .... | x: 0 0x171-0x174.7 (4) +0x170| 00 00 00 00 | .... | y: 0 0x175-0x178.7 (4) +0x170| 40 00 00 00 | @... | w: 1 0x179-0x17c.7 (4) +0x170| 00 00 00| ...| track_width: 0 0x17d-0x180.7 (4) +0x180|00 |. | +0x180| 00 00 00 00 | .... | track_height: 0 0x181-0x184.7 (4) + | | | [1]{}: box 0x185-0x329.7 (421) +0x180| 00 00 01 a5 | .... | size: 421 0x185-0x188.7 (4) +0x180| 6d 64 69 61 | mdia | type: "mdia" (Container for the media information in a track) 0x189-0x18c.7 (4) + | | | boxes[0:3]: 0x18d-0x329.7 (413) + | | | [0]{}: box 0x18d-0x1ac.7 (32) +0x180| 00 00 00| ...| size: 32 0x18d-0x190.7 (4) +0x190|20 | | +0x190| 6d 64 68 64 | mdhd | type: "mdhd" (Media header, overall information about the media) 0x191-0x194.7 (4) +0x190| 00 | . | version: 0 0x195-0x195.7 (1) +0x190| 00 00 00 | ... | flags: 0 0x196-0x198.7 (3) +0x190| e0 b8 2a 76 | ..*v | creation_time: 3770165878 (2023-06-21T04:17:58Z) 0x199-0x19c.7 (4) +0x190| e0 b8 2a| ..*| modification_time: 3770165878 (2023-06-21T04:17:58Z) 0x19d-0x1a0.7 (4) +0x1a0|76 |v | +0x1a0| 00 00 ac 44 | ...D | time_scale: 44100 0x1a1-0x1a4.7 (4) +0x1a0| 00 00 00 00 | .... | duration: 0 0x1a5-0x1a8.7 (4) +0x1a0| 55 c4 | U. | language: "und" 0x1a9-0x1aa.7 (2) +0x1a0| 00 00 | .. | quality: 0 0x1ab-0x1ac.7 (2) + | | | [1]{}: box 0x1ad-0x1d9.7 (45) +0x1a0| 00 00 00| ...| size: 45 0x1ad-0x1b0.7 (4) +0x1b0|2d |- | +0x1b0| 68 64 6c 72 | hdlr | type: "hdlr" (Handler, declares the media (handler) type) 0x1b1-0x1b4.7 (4) +0x1b0| 00 | . | version: 0 0x1b5-0x1b5.7 (1) +0x1b0| 00 00 00 | ... | flags: 0 0x1b6-0x1b8.7 (3) +0x1b0| 00 00 00 00 | .... | component_type: "" 0x1b9-0x1bc.7 (4) +0x1b0| 73 6f 75| sou| component_subtype: "soun" (Audio Track) 0x1bd-0x1c0.7 (4) +0x1c0|6e |n | +0x1c0| 00 00 00 00 | .... | component_manufacturer: "" 0x1c1-0x1c4.7 (4) +0x1c0| 00 00 00 00 | .... | component_flags: 0 0x1c5-0x1c8.7 (4) +0x1c0| 00 00 00 00 | .... | component_flags_mask: 0 0x1c9-0x1cc.7 (4) +0x1c0| 53 6f 75| Sou| component_name: "SoundHandler" 0x1cd-0x1d9.7 (13) +0x1d0|6e 64 48 61 6e 64 6c 65 72 00 |ndHandler. | + | | | [2]{}: box 0x1da-0x329.7 (336) +0x1d0| 00 00 01 50 | ...P | size: 336 0x1da-0x1dd.7 (4) +0x1d0| 6d 69| mi| type: "minf" (Media information container) 0x1de-0x1e1.7 (4) +0x1e0|6e 66 |nf | + | | | boxes[0:3]: 0x1e2-0x329.7 (328) + | | | [0]{}: box 0x1e2-0x205.7 (36) +0x1e0| 00 00 00 24 | ...$ | size: 36 0x1e2-0x1e5.7 (4) +0x1e0| 64 69 6e 66 | dinf | type: "dinf" (Data information box, container) 0x1e6-0x1e9.7 (4) + | | | boxes[0:1]: 0x1ea-0x205.7 (28) + | | | [0]{}: box 0x1ea-0x205.7 (28) +0x1e0| 00 00 00 1c | .... | size: 28 0x1ea-0x1ed.7 (4) +0x1e0| 64 72| dr| type: "dref" (Data reference box, declares source(s) of media data in track) 0x1ee-0x1f1.7 (4) +0x1f0|65 66 |ef | +0x1f0| 00 | . | version: 0 0x1f2-0x1f2.7 (1) +0x1f0| 00 00 00 | ... | flags: 0 0x1f3-0x1f5.7 (3) +0x1f0| 00 00 00 01 | .... | entry_count: 1 0x1f6-0x1f9.7 (4) + | | | boxes[0:1]: 0x1fa-0x205.7 (12) + | | | [0]{}: box 0x1fa-0x205.7 (12) +0x1f0| 00 00 00 0c | .... | size: 12 0x1fa-0x1fd.7 (4) +0x1f0| 75 72| ur| type: "url " 0x1fe-0x201.7 (4) +0x200|6c 20 |l | +0x200| 00 | . | version: 0 0x202-0x202.7 (1) +0x200| 00 00 01 | ... | flags: 1 0x203-0x205.7 (3) + | | | data: raw bits 0x206-NA (0) + | | | [1]{}: box 0x206-0x319.7 (276) +0x200| 00 00 01 14 | .... | size: 276 0x206-0x209.7 (4) +0x200| 73 74 62 6c | stbl | type: "stbl" (Sample table box, container for the time/space map) 0x20a-0x20d.7 (4) + | | | boxes[0:6]: 0x20e-0x319.7 (268) + | | | [0]{}: box 0x20e-0x2bb.7 (174) +0x200| 00 00| ..| size: 174 0x20e-0x211.7 (4) +0x210|00 ae |.. | +0x210| 73 74 73 64 | stsd | type: "stsd" (Sample descriptions (codec types, initialization etc.)) 0x212-0x215.7 (4) +0x210| 00 | . | version: 0 0x216-0x216.7 (1) +0x210| 00 00 00 | ... | flags: 0 0x217-0x219.7 (3) +0x210| 00 00 00 01 | .... | entry_count: 1 0x21a-0x21d.7 (4) + | | | boxes[0:1]: 0x21e-0x2bb.7 (158) + | | | [0]{}: box 0x21e-0x2bb.7 (158) +0x210| 00 00| ..| size: 158 0x21e-0x221.7 (4) +0x220|00 9e |.. | +0x220| 65 6e 63 61 | enca | type: "enca" (Encrypted/Protected audio) 0x222-0x225.7 (4) +0x220| 00 00 00 00 00 00 | ...... | reserved: raw bits 0x226-0x22b.7 (6) +0x220| 00 01 | .. | data_reference_index: 1 0x22c-0x22d.7 (2) +0x220| 00 00| ..| version: 0 0x22e-0x22f.7 (2) +0x230|00 00 |.. | revision_level: 0 0x230-0x231.7 (2) +0x230| 00 00 00 00 | .... | max_packet_size: 0 0x232-0x235.7 (4) +0x230| 00 01 | .. | num_audio_channels: 1 0x236-0x237.7 (2) +0x230| 00 10 | .. | sample_size: 16 0x238-0x239.7 (2) +0x230| 00 00 | .. | compression_id: 0 0x23a-0x23b.7 (2) +0x230| 00 00 | .. | packet_size: 0 0x23c-0x23d.7 (2) +0x230| ac 44| .D| sample_rate: 44100 0x23e-0x241.7 (4) +0x240|00 00 |.. | + | | | boxes[0:2]: 0x242-0x2bb.7 (122) + | | | [0]{}: box 0x242-0x26b.7 (42) +0x240| 00 00 00 2a | ...* | size: 42 0x242-0x245.7 (4) +0x240| 65 73 64 73 | esds | type: "esds" (Elementary stream descriptor) 0x246-0x249.7 (4) +0x240| 00 00 00 00 | .... | version: 0 0x24a-0x24d.7 (4) + |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| descriptor{}: (mpeg_es) 0x24e-0x26b.7 (30) +0x240| 03 | . | tag_id: "ES_DescrTag" (3) 0x24e-0x24e.7 (1) +0x240| 1c| .| length: 28 0x24f-0x24f.7 (1) +0x250|00 01 |.. | es_id: 1 0x250-0x251.7 (2) +0x250| 00 | . | stream_dependency_flag: false 0x252-0x252 (0.1) +0x250| 00 | . | url_flag: false 0x252.1-0x252.1 (0.1) +0x250| 00 | . | ocr_stream_flag: false 0x252.2-0x252.2 (0.1) +0x250| 00 | . | stream_priority: 0 0x252.3-0x252.7 (0.5) + | | | dec_config_descr{}: 0x253-0x268.7 (22) +0x250| 04 | . | tag_id: "DecoderConfigDescrTag" (4) 0x253-0x253.7 (1) +0x250| 14 | . | length: 20 0x254-0x254.7 (1) +0x250| 40 | @ | object_type_indication: "MPEGObjectTypeAAC" (64) 0x255-0x255.7 (1) +0x250| 15 | . | stream_type: "AudioStream" (5) 0x256-0x256.5 (0.6) +0x250| 15 | . | upstream: false 0x256.6-0x256.6 (0.1) +0x250| 15 | . | specific_info_flag: true 0x256.7-0x256.7 (0.1) +0x250| 00 00 00 | ... | buffer_size_db: 0 0x257-0x259.7 (3) +0x250| 00 01 2a 80 | ..*. | max_bit_rate: 76416 0x25a-0x25d.7 (4) +0x250| 00 01| ..| avg_bit_rate: 76416 0x25e-0x261.7 (4) +0x260|2a 80 |*. | + | | | decoder_specific_info{}: 0x262-0x268.7 (7) +0x260| 05 | . | tag_id: "DecSpecificInfoTag" (5) 0x262-0x262.7 (1) +0x260| 05 | . | length: 5 0x263-0x263.7 (1) + |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| audio_specific_config{}: (mpeg_asc) 0x264-0x268.7 (5) +0x260| 12 | . | object_type: "aac_lc" (2) (AAC Low Complexity) 0x264-0x264.4 (0.5) +0x260| 12 08 | .. | sampling_frequency: 44100 (4) 0x264.5-0x265 (0.4) +0x260| 08 | . | channel_configuration: 1 (front-center) 0x265.1-0x265.4 (0.4) +0x260| 08 56 e5 00 | .V.. | var_aot_or_byte_align: raw bits 0x265.5-0x268.7 (3.3) + | | | sl_config_descr{}: 0x269-0x26b.7 (3) +0x260| 06 | . | tag_id: "SLConfigDescrTag" (6) 0x269-0x269.7 (1) +0x260| 01 | . | length: 1 0x26a-0x26a.7 (1) +0x260| 02 | . | data: raw bits 0x26b-0x26b.7 (1) + | | | [1]{}: box 0x26c-0x2bb.7 (80) +0x260| 00 00 00 50| ...P| size: 80 0x26c-0x26f.7 (4) +0x270|73 69 6e 66 |sinf | type: "sinf" (Protection scheme information box) 0x270-0x273.7 (4) + | | | boxes[0:3]: 0x274-0x2bb.7 (72) + | | | [0]{}: box 0x274-0x27f.7 (12) +0x270| 00 00 00 0c | .... | size: 12 0x274-0x277.7 (4) +0x270| 66 72 6d 61 | frma | type: "frma" (Original format box) 0x278-0x27b.7 (4) +0x270| 6d 70 34 61| mp4a| format: "mp4a" 0x27c-0x27f.7 (4) + | | | [1]{}: box 0x280-0x293.7 (20) +0x280|00 00 00 14 |.... | size: 20 0x280-0x283.7 (4) +0x280| 73 63 68 6d | schm | type: "schm" (Scheme type box) 0x284-0x287.7 (4) +0x280| 00 | . | version: 0 0x288-0x288.7 (1) +0x280| 00 00 00 | ... | flags: 0 0x289-0x28b.7 (3) +0x280| 63 65 6e 63| cenc| encryption_type: "cenc" 0x28c-0x28f.7 (4) +0x290|00 01 |.. | encryption_version: 1 0x290-0x291.7 (2) +0x290| 00 00 | .. | uri: "\x00\x00" 0x292-0x293.7 (2) + | | | [2]{}: box 0x294-0x2bb.7 (40) +0x290| 00 00 00 28 | ...( | size: 40 0x294-0x297.7 (4) +0x290| 73 63 68 69 | schi | type: "schi" (Scheme information box) 0x298-0x29b.7 (4) + | | | boxes[0:1]: 0x29c-0x2bb.7 (32) + | | | [0]{}: box 0x29c-0x2bb.7 (32) +0x290| 00 00 00 20| ... | size: 32 0x29c-0x29f.7 (4) +0x2a0|74 65 6e 63 |tenc | type: "tenc" (Track Encryption) 0x2a0-0x2a3.7 (4) +0x2a0| 00 | . | version: 0 0x2a4-0x2a4.7 (1) +0x2a0| 00 00 00 | ... | flags: 0 0x2a5-0x2a7.7 (3) +0x2a0| 00 | . | reserved0: 0 0x2a8-0x2a8.7 (1) +0x2a0| 00 | . | reserved1: 0 0x2a9-0x2a9.7 (1) +0x2a0| 01 | . | default_is_encrypted: 1 0x2aa-0x2aa.7 (1) +0x2a0| 08 | . | default_iv_size: 8 0x2ab-0x2ab.7 (1) +0x2a0| 00 00 00 00| ....| default_kid: raw bits 0x2ac-0x2bb.7 (16) +0x2b0|00 00 00 00 00 00 00 00 00 00 00 00 |............ | + | | | [1]{}: box 0x2bc-0x2cb.7 (16) +0x2b0| 00 00 00 10| ....| size: 16 0x2bc-0x2bf.7 (4) +0x2c0|73 74 74 73 |stts | type: "stts" (Sample time-to-sample) 0x2c0-0x2c3.7 (4) +0x2c0| 00 | . | version: 0 0x2c4-0x2c4.7 (1) +0x2c0| 00 00 00 | ... | flags: 0 0x2c5-0x2c7.7 (3) +0x2c0| 00 00 00 00 | .... | entry_count: 0 0x2c8-0x2cb.7 (4) + | | | entries[0:0]: 0x2cc-NA (0) + | | | [2]{}: box 0x2cc-0x2db.7 (16) +0x2c0| 00 00 00 10| ....| size: 16 0x2cc-0x2cf.7 (4) +0x2d0|73 74 73 63 |stsc | type: "stsc" (Sample-to-chunk, partial data-offset information) 0x2d0-0x2d3.7 (4) +0x2d0| 00 | . | version: 0 0x2d4-0x2d4.7 (1) +0x2d0| 00 00 00 | ... | flags: 0 0x2d5-0x2d7.7 (3) +0x2d0| 00 00 00 00 | .... | entry_count: 0 0x2d8-0x2db.7 (4) + | | | entries[0:0]: 0x2dc-NA (0) + | | | [3]{}: box 0x2dc-0x2ef.7 (20) +0x2d0| 00 00 00 14| ....| size: 20 0x2dc-0x2df.7 (4) +0x2e0|73 74 73 7a |stsz | type: "stsz" (Sample sizes (framing)) 0x2e0-0x2e3.7 (4) +0x2e0| 00 | . | version: 0 0x2e4-0x2e4.7 (1) +0x2e0| 00 00 00 | ... | flags: 0 0x2e5-0x2e7.7 (3) +0x2e0| 00 00 00 00 | .... | sample_size: 0 0x2e8-0x2eb.7 (4) +0x2e0| 00 00 00 00| ....| entry_count: 0 0x2ec-0x2ef.7 (4) + | | | entries[0:0]: 0x2f0-NA (0) + | | | [4]{}: box 0x2f0-0x2ff.7 (16) +0x2f0|00 00 00 10 |.... | size: 16 0x2f0-0x2f3.7 (4) +0x2f0| 73 74 63 6f | stco | type: "stco" (Chunk offset, partial data-offset information) 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 00 00| ....| entry_count: 0 0x2fc-0x2ff.7 (4) + | | | entries[0:0]: 0x300-NA (0) + | | | [5]{}: box 0x300-0x319.7 (26) +0x300|00 00 00 1a |.... | size: 26 0x300-0x303.7 (4) +0x300| 73 67 70 64 | sgpd | type: "sgpd" (Sample group definition box) 0x304-0x307.7 (4) +0x300| 01 | . | version: 1 0x308-0x308.7 (1) +0x300| 00 00 00 | ... | flags: 0 0x309-0x30b.7 (3) +0x300| 72 6f 6c 6c| roll| grouping_type: "roll" 0x30c-0x30f.7 (4) +0x310|00 00 00 02 |.... | default_length: 2 0x310-0x313.7 (4) +0x310| 00 00 00 01 | .... | entry_count: 1 0x314-0x317.7 (4) + | | | entries[0:1]: 0x318-0x319.7 (2) + | | | [0]{}: entry 0x318-0x319.7 (2) +0x310| ff ff | .. | roll_distance: 65535 0x318-0x319.7 (2) + | | | [2]{}: box 0x31a-0x329.7 (16) +0x310| 00 00 00 10 | .... | size: 16 0x31a-0x31d.7 (4) +0x310| 73 6d| sm| type: "smhd" (Sound media header, overall information (sound track only)) 0x31e-0x321.7 (4) +0x320|68 64 |hd | +0x320| 00 | . | version: 0 0x322-0x322.7 (1) +0x320| 00 00 00 | ... | flags: 0 0x323-0x325.7 (3) +0x320| 00 00 | .. | balance: 0 0x326-0x327.7 (2) +0x320| 00 00 | .. | reserved: 0 0x328-0x329.7 (2) + | | | [2]{}: box 0x32a-0x34d.7 (36) +0x320| 00 00 00 24 | ...$ | size: 36 0x32a-0x32d.7 (4) +0x320| 65 64| ed| type: "edts" (Edit list container) 0x32e-0x331.7 (4) +0x330|74 73 |ts | + | | | boxes[0:1]: 0x332-0x34d.7 (28) + | | | [0]{}: box 0x332-0x34d.7 (28) +0x330| 00 00 00 1c | .... | size: 28 0x332-0x335.7 (4) +0x330| 65 6c 73 74 | elst | type: "elst" (An edit list) 0x336-0x339.7 (4) +0x330| 00 | . | version: 0 0x33a-0x33a.7 (1) +0x330| 00 00 00 | ... | flags: 0 0x33b-0x33d.7 (3) +0x330| 00 00| ..| entry_count: 1 0x33e-0x341.7 (4) +0x340|00 01 |.. | + | | | entries[0:1]: 0x342-0x34d.7 (12) + | | | [0]{}: entry 0x342-0x34d.7 (12) +0x340| 00 00 00 00 | .... | segment_duration: 0 0x342-0x345.7 (4) +0x340| 00 00 04 00 | .... | media_time: 1024 0x346-0x349.7 (4) +0x340| 00 01 00 00 | .... | media_rate: 1 0x34a-0x34d.7 (4) + | | | [3]{}: box 0x34e-0x385.7 (56) +0x340| 00 00| ..| size: 56 0x34e-0x351.7 (4) +0x350|00 38 |.8 | +0x350| 6d 76 65 78 | mvex | type: "mvex" (Movie extends box) 0x352-0x355.7 (4) + | | | boxes[0:2]: 0x356-0x385.7 (48) + | | | [0]{}: box 0x356-0x365.7 (16) +0x350| 00 00 00 10 | .... | size: 16 0x356-0x359.7 (4) +0x350| 6d 65 68 64 | mehd | type: "mehd" (Movie extends header box) 0x35a-0x35d.7 (4) +0x350| 00 | . | version: 0 0x35e-0x35e.7 (1) +0x350| 00| .| flags: 0 0x35f-0x361.7 (3) +0x360|00 00 |.. | +0x360| 00 00 15 3a | ...: | fragment_duration: 5434 0x362-0x365.7 (4) + | | | [1]{}: box 0x366-0x385.7 (32) +0x360| 00 00 00 20 | ... | size: 32 0x366-0x369.7 (4) +0x360| 74 72 65 78 | trex | type: "trex" (Track extends defaults) 0x36a-0x36d.7 (4) +0x360| 00 | . | version: 0 0x36e-0x36e.7 (1) +0x360| 00| .| flags: 0 0x36f-0x371.7 (3) +0x370|00 00 |.. | +0x370| 00 00 00 01 | .... | track_id: 1 0x372-0x375.7 (4) +0x370| 00 00 00 01 | .... | default_sample_description_index: 1 0x376-0x379.7 (4) +0x370| 00 00 04 00 | .... | default_sample_duration: 1024 0x37a-0x37d.7 (4) +0x370| 00 00| ..| default_sample_size: 0 0x37e-0x381.7 (4) +0x380|00 00 |.. | + | | | default_sample_flags{}: 0x382-0x385.7 (4) +0x380| 00 | . | reserved0: 0 0x382-0x382.3 (0.4) +0x380| 00 | . | is_leading: 0 0x382.4-0x382.5 (0.2) +0x380| 00 | . | sample_depends_on: "unknown" (0) 0x382.6-0x382.7 (0.2) +0x380| 00 | . | sample_is_depended_on: "unknown" (0) 0x383-0x383.1 (0.2) +0x380| 00 | . | sample_has_redundancy: "unknown" (0) 0x383.2-0x383.3 (0.2) +0x380| 00 | . | sample_padding_value: 0 0x383.4-0x383.6 (0.3) +0x380| 00 | . | sample_is_non_sync_sample: 0 0x383.7-0x383.7 (0.1) +0x380| 00 00| | ..| | sample_degradation_priority: 0 0x384-0x385.7 (2) + | | | tracks[0:1]: 0x386-NA (0) + | | | [0]{}: track 0x386-NA (0) + | | | id: 1 0x386-NA (0) + | | | data_format: "mp4a" (MPEG-4 Audio) 0x386-NA (0) + | | | samples[0:0]: 0x386-NA (0) $ fq -d mp4 dv dash_audio_1.m4s - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: dash_audio_1.m4s (mp4) 0x0-0x4eb.7 (1260) - | | | boxes[0:4]: 0x0-0x4eb.7 (1260) + |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: dash_audio_1.m4s (mp4) 0x0-0x913.7 (2324) + | | | boxes[0:8]: 0x0-0x913.7 (2324) | | | [0]{}: box 0x0-0x1f.7 (32) 0x000|00 00 00 20 |... | size: 32 0x0-0x3.7 (4) 0x000| 73 74 79 70 | styp | type: "styp" (Segment Type Box) 0x4-0x7.7 (4) @@ -370,8 +411,8 @@ $ fq -d mp4 dv dash_audio_1.m4s 0x010| 6d 70 34 31 | mp41 | [1]: "mp41" brand (MP4 version 1) 0x14-0x17.7 (4) 0x010| 64 61 73 68 | dash | [2]: "dash" brand (ISO base media file format file specifically designed for DASH including movie fragments and Segment Index) 0x18-0x1b.7 (4) 0x010| 63 6d 66 73| cmfs| [3]: "cmfs" brand (CMAF Segment Format) 0x1c-0x1f.7 (4) - | | | [1]{}: box 0x20-0x4b.7 (44) -0x020|00 00 00 2c |..., | size: 44 0x20-0x23.7 (4) + | | | [1]{}: box 0x20-0x63.7 (68) +0x020|00 00 00 44 |...D | size: 68 0x20-0x23.7 (4) 0x020| 73 69 64 78 | sidx | type: "sidx" (Segment Index Box) 0x24-0x27.7 (4) 0x020| 00 | . | version: 0 0x28-0x28.7 (1) 0x020| 00 00 00 | ... | flags: 0 0x29-0x2b.7 (3) @@ -380,536 +421,528 @@ $ fq -d mp4 dv dash_audio_1.m4s 0x030| 00 00 00 00 | .... | pts: 0 0x34-0x37.7 (4) 0x030| 00 00 00 00 | .... | offset: 0 0x38-0x3b.7 (4) 0x030| 00 00 | .. | reserved: 0 0x3c-0x3d.7 (2) -0x030| 00 01| ..| entry_count: 1 0x3e-0x3f.7 (2) - | | | entries[0:1]: 0x40-0x4b.7 (12) +0x030| 00 03| ..| entry_count: 3 0x3e-0x3f.7 (2) + | | | entries[0:3]: 0x40-0x63.7 (36) | | | [0]{}: entry 0x40-0x4b.7 (12) 0x040|00 |. | reference_type: 0 0x40-0x40 (0.1) -0x040|00 00 04 a0 |.... | size: 1184 0x40.1-0x43.7 (3.7) -0x040| 00 00 11 3a | ...: | duration: 4410 0x44-0x47.7 (4) +0x040|00 00 04 08 |.... | size: 1032 0x40.1-0x43.7 (3.7) +0x040| 00 00 08 00 | .... | duration: 2048 0x44-0x47.7 (4) 0x040| 90 | . | starts_with_sap: 1 0x48-0x48 (0.1) 0x040| 90 | . | sap_type: 1 0x48.1-0x48.3 (0.3) 0x040| 90 00 00 00 | .... | sap_delta_time: 0 0x48.4-0x4b.7 (3.4) - | | | [2]{}: box 0x4c-0xf3.7 (168) -0x040| 00 00 00 a8| ....| size: 168 0x4c-0x4f.7 (4) -0x050|6d 6f 6f 66 |moof | type: "moof" (Movie fragment) 0x50-0x53.7 (4) - | | | boxes[0:2]: 0x54-0xf3.7 (160) - | | | [0]{}: box 0x54-0x63.7 (16) -0x050| 00 00 00 10 | .... | size: 16 0x54-0x57.7 (4) -0x050| 6d 66 68 64 | mfhd | type: "mfhd" (Movie fragment header) 0x58-0x5b.7 (4) -0x050| 00 | . | version: 0 0x5c-0x5c.7 (1) -0x050| 00 00 00| ...| flags: 0 0x5d-0x5f.7 (3) -0x060|00 00 00 01 |.... | sequence_number: 1 0x60-0x63.7 (4) - | | | [1]{}: box 0x64-0xf3.7 (144) -0x060| 00 00 00 90 | .... | size: 144 0x64-0x67.7 (4) -0x060| 74 72 61 66 | traf | type: "traf" (Track fragment) 0x68-0x6b.7 (4) - | | | boxes[0:4]: 0x6c-0xf3.7 (136) - | | | [0]{}: box 0x6c-0x83.7 (24) -0x060| 00 00 00 18| ....| size: 24 0x6c-0x6f.7 (4) -0x070|74 66 68 64 |tfhd | type: "tfhd" (Track fragment header) 0x70-0x73.7 (4) -0x070| 00 | . | version: 0 0x74-0x74.7 (1) - | | | flags{}: 0x75-0x77.7 (3) -0x070| 02 | . | unused0: 1 0x75-0x75.6 (0.7) -0x070| 02 | . | duration_is_empty: false 0x75.7-0x75.7 (0.1) -0x070| 00 22 | ." | unused1: 0 0x76-0x77.1 (1.2) -0x070| 22 | " | default_sample_flags_present: true 0x77.2-0x77.2 (0.1) -0x070| 22 | " | default_sample_size_present: false 0x77.3-0x77.3 (0.1) -0x070| 22 | " | default_sample_duration_present: false 0x77.4-0x77.4 (0.1) -0x070| 22 | " | unused2: 0 0x77.5-0x77.5 (0.1) -0x070| 22 | " | sample_description_index_present: true 0x77.6-0x77.6 (0.1) -0x070| 22 | " | base_data_offset_present: false 0x77.7-0x77.7 (0.1) -0x070| 00 00 00 01 | .... | track_id: 1 0x78-0x7b.7 (4) -0x070| 00 00 00 01| ....| sample_description_index: 1 0x7c-0x7f.7 (4) - | | | default_sample_flags{}: 0x80-0x83.7 (4) -0x080|00 |. | reserved0: 0 0x80-0x80.3 (0.4) -0x080|00 |. | is_leading: 0 0x80.4-0x80.5 (0.2) -0x080|00 |. | sample_depends_on: "unknown" (0) 0x80.6-0x80.7 (0.2) -0x080| 00 | . | sample_is_depended_on: "unknown" (0) 0x81-0x81.1 (0.2) -0x080| 00 | . | sample_has_redundancy: "unknown" (0) 0x81.2-0x81.3 (0.2) -0x080| 00 | . | sample_padding_value: 0 0x81.4-0x81.6 (0.3) -0x080| 00 | . | sample_is_non_sync_sample: 0 0x81.7-0x81.7 (0.1) -0x080| 00 00 | .. | sample_degradation_priority: 0 0x82-0x83.7 (2) - | | | [1]{}: box 0x84-0x93.7 (16) -0x080| 00 00 00 10 | .... | size: 16 0x84-0x87.7 (4) -0x080| 74 66 64 74 | tfdt | type: "tfdt" (Track fragment decode time) 0x88-0x8b.7 (4) + | | | [1]{}: entry 0x4c-0x57.7 (12) +0x040| 00 | . | reference_type: 0 0x4c-0x4c (0.1) +0x040| 00 00 03 5a| ...Z| size: 858 0x4c.1-0x4f.7 (3.7) +0x050|00 00 08 00 |.... | duration: 2048 0x50-0x53.7 (4) +0x050| 90 | . | starts_with_sap: 1 0x54-0x54 (0.1) +0x050| 90 | . | sap_type: 1 0x54.1-0x54.3 (0.3) +0x050| 90 00 00 00 | .... | sap_delta_time: 0 0x54.4-0x57.7 (3.4) + | | | [2]{}: entry 0x58-0x63.7 (12) +0x050| 00 | . | reference_type: 0 0x58-0x58 (0.1) +0x050| 00 00 01 4e | ...N | size: 334 0x58.1-0x5b.7 (3.7) +0x050| 00 00 01 3a| ...:| duration: 314 0x5c-0x5f.7 (4) +0x060|90 |. | starts_with_sap: 1 0x60-0x60 (0.1) +0x060|90 |. | sap_type: 1 0x60.1-0x60.3 (0.3) +0x060|90 00 00 00 |.... | sap_delta_time: 0 0x60.4-0x63.7 (3.4) + | | | [2]{}: box 0x64-0x1cc.7 (361) +0x060| 00 00 01 69 | ...i | size: 361 0x64-0x67.7 (4) +0x060| 6d 6f 6f 66 | moof | type: "moof" (Movie fragment) 0x68-0x6b.7 (4) + | | | boxes[0:3]: 0x6c-0x1cc.7 (353) + | | | [0]{}: box 0x6c-0x7b.7 (16) +0x060| 00 00 00 10| ....| size: 16 0x6c-0x6f.7 (4) +0x070|6d 66 68 64 |mfhd | type: "mfhd" (Movie fragment header) 0x70-0x73.7 (4) +0x070| 00 | . | version: 0 0x74-0x74.7 (1) +0x070| 00 00 00 | ... | flags: 0 0x75-0x77.7 (3) +0x070| 00 00 00 01 | .... | sequence_number: 1 0x78-0x7b.7 (4) + | | | [1]{}: box 0x7c-0x168.7 (237) +0x070| 00 00 01 1d| ....| size: 285 0x7c-0x7f.7 (4) +0x080|74 72 61 66 |traf | type: "traf" (Track fragment) 0x80-0x83.7 (4) + | | | boxes[0:9]: 0x84-0x168.7 (229) + | | | [0]{}: box 0x84-0x9f.7 (28) +0x080| 00 00 00 1c | .... | size: 28 0x84-0x87.7 (4) +0x080| 74 66 68 64 | tfhd | type: "tfhd" (Track fragment header) 0x88-0x8b.7 (4) 0x080| 00 | . | version: 0 0x8c-0x8c.7 (1) -0x080| 00 00 00| ...| flags: 0 0x8d-0x8f.7 (3) -0x090|00 00 00 00 |.... | start_time: 0 0x90-0x93.7 (4) - | | | [2]{}: box 0x94-0xd7.7 (68) -0x090| 00 00 00 44 | ...D | size: 68 0x94-0x97.7 (4) -0x090| 74 72 75 6e | trun | type: "trun" (Track fragment run) 0x98-0x9b.7 (4) -0x090| 00 | . | version: 0 0x9c-0x9c.7 (1) - | | | flags{}: 0x9d-0x9f.7 (3) -0x090| 00 03 | .. | unused0: 0 0x9d-0x9e.3 (1.4) -0x090| 03 | . | sample_composition_time_offsets_present: false 0x9e.4-0x9e.4 (0.1) -0x090| 03 | . | sample_flags_present: false 0x9e.5-0x9e.5 (0.1) -0x090| 03 | . | sample_size_present: true 0x9e.6-0x9e.6 (0.1) -0x090| 03 | . | sample_duration_present: true 0x9e.7-0x9e.7 (0.1) -0x090| 01| .| unused1: 0 0x9f-0x9f.4 (0.5) -0x090| 01| .| first_sample_flags_present: false 0x9f.5-0x9f.5 (0.1) -0x090| 01| .| unused2: 0 0x9f.6-0x9f.6 (0.1) -0x090| 01| .| data_offset_present: true 0x9f.7-0x9f.7 (0.1) -0x0a0|00 00 00 06 |.... | sample_count: 6 0xa0-0xa3.7 (4) -0x0a0| 00 00 00 b0 | .... | data_offset: 176 0xa4-0xa7.7 (4) - | | | samples[0:6]: 0xa8-0xd7.7 (48) - | | | [0]{}: sample 0xa8-0xaf.7 (8) -0x0a0| 00 00 04 00 | .... | sample_duration: 1024 0xa8-0xab.7 (4) -0x0a0| 00 00 00 ce| ....| sample_size: 206 0xac-0xaf.7 (4) - | | | [1]{}: sample 0xb0-0xb7.7 (8) -0x0b0|00 00 04 00 |.... | sample_duration: 1024 0xb0-0xb3.7 (4) -0x0b0| 00 00 00 da | .... | sample_size: 218 0xb4-0xb7.7 (4) - | | | [2]{}: sample 0xb8-0xbf.7 (8) -0x0b0| 00 00 04 00 | .... | sample_duration: 1024 0xb8-0xbb.7 (4) -0x0b0| 00 00 00 c0| ....| sample_size: 192 0xbc-0xbf.7 (4) - | | | [3]{}: sample 0xc0-0xc7.7 (8) -0x0c0|00 00 04 00 |.... | sample_duration: 1024 0xc0-0xc3.7 (4) -0x0c0| 00 00 00 c2 | .... | sample_size: 194 0xc4-0xc7.7 (4) - | | | [4]{}: sample 0xc8-0xcf.7 (8) -0x0c0| 00 00 04 00 | .... | sample_duration: 1024 0xc8-0xcb.7 (4) -0x0c0| 00 00 00 c1| ....| sample_size: 193 0xcc-0xcf.7 (4) - | | | [5]{}: sample 0xd0-0xd7.7 (8) -0x0d0|00 00 01 3a |...: | sample_duration: 314 0xd0-0xd3.7 (4) -0x0d0| 00 00 00 05 | .... | sample_size: 5 0xd4-0xd7.7 (4) - | | | [3]{}: box 0xd8-0xf3.7 (28) -0x0d0| 00 00 00 1c | .... | size: 28 0xd8-0xdb.7 (4) -0x0d0| 73 62 67 70| sbgp| type: "sbgp" (Sample to Group box) 0xdc-0xdf.7 (4) -0x0e0|00 |. | version: 0 0xe0-0xe0.7 (1) -0x0e0| 00 00 00 | ... | flags: 0 0xe1-0xe3.7 (3) -0x0e0| 72 6f 6c 6c | roll | grouping_type: "roll" 0xe4-0xe7.7 (4) -0x0e0| 00 00 00 01 | .... | entry_count: 1 0xe8-0xeb.7 (4) - | | | entries[0:1]: 0xec-0xf3.7 (8) - | | | [0]{}: entry 0xec-0xf3.7 (8) -0x0e0| 00 00 00 06| ....| sample_count: 6 0xec-0xef.7 (4) -0x0f0|00 00 00 01 |.... | group_description_index: 1 0xf0-0xf3.7 (4) - | | | [3]{}: box 0xf4-0x4eb.7 (1016) -0x0f0| 00 00 03 f8 | .... | size: 1016 0xf4-0xf7.7 (4) -0x0f0| 6d 64 61 74 | mdat | type: "mdat" (Media data container) 0xf8-0xfb.7 (4) -0x0f0| de 04 00 4c| ...L| data: raw bits 0xfc-0x4eb.7 (1008) -0x100|61 76 63 35 38 2e 31 33 34 2e 31 30 30 00 02 5c|avc58.134.100..\| -* |until 0x4eb.7 (end) (1008) | | - | | | tracks[0:1]: 0xfc-0x4eb.7 (1008) - | | | [0]{}: track 0xfc-0x4eb.7 (1008) - | | | samples[0:6]: 0xfc-0x4eb.7 (1008) -0x0f0| de 04 00 4c| ...L| [0]: raw bits sample 0xfc-0x1c9.7 (206) -0x100|61 76 63 35 38 2e 31 33 34 2e 31 30 30 00 02 5c|avc58.134.100..\| -* |until 0x1c9.7 (206) | | -0x1c0| 01 22 98 da d8 3d| ."...=| [1]: raw bits sample 0x1ca-0x2a3.7 (218) -0x1d0|d6 93 80 76 db 22 13 6a 38 46 1c 9c 5e ae 85 f1|...v.".j8F..^...| -* |until 0x2a3.7 (218) | | -0x2a0| 01 24 f5 ad 0d 12 60 98 00 5e 7b 67| .$....`..^{g| [2]: raw bits sample 0x2a4-0x363.7 (192) -0x2b0|55 34 92 48 92 24 05 04 08 5d b4 ee 91 f5 9f f4|U4.H.$...]......| -* |until 0x363.7 (192) | | -0x360| 01 22 55 ad 4c f4 38 a3 42 22 00 0e| ."U.L.8.B"..| [3]: raw bits sample 0x364-0x425.7 (194) -0x370|b3 db 7e 72 6a ea 4b 49 00 14 71 4c 0e c8 24 f1|..~rj.KI..qL..$.| -* |until 0x425.7 (194) | | -0x420| 01 1a 99 b2 d2 30 e2 d2 46 66| .....0..Ff| [4]: raw bits sample 0x426-0x4e6.7 (193) -0x430|ec d7 81 e8 03 cf 1e dc 15 9f dc 71 af 6f 3a 56|...........q.o:V| -* |until 0x4e6.7 (193) | | -0x4e0| 01 18 81 b4 70| | ....p| | [5]: raw bits sample 0x4e7-0x4eb.7 (5) - | | | id: 1 0x4ec-NA (0) - | | | data_format: "unknown" 0x4ec-NA (0) -$ fq -d mp4 dv dash_video_init.mp4 - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: dash_video_init.mp4 (mp4) 0x0-0x332.7 (819) - | | | boxes[0:2]: 0x0-0x332.7 (819) - | | | [0]{}: box 0x0-0x23.7 (36) -0x0000|00 00 00 24 |...$ | size: 36 0x0-0x3.7 (4) -0x0000| 66 74 79 70 | ftyp | type: "ftyp" (File type and compatibility) 0x4-0x7.7 (4) -0x0000| 69 73 6f 6d | isom | major_brand: "isom" 0x8-0xb.7 (4) -0x0000| 00 00 00 00| ....| minor_version: 0 0xc-0xf.7 (4) - | | | brands[0:5]: 0x10-0x23.7 (20) -0x0010|69 73 6f 38 |iso8 | [0]: "iso8" brand (MP4 Base Media v8) 0x10-0x13.7 (4) -0x0010| 6d 70 34 31 | mp41 | [1]: "mp41" brand (MP4 version 1) 0x14-0x17.7 (4) -0x0010| 64 61 73 68 | dash | [2]: "dash" brand (ISO base media file format file specifically designed for DASH including movie fragments and Segment Index) 0x18-0x1b.7 (4) -0x0010| 61 76 63 31| avc1| [3]: "avc1" brand (Advanced Video Coding extensions) 0x1c-0x1f.7 (4) -0x0020|63 6d 66 63 |cmfc | [4]: "cmfc" brand (CMAF Track Format) 0x20-0x23.7 (4) - | | | [1]{}: box 0x24-0x332.7 (783) -0x0020| 00 00 03 0f | .... | size: 783 0x24-0x27.7 (4) -0x0020| 6d 6f 6f 76 | moov | type: "moov" (Container for all the meta-data) 0x28-0x2b.7 (4) - | | | boxes[0:4]: 0x2c-0x332.7 (775) - | | | [0]{}: box 0x2c-0x97.7 (108) -0x0020| 00 00 00 6c| ...l| size: 108 0x2c-0x2f.7 (4) -0x0030|6d 76 68 64 |mvhd | type: "mvhd" (Movie header, overall declarations) 0x30-0x33.7 (4) -0x0030| 00 | . | version: 0 0x34-0x34.7 (1) -0x0030| 00 00 00 | ... | flags: 0 0x35-0x37.7 (3) -0x0030| dd 57 d6 ae | .W.. | creation_time: 3713521326 (2021-09-03T13:42:06Z) 0x38-0x3b.7 (4) -0x0030| dd 57 d6 ae| .W..| modification_time: 3713521326 (2021-09-03T13:42:06Z) 0x3c-0x3f.7 (4) -0x0040|00 00 32 00 |..2. | time_scale: 12800 0x40-0x43.7 (4) -0x0040| 00 00 00 00 | .... | duration: 0 0x44-0x47.7 (4) -0x0040| 00 01 00 00 | .... | preferred_rate: 1 0x48-0x4b.7 (4) -0x0040| 01 00 | .. | preferred_volume: 1 0x4c-0x4d.7 (2) -0x0040| 00 00| ..| reserved: "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0x4e-0x57.7 (10) -0x0050|00 00 00 00 00 00 00 00 |........ | - | | | matrix_structure{}: 0x58-0x7b.7 (36) -0x0050| 00 01 00 00 | .... | a: 1 0x58-0x5b.7 (4) -0x0050| 00 00 00 00| ....| b: 0 0x5c-0x5f.7 (4) -0x0060|00 00 00 00 |.... | u: 0 0x60-0x63.7 (4) -0x0060| 00 00 00 00 | .... | c: 0 0x64-0x67.7 (4) -0x0060| 00 01 00 00 | .... | d: 1 0x68-0x6b.7 (4) -0x0060| 00 00 00 00| ....| v: 0 0x6c-0x6f.7 (4) -0x0070|00 00 00 00 |.... | x: 0 0x70-0x73.7 (4) -0x0070| 00 00 00 00 | .... | y: 0 0x74-0x77.7 (4) -0x0070| 40 00 00 00 | @... | w: 1 0x78-0x7b.7 (4) -0x0070| 00 00 00 00| ....| preview_time: 0 0x7c-0x7f.7 (4) -0x0080|00 00 00 00 |.... | preview_duration: 0 0x80-0x83.7 (4) -0x0080| 00 00 00 00 | .... | poster_time: 0 0x84-0x87.7 (4) -0x0080| 00 00 00 00 | .... | selection_time: 0 0x88-0x8b.7 (4) -0x0080| 00 00 00 00| ....| selection_duration: 0 0x8c-0x8f.7 (4) -0x0090|00 00 00 00 |.... | current_time: 0 0x90-0x93.7 (4) -0x0090| 00 00 00 02 | .... | next_track_id: 2 0x94-0x97.7 (4) - | | | [1]{}: box 0x98-0x11e.7 (135) -0x0090| 00 00 00 87 | .... | size: 135 0x98-0x9b.7 (4) -0x0090| 6d 65 74 61| meta| type: "meta" (Metadata container) 0x9c-0x9f.7 (4) -0x00a0|00 00 00 00 |.... | maybe_flags: 0 0xa0-0xa3.7 (4) - | | | boxes[0:2]: 0xa4-0x11e.7 (123) - | | | [0]{}: box 0xa4-0xc3.7 (32) -0x00a0| 00 00 00 20 | ... | size: 32 0xa4-0xa7.7 (4) -0x00a0| 68 64 6c 72 | hdlr | type: "hdlr" (Handler, declares the media (handler) type) 0xa8-0xab.7 (4) -0x00a0| 00 | . | version: 0 0xac-0xac.7 (1) -0x00a0| 00 00 00| ...| flags: 0 0xad-0xaf.7 (3) -0x00b0|00 00 00 00 |.... | component_type: "" 0xb0-0xb3.7 (4) -0x00b0| 49 44 33 32 | ID32 | component_subtype: "ID32" 0xb4-0xb7.7 (4) -0x00b0| 00 00 00 00 | .... | component_manufacturer: "" 0xb8-0xbb.7 (4) -0x00b0| 00 00 00 00| ....| component_flags: 0 0xbc-0xbf.7 (4) -0x00c0|00 00 00 00 |.... | component_flags_mask: 0 0xc0-0xc3.7 (4) - | | | component_name: "" 0xc4-NA (0) - | | | [1]{}: box 0xc4-0x11e.7 (91) -0x00c0| 00 00 00 5b | ...[ | size: 91 0xc4-0xc7.7 (4) -0x00c0| 49 44 33 32 | ID32 | type: "ID32" (ID3 version 2 container) 0xc8-0xcb.7 (4) -0x00c0| 00 | . | version: 0 0xcc-0xcc.7 (1) -0x00c0| 00 00 00| ...| flags: 0 0xcd-0xcf.7 (3) -0x00d0|15 |. | pad: 0 0xd0-0xd0 (0.1) -0x00d0|15 c7 |.. | language: "eng" 0xd0.1-0xd1.7 (1.7) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data{}: (id3v2) 0xd2-0x11e.7 (77) - | | | header{}: 0xd2-0xdb.7 (10) -0x00d0| 49 44 33 | ID3 | magic: "ID3" (valid) 0xd2-0xd4.7 (3) -0x00d0| 04 | . | version: 4 (valid) 0xd5-0xd5.7 (1) -0x00d0| 00 | . | revision: 0 0xd6-0xd6.7 (1) - | | | flags{}: 0xd7-0xd7.7 (1) -0x00d0| 00 | . | unsynchronisation: false 0xd7-0xd7 (0.1) -0x00d0| 00 | . | extended_header: false 0xd7.1-0xd7.1 (0.1) -0x00d0| 00 | . | experimental_indicator: false 0xd7.2-0xd7.2 (0.1) -0x00d0| 00 | . | unused: 0 0xd7.3-0xd7.7 (0.5) -0x00d0| 00 00 00 43 | ...C | size: 67 0xd8-0xdb.7 (4) - | | | frames[0:1]: 0xdc-0x11e.7 (67) - | | | [0]{}: frame 0xdc-0x11e.7 (67) -0x00d0| 50 52 49 56| PRIV| id: "PRIV" (Private frame) 0xdc-0xdf.7 (4) -0x00e0|00 00 00 39 |...9 | size: 57 0xe0-0xe3.7 (4) - | | | flags{}: 0xe4-0xe5.7 (2) -0x00e0| 00 | . | unused0: 0 0xe4-0xe4 (0.1) -0x00e0| 00 | . | tag_alter_preservation: false 0xe4.1-0xe4.1 (0.1) -0x00e0| 00 | . | file_alter_preservation: false 0xe4.2-0xe4.2 (0.1) -0x00e0| 00 | . | read_only: false 0xe4.3-0xe4.3 (0.1) -0x00e0| 00 00 | .. | unused1: 0 0xe4.4-0xe5 (0.5) -0x00e0| 00 | . | grouping_identity: false 0xe5.1-0xe5.1 (0.1) -0x00e0| 00 | . | unused2: 0 0xe5.2-0xe5.3 (0.2) -0x00e0| 00 | . | compression: false 0xe5.4-0xe5.4 (0.1) -0x00e0| 00 | . | encryption: false 0xe5.5-0xe5.5 (0.1) -0x00e0| 00 | . | unsync: false 0xe5.6-0xe5.6 (0.1) -0x00e0| 00 | . | data_length_indicator: false 0xe5.7-0xe5.7 (0.1) -0x00e0| 68 74 74 70 73 3a 2f 2f 67 69| https://gi| owner: "https://github.com/google/shaka-packager" 0xe6-0x10e.7 (41) -0x00f0|74 68 75 62 2e 63 6f 6d 2f 67 6f 6f 67 6c 65 2f|thub.com/google/| -0x0100|73 68 61 6b 61 2d 70 61 63 6b 61 67 65 72 00 |shaka-packager. | -0x0100| 64| d| data: raw bits 0x10f-0x11e.7 (16) -0x0110|64 39 38 37 30 30 37 2d 72 65 6c 65 61 73 65 |d987007-release | - | | | [2]{}: box 0x11f-0x2fa.7 (476) -0x0110| 00| .| size: 476 0x11f-0x122.7 (4) -0x0120|00 01 dc |... | -0x0120| 74 72 61 6b | trak | type: "trak" (Container for an individual track or stream) 0x123-0x126.7 (4) - | | | boxes[0:2]: 0x127-0x2fa.7 (468) - | | | [0]{}: box 0x127-0x182.7 (92) -0x0120| 00 00 00 5c | ...\ | size: 92 0x127-0x12a.7 (4) -0x0120| 74 6b 68 64 | tkhd | type: "tkhd" (Track header, overall information about the track) 0x12b-0x12e.7 (4) -0x0120| 00| .| version: 0 0x12f-0x12f.7 (1) - | | | flags{}: 0x130-0x132.7 (3) -0x0130|00 00 07 |... | unused: 0 0x130-0x132.3 (2.4) -0x0130| 07 | . | size_is_aspect_ratio: false 0x132.4-0x132.4 (0.1) -0x0130| 07 | . | in_preview: true 0x132.5-0x132.5 (0.1) -0x0130| 07 | . | in_movie: true 0x132.6-0x132.6 (0.1) -0x0130| 07 | . | enabled: true 0x132.7-0x132.7 (0.1) -0x0130| dd 57 d6 ae | .W.. | creation_time: 3713521326 (2021-09-03T13:42:06Z) 0x133-0x136.7 (4) -0x0130| dd 57 d6 ae | .W.. | modification_time: 3713521326 (2021-09-03T13:42:06Z) 0x137-0x13a.7 (4) -0x0130| 00 00 00 01 | .... | track_id: 1 0x13b-0x13e.7 (4) -0x0130| 00| .| reserved1: 0 0x13f-0x142.7 (4) -0x0140|00 00 00 |... | -0x0140| 00 00 00 00 | .... | duration: 0 0x143-0x146.7 (4) -0x0140| 00 00 00 00 00 00 00 00 | ........ | reserved2: raw bits 0x147-0x14e.7 (8) -0x0140| 00| .| layer: 0 0x14f-0x150.7 (2) -0x0150|00 |. | -0x0150| 00 00 | .. | alternate_group: 0 0x151-0x152.7 (2) -0x0150| 00 00 | .. | volume: 0 0x153-0x154.7 (2) -0x0150| 00 00 | .. | reserved3: 0 0x155-0x156.7 (2) - | | | matrix_structure{}: 0x157-0x17a.7 (36) -0x0150| 00 01 00 00 | .... | a: 1 0x157-0x15a.7 (4) -0x0150| 00 00 00 00 | .... | b: 0 0x15b-0x15e.7 (4) -0x0150| 00| .| u: 0 0x15f-0x162.7 (4) -0x0160|00 00 00 |... | -0x0160| 00 00 00 00 | .... | c: 0 0x163-0x166.7 (4) -0x0160| 00 01 00 00 | .... | d: 1 0x167-0x16a.7 (4) -0x0160| 00 00 00 00 | .... | v: 0 0x16b-0x16e.7 (4) -0x0160| 00| .| x: 0 0x16f-0x172.7 (4) -0x0170|00 00 00 |... | -0x0170| 00 00 00 00 | .... | y: 0 0x173-0x176.7 (4) -0x0170| 40 00 00 00 | @... | w: 1 0x177-0x17a.7 (4) -0x0170| 01 40 00 00 | .@.. | track_width: 320 0x17b-0x17e.7 (4) -0x0170| 00| .| track_height: 240 0x17f-0x182.7 (4) -0x0180|f0 00 00 |... | - | | | [1]{}: box 0x183-0x2fa.7 (376) -0x0180| 00 00 01 78 | ...x | size: 376 0x183-0x186.7 (4) -0x0180| 6d 64 69 61 | mdia | type: "mdia" (Container for the media information in a track) 0x187-0x18a.7 (4) - | | | boxes[0:3]: 0x18b-0x2fa.7 (368) - | | | [0]{}: box 0x18b-0x1aa.7 (32) -0x0180| 00 00 00 20 | ... | size: 32 0x18b-0x18e.7 (4) -0x0180| 6d| m| type: "mdhd" (Media header, overall information about the media) 0x18f-0x192.7 (4) -0x0190|64 68 64 |dhd | -0x0190| 00 | . | version: 0 0x193-0x193.7 (1) -0x0190| 00 00 00 | ... | flags: 0 0x194-0x196.7 (3) -0x0190| dd 57 d6 ae | .W.. | creation_time: 3713521326 (2021-09-03T13:42:06Z) 0x197-0x19a.7 (4) -0x0190| dd 57 d6 ae | .W.. | modification_time: 3713521326 (2021-09-03T13:42:06Z) 0x19b-0x19e.7 (4) -0x0190| 00| .| time_scale: 12800 0x19f-0x1a2.7 (4) -0x01a0|00 32 00 |.2. | -0x01a0| 00 00 00 00 | .... | duration: 0 0x1a3-0x1a6.7 (4) -0x01a0| 55 c4 | U. | language: "und" 0x1a7-0x1a8.7 (2) -0x01a0| 00 00 | .. | quality: 0 0x1a9-0x1aa.7 (2) - | | | [1]{}: box 0x1ab-0x1d7.7 (45) -0x01a0| 00 00 00 2d | ...- | size: 45 0x1ab-0x1ae.7 (4) -0x01a0| 68| h| type: "hdlr" (Handler, declares the media (handler) type) 0x1af-0x1b2.7 (4) -0x01b0|64 6c 72 |dlr | -0x01b0| 00 | . | version: 0 0x1b3-0x1b3.7 (1) -0x01b0| 00 00 00 | ... | flags: 0 0x1b4-0x1b6.7 (3) -0x01b0| 00 00 00 00 | .... | component_type: "" 0x1b7-0x1ba.7 (4) -0x01b0| 76 69 64 65 | vide | component_subtype: "vide" (Video Track) 0x1bb-0x1be.7 (4) -0x01b0| 00| .| component_manufacturer: "" 0x1bf-0x1c2.7 (4) -0x01c0|00 00 00 |... | -0x01c0| 00 00 00 00 | .... | component_flags: 0 0x1c3-0x1c6.7 (4) -0x01c0| 00 00 00 00 | .... | component_flags_mask: 0 0x1c7-0x1ca.7 (4) -0x01c0| 56 69 64 65 6f| Video| component_name: "VideoHandler" 0x1cb-0x1d7.7 (13) -0x01d0|48 61 6e 64 6c 65 72 00 |Handler. | - | | | [2]{}: box 0x1d8-0x2fa.7 (291) -0x01d0| 00 00 01 23 | ...# | size: 291 0x1d8-0x1db.7 (4) -0x01d0| 6d 69 6e 66| minf| type: "minf" (Media information container) 0x1dc-0x1df.7 (4) - | | | boxes[0:3]: 0x1e0-0x2fa.7 (283) - | | | [0]{}: box 0x1e0-0x203.7 (36) -0x01e0|00 00 00 24 |...$ | size: 36 0x1e0-0x1e3.7 (4) -0x01e0| 64 69 6e 66 | dinf | type: "dinf" (Data information box, container) 0x1e4-0x1e7.7 (4) - | | | boxes[0:1]: 0x1e8-0x203.7 (28) - | | | [0]{}: box 0x1e8-0x203.7 (28) -0x01e0| 00 00 00 1c | .... | size: 28 0x1e8-0x1eb.7 (4) -0x01e0| 64 72 65 66| dref| type: "dref" (Data reference box, declares source(s) of media data in track) 0x1ec-0x1ef.7 (4) -0x01f0|00 |. | version: 0 0x1f0-0x1f0.7 (1) -0x01f0| 00 00 00 | ... | flags: 0 0x1f1-0x1f3.7 (3) -0x01f0| 00 00 00 01 | .... | entry_count: 1 0x1f4-0x1f7.7 (4) - | | | boxes[0:1]: 0x1f8-0x203.7 (12) - | | | [0]{}: box 0x1f8-0x203.7 (12) -0x01f0| 00 00 00 0c | .... | size: 12 0x1f8-0x1fb.7 (4) -0x01f0| 75 72 6c 20| url | type: "url " 0x1fc-0x1ff.7 (4) -0x0200|00 |. | version: 0 0x200-0x200.7 (1) -0x0200| 00 00 01 | ... | flags: 1 0x201-0x203.7 (3) - | | | data: raw bits 0x204-NA (0) - | | | [1]{}: box 0x204-0x2e6.7 (227) -0x0200| 00 00 00 e3 | .... | size: 227 0x204-0x207.7 (4) -0x0200| 73 74 62 6c | stbl | type: "stbl" (Sample table box, container for the time/space map) 0x208-0x20b.7 (4) - | | | boxes[0:5]: 0x20c-0x2e6.7 (219) - | | | [0]{}: box 0x20c-0x2a2.7 (151) -0x0200| 00 00 00 97| ....| size: 151 0x20c-0x20f.7 (4) -0x0210|73 74 73 64 |stsd | type: "stsd" (Sample descriptions (codec types, initialization etc.)) 0x210-0x213.7 (4) -0x0210| 00 | . | version: 0 0x214-0x214.7 (1) -0x0210| 00 00 00 | ... | flags: 0 0x215-0x217.7 (3) -0x0210| 00 00 00 01 | .... | entry_count: 1 0x218-0x21b.7 (4) - | | | boxes[0:1]: 0x21c-0x2a2.7 (135) - | | | [0]{}: box 0x21c-0x2a2.7 (135) -0x0210| 00 00 00 87| ....| size: 135 0x21c-0x21f.7 (4) -0x0220|61 76 63 31 |avc1 | type: "avc1" (Advanced Video Coding) 0x220-0x223.7 (4) -0x0220| 00 00 00 00 00 00 | ...... | reserved: raw bits 0x224-0x229.7 (6) -0x0220| 00 01 | .. | data_reference_index: 1 0x22a-0x22b.7 (2) -0x0220| 00 00 | .. | version: 0 0x22c-0x22d.7 (2) -0x0220| 00 00| ..| revision_level: 0 0x22e-0x22f.7 (2) -0x0230|00 00 00 00 |.... | max_packet_size: 0 0x230-0x233.7 (4) -0x0230| 00 00 00 00 | .... | temporal_quality: 0 0x234-0x237.7 (4) -0x0230| 00 00 00 00 | .... | spatial_quality: 0 0x238-0x23b.7 (4) -0x0230| 01 40 | .@ | width: 320 0x23c-0x23d.7 (2) -0x0230| 00 f0| ..| height: 240 0x23e-0x23f.7 (2) -0x0240|00 48 00 00 |.H.. | horizontal_resolution: 72 0x240-0x243.7 (4) -0x0240| 00 48 00 00 | .H.. | vertical_resolution: 72 0x244-0x247.7 (4) -0x0240| 00 00 00 00 | .... | data_size: 0 0x248-0x24b.7 (4) -0x0240| 00 01 | .. | frame_count: 1 0x24c-0x24d.7 (2) -0x0240| 0a 41| .A| compressor_name: "AVC Coding" 0x24e-0x26d.7 (32) -0x0250|56 43 20 43 6f 64 69 6e 67 00 00 00 00 00 00 00|VC Coding.......| -0x0260|00 00 00 00 00 00 00 00 00 00 00 00 00 00 |.............. | -0x0260| 00 18| ..| depth: 24 0x26e-0x26f.7 (2) -0x0270|ff ff |.. | color_table_id: -1 0x270-0x271.7 (2) - | | | boxes[0:1]: 0x272-0x2a2.7 (49) - | | | [0]{}: box 0x272-0x2a2.7 (49) -0x0270| 00 00 00 31 | ...1 | size: 49 0x272-0x275.7 (4) -0x0270| 61 76 63 43 | avcC | type: "avcC" 0x276-0x279.7 (4) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| descriptor{}: (avc_dcr) 0x27a-0x2a2.7 (41) -0x0270| 01 | . | configuration_version: 1 0x27a-0x27a.7 (1) -0x0270| f4 | . | profile_indication: "high_444_predictive_profile" (244) 0x27b-0x27b.7 (1) -0x0270| 10 | . | profile_compatibility: 16 0x27c-0x27c.7 (1) -0x0270| 0d | . | level_indication: "1.3" (13) 0x27d-0x27d.7 (1) -0x0270| ff | . | reserved0: 63 0x27e-0x27e.5 (0.6) -0x0270| ff | . | length_size: 4 0x27e.6-0x27e.7 (0.2) -0x0270| e1| .| reserved1: 7 0x27f-0x27f.2 (0.3) -0x0270| e1| .| num_of_sequence_parameter_sets: 1 0x27f.3-0x27f.7 (0.5) - | | | sequence_parameter_sets[0:1]: 0x280-0x295.7 (22) - | | | [0]{}: set 0x280-0x295.7 (22) -0x0280|00 14 |.. | length: 20 0x280-0x281.7 (2) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| nal{}: (avc_nalu) 0x282-0x295.7 (20) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (avc_sps) 0x0-0x11.7 (18) - 0x00|f4 |. | profile_idc: "high_444_predictive_profile" (244) 0x0-0x0.7 (1) - 0x00| 10 | . | constraint_set0_flag: false 0x1-0x1 (0.1) - 0x00| 10 | . | constraint_set1_flag: false 0x1.1-0x1.1 (0.1) - 0x00| 10 | . | constraint_set2_flag: false 0x1.2-0x1.2 (0.1) - 0x00| 10 | . | constraint_set3_flag: true 0x1.3-0x1.3 (0.1) - 0x00| 10 | . | constraint_set4_flag: false 0x1.4-0x1.4 (0.1) - 0x00| 10 | . | constraint_set5_flag: false 0x1.5-0x1.5 (0.1) - 0x00| 10 | . | reserved_zero_2bits: 0 0x1.6-0x1.7 (0.2) - 0x00| 0d | . | level_idc: "1.3" (13) 0x2-0x2.7 (1) - 0x00| 91 | . | seq_parameter_set_id: 0 0x3-0x3 (0.1) - 0x00| 91 | . | chroma_format_idc: "4:4:4" (3) 0x3.1-0x3.5 (0.5) - 0x00| 91 | . | separate_colour_plane_flag: false 0x3.6-0x3.6 (0.1) - 0x00| 91 | . | bit_depth_luma: 8 0x3.7-0x3.7 (0.1) - 0x00| 97 | . | bit_depth_chroma: 8 0x4-0x4 (0.1) - 0x00| 97 | . | qpprime_y_zero_transform_bypass_flag: false 0x4.1-0x4.1 (0.1) - 0x00| 97 | . | seq_scaling_matrix_present_flag: false 0x4.2-0x4.2 (0.1) - 0x00| 97 | . | log2_max_frame_num: 4 0x4.3-0x4.3 (0.1) - 0x00| 97 | . | pic_order_cnt_type: 2 0x4.4-0x4.6 (0.3) - 0x00| 97 | . | max_num_ref_frames: 0 0x4.7-0x4.7 (0.1) - 0x00| 05 | . | gaps_in_frame_num_value_allowed_flag: false 0x5-0x5 (0.1) - 0x00| 05 07 | .. | pic_width_in_mbs: 20 0x5.1-0x6.1 (1.1) - 0x00| 07 ec | .. | pic_height_in_map_units: 15 0x6.2-0x7 (0.7) - 0x00| ec | . | frame_mbs_only_flag: true 0x7.1-0x7.1 (0.1) - 0x00| ec | . | direct_8x8_inference_flag: true 0x7.2-0x7.2 (0.1) - 0x00| ec | . | frame_cropping_flag: false 0x7.3-0x7.3 (0.1) - 0x00| ec | . | vui_parameters_present_flag: true 0x7.4-0x7.4 (0.1) - | | | vui_parameters{}: 0x7.5-0x11.6 (10.2) - 0x00| ec | . | aspect_ratio_info_present_flag: true 0x7.5-0x7.5 (0.1) - 0x00| ec 04 | .. | aspect_ratio_idc: "1:1" (1) 0x7.6-0x8.5 (1) - 0x00| 04 | . | overscan_info_present_flag: false 0x8.6-0x8.6 (0.1) - 0x00| 04 | . | video_signal_type_present_flag: false 0x8.7-0x8.7 (0.1) - 0x00| 40 | @ | chroma_loc_info_present_flag: false 0x9-0x9 (0.1) - 0x00| 40 | @ | timing_info_present_flag: true 0x9.1-0x9.1 (0.1) - 0x00| 40 00 00 00 40 | @...@ | num_units_in_tick: 1 0x9.2-0xd.1 (4) - 0x00| 40 00 00| @..| time_scale: 50 0xd.2-0x11.1 (4) - 0x01|0c 81| |..| | - 0x01| 81| | .| | fixed_frame_rate_flag: false 0x11.2-0x11.2 (0.1) - 0x01| 81| | .| | nal_hrd_parameters_present_flag: false 0x11.3-0x11.3 (0.1) - 0x01| 81| | .| | vcl_hrd_parameters_present_flag: false 0x11.4-0x11.4 (0.1) - 0x01| 81| | .| | pic_struct_present_flag: false 0x11.5-0x11.5 (0.1) - 0x01| 81| | .| | bitstream_restriction_flag: false 0x11.6-0x11.6 (0.1) - 0x01| 81| | .| | rbsp_trailing_bits: raw bits 0x11.7-0x11.7 (0.1) -0x0280| 67 | g | forbidden_zero_bit: false 0x282-0x282 (0.1) -0x0280| 67 | g | nal_ref_idc: 3 0x282.1-0x282.2 (0.2) -0x0280| 67 | g | nal_unit_type: "sps" (7) (Sequence parameter set) 0x282.3-0x282.7 (0.5) -0x0280| f4 10 0d 91 97 05 07 ec 04 40 00 00 03| .........@...| data: raw bits 0x283-0x295.7 (19) -0x0290|00 40 00 00 0c 81 |.@.... | -0x0290| 01 | . | num_of_picture_parameter_sets: 1 0x296-0x296.7 (1) - | | | picture_parameter_sets[0:1]: 0x297-0x29e.7 (8) - | | | [0]{}: set 0x297-0x29e.7 (8) -0x0290| 00 06 | .. | length: 6 0x297-0x298.7 (2) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| nal{}: (avc_nalu) 0x299-0x29e.7 (6) - |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (avc_pps) 0x0-0x4.7 (5) - 0x00|ee |. | pic_parameter_set_id: 0 0x0-0x0 (0.1) - 0x00|ee |. | seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1) - 0x00|ee |. | entropy_coding_mode_flag: true 0x0.2-0x0.2 (0.1) - 0x00|ee |. | bottom_field_pic_order_in_frame_present_flag: false 0x0.3-0x0.3 (0.1) - 0x00|ee |. | num_slice_groups: 1 0x0.4-0x0.4 (0.1) - 0x00|ee |. | num_ref_idx_l0_default_active: 1 0x0.5-0x0.5 (0.1) - 0x00|ee |. | num_ref_idx_l1_default_active: 1 0x0.6-0x0.6 (0.1) - 0x00|ee |. | weighted_pred_flag: false 0x0.7-0x0.7 (0.1) - 0x00| 0f | . | weighted_bipred_idc: 0 0x1-0x1.1 (0.2) - 0x00| 0f | . | pic_init_qp: 23 0x1.2-0x1.6 (0.5) - 0x00| 0f | . | pic_init_qs: 26 0x1.7-0x1.7 (0.1) - 0x00| 11 | . | chroma_qp_index_offset: 4 0x2-0x2.6 (0.7) - 0x00| 11 | . | deblocking_filter_control_present_flag: true 0x2.7-0x2.7 (0.1) - 0x00| 21 | ! | constrained_intra_pred_flag: false 0x3-0x3 (0.1) - 0x00| 21 | ! | redundant_pic_cnt_present_flag: false 0x3.1-0x3.1 (0.1) - 0x00| 21 | ! | transform_8x8_mode_flag: true 0x3.2-0x3.2 (0.1) - 0x00| 21 | ! | pic_scaling_matrix_present_flag: false 0x3.3-0x3.3 (0.1) - 0x00| 21 10| | !.| | second_chroma_qp_index_offset: 4 0x3.4-0x4.2 (0.7) - 0x00| 10| | .| | rbsp_trailing_bits: raw bits 0x4.3-0x4.7 (0.5) -0x0290| 68 | h | forbidden_zero_bit: false 0x299-0x299 (0.1) -0x0290| 68 | h | nal_ref_idc: 3 0x299.1-0x299.2 (0.2) -0x0290| 68 | h | nal_unit_type: "pps" (8) (Picture parameter set) 0x299.3-0x299.7 (0.5) -0x0290| ee 0f 11 21 10 | ...!. | data: raw bits 0x29a-0x29e.7 (5) -0x0290| ff| .| data: raw bits 0x29f-0x2a2.7 (4) -0x02a0|f8 f8 00 |... | - | | | [1]{}: box 0x2a3-0x2b2.7 (16) -0x02a0| 00 00 00 10 | .... | size: 16 0x2a3-0x2a6.7 (4) -0x02a0| 73 74 74 73 | stts | type: "stts" (Sample time-to-sample) 0x2a7-0x2aa.7 (4) -0x02a0| 00 | . | version: 0 0x2ab-0x2ab.7 (1) -0x02a0| 00 00 00 | ... | flags: 0 0x2ac-0x2ae.7 (3) -0x02a0| 00| .| entry_count: 0 0x2af-0x2b2.7 (4) -0x02b0|00 00 00 |... | - | | | entries[0:0]: 0x2b3-NA (0) - | | | [2]{}: box 0x2b3-0x2c2.7 (16) -0x02b0| 00 00 00 10 | .... | size: 16 0x2b3-0x2b6.7 (4) -0x02b0| 73 74 73 63 | stsc | type: "stsc" (Sample-to-chunk, partial data-offset information) 0x2b7-0x2ba.7 (4) -0x02b0| 00 | . | version: 0 0x2bb-0x2bb.7 (1) -0x02b0| 00 00 00 | ... | flags: 0 0x2bc-0x2be.7 (3) -0x02b0| 00| .| entry_count: 0 0x2bf-0x2c2.7 (4) -0x02c0|00 00 00 |... | - | | | entries[0:0]: 0x2c3-NA (0) - | | | [3]{}: box 0x2c3-0x2d6.7 (20) -0x02c0| 00 00 00 14 | .... | size: 20 0x2c3-0x2c6.7 (4) -0x02c0| 73 74 73 7a | stsz | type: "stsz" (Sample sizes (framing)) 0x2c7-0x2ca.7 (4) -0x02c0| 00 | . | version: 0 0x2cb-0x2cb.7 (1) -0x02c0| 00 00 00 | ... | flags: 0 0x2cc-0x2ce.7 (3) -0x02c0| 00| .| sample_size: 0 0x2cf-0x2d2.7 (4) -0x02d0|00 00 00 |... | -0x02d0| 00 00 00 00 | .... | entry_count: 0 0x2d3-0x2d6.7 (4) - | | | entries[0:0]: 0x2d7-NA (0) - | | | [4]{}: box 0x2d7-0x2e6.7 (16) -0x02d0| 00 00 00 10 | .... | size: 16 0x2d7-0x2da.7 (4) -0x02d0| 73 74 63 6f | stco | type: "stco" (Chunk offset, partial data-offset information) 0x2db-0x2de.7 (4) -0x02d0| 00| .| version: 0 0x2df-0x2df.7 (1) -0x02e0|00 00 00 |... | flags: 0 0x2e0-0x2e2.7 (3) -0x02e0| 00 00 00 00 | .... | entry_count: 0 0x2e3-0x2e6.7 (4) - | | | entries[0:0]: 0x2e7-NA (0) - | | | [2]{}: box 0x2e7-0x2fa.7 (20) -0x02e0| 00 00 00 14 | .... | size: 20 0x2e7-0x2ea.7 (4) -0x02e0| 76 6d 68 64 | vmhd | type: "vmhd" (Video media header, overall information (video track only)) 0x2eb-0x2ee.7 (4) -0x02e0| 00| .| version: 0 0x2ef-0x2ef.7 (1) -0x02f0|00 00 01 |... | flags: 1 0x2f0-0x2f2.7 (3) -0x02f0| 00 00 | .. | graphicsmode: 0 0x2f3-0x2f4.7 (2) - | | | opcolor[0:3]: 0x2f5-0x2fa.7 (6) -0x02f0| 00 00 | .. | [0]: 0 value 0x2f5-0x2f6.7 (2) -0x02f0| 00 00 | .. | [1]: 0 value 0x2f7-0x2f8.7 (2) -0x02f0| 00 00 | .. | [2]: 0 value 0x2f9-0x2fa.7 (2) - | | | [3]{}: box 0x2fb-0x332.7 (56) -0x02f0| 00 00 00 38 | ...8 | size: 56 0x2fb-0x2fe.7 (4) -0x02f0| 6d| m| type: "mvex" (Movie extends box) 0x2ff-0x302.7 (4) -0x0300|76 65 78 |vex | - | | | boxes[0:2]: 0x303-0x332.7 (48) - | | | [0]{}: box 0x303-0x312.7 (16) -0x0300| 00 00 00 10 | .... | size: 16 0x303-0x306.7 (4) -0x0300| 6d 65 68 64 | mehd | type: "mehd" (Movie extends header box) 0x307-0x30a.7 (4) -0x0300| 00 | . | version: 0 0x30b-0x30b.7 (1) -0x0300| 00 00 00 | ... | flags: 0 0x30c-0x30e.7 (3) -0x0300| 00| .| fragment_duration: 1536 0x30f-0x312.7 (4) -0x0310|00 06 00 |... | - | | | [1]{}: box 0x313-0x332.7 (32) -0x0310| 00 00 00 20 | ... | size: 32 0x313-0x316.7 (4) -0x0310| 74 72 65 78 | trex | type: "trex" (Track extends defaults) 0x317-0x31a.7 (4) -0x0310| 00 | . | version: 0 0x31b-0x31b.7 (1) -0x0310| 00 00 00 | ... | flags: 0 0x31c-0x31e.7 (3) -0x0310| 00| .| track_id: 1 0x31f-0x322.7 (4) -0x0320|00 00 01 |... | -0x0320| 00 00 00 01 | .... | default_sample_description_index: 1 0x323-0x326.7 (4) -0x0320| 00 00 02 00 | .... | default_sample_duration: 512 0x327-0x32a.7 (4) -0x0320| 00 00 00 00 | .... | default_sample_size: 0 0x32b-0x32e.7 (4) - | | | default_sample_flags{}: 0x32f-0x332.7 (4) -0x0320| 00| .| reserved0: 0 0x32f-0x32f.3 (0.4) -0x0320| 00| .| is_leading: 0 0x32f.4-0x32f.5 (0.2) -0x0320| 00| .| sample_depends_on: "unknown" (0) 0x32f.6-0x32f.7 (0.2) -0x0330|00 |. | sample_is_depended_on: "unknown" (0) 0x330-0x330.1 (0.2) -0x0330|00 |. | sample_has_redundancy: "unknown" (0) 0x330.2-0x330.3 (0.2) -0x0330|00 |. | sample_padding_value: 0 0x330.4-0x330.6 (0.3) -0x0330|00 |. | sample_is_non_sync_sample: 0 0x330.7-0x330.7 (0.1) -0x0330| 00 00| | ..| | sample_degradation_priority: 0 0x331-0x332.7 (2) - | | | tracks[0:1]: 0x333-NA (0) - | | | [0]{}: track 0x333-NA (0) - | | | id: 1 0x333-NA (0) - | | | data_format: "avc1" (Advanced Video Coding) 0x333-NA (0) - | | | samples[0:0]: 0x333-NA (0) + | | | flags{}: 0x8d-0x8f.7 (3) +0x080| 02 | . | unused0: 1 0x8d-0x8d.6 (0.7) +0x080| 02 | . | duration_is_empty: false 0x8d.7-0x8d.7 (0.1) +0x080| 00 2a| .*| unused1: 0 0x8e-0x8f.1 (1.2) +0x080| 2a| *| default_sample_flags_present: true 0x8f.2-0x8f.2 (0.1) +0x080| 2a| *| default_sample_size_present: false 0x8f.3-0x8f.3 (0.1) +0x080| 2a| *| default_sample_duration_present: true 0x8f.4-0x8f.4 (0.1) +0x080| 2a| *| unused2: 0 0x8f.5-0x8f.5 (0.1) +0x080| 2a| *| sample_description_index_present: true 0x8f.6-0x8f.6 (0.1) +0x080| 2a| *| base_data_offset_present: false 0x8f.7-0x8f.7 (0.1) +0x090|00 00 00 01 |.... | track_id: 1 0x90-0x93.7 (4) +0x090| 00 00 00 01 | .... | sample_description_index: 1 0x94-0x97.7 (4) +0x090| 00 00 04 00 | .... | default_sample_duration: 1024 0x98-0x9b.7 (4) + | | | default_sample_flags{}: 0x9c-0x9f.7 (4) +0x090| 00 | . | reserved0: 0 0x9c-0x9c.3 (0.4) +0x090| 00 | . | is_leading: 0 0x9c.4-0x9c.5 (0.2) +0x090| 00 | . | sample_depends_on: "unknown" (0) 0x9c.6-0x9c.7 (0.2) +0x090| 00 | . | sample_is_depended_on: "unknown" (0) 0x9d-0x9d.1 (0.2) +0x090| 00 | . | sample_has_redundancy: "unknown" (0) 0x9d.2-0x9d.3 (0.2) +0x090| 00 | . | sample_padding_value: 0 0x9d.4-0x9d.6 (0.3) +0x090| 00 | . | sample_is_non_sync_sample: 0 0x9d.7-0x9d.7 (0.1) +0x090| 00 00| ..| sample_degradation_priority: 0 0x9e-0x9f.7 (2) + | | | [1]{}: box 0xa0-0xaf.7 (16) +0x0a0|00 00 00 10 |.... | size: 16 0xa0-0xa3.7 (4) +0x0a0| 74 66 64 74 | tfdt | type: "tfdt" (Track fragment decode time) 0xa4-0xa7.7 (4) +0x0a0| 00 | . | version: 0 0xa8-0xa8.7 (1) +0x0a0| 00 00 00 | ... | flags: 0 0xa9-0xab.7 (3) +0x0a0| 00 00 00 00| ....| start_time: 0 0xac-0xaf.7 (4) + | | | [2]{}: box 0xb0-0xcf.7 (32) +0x0b0|00 00 00 20 |... | size: 32 0xb0-0xb3.7 (4) +0x0b0| 74 72 75 6e | trun | type: "trun" (Track fragment run) 0xb4-0xb7.7 (4) +0x0b0| 00 | . | version: 0 0xb8-0xb8.7 (1) + | | | flags{}: 0xb9-0xbb.7 (3) +0x0b0| 00 02 | .. | unused0: 0 0xb9-0xba.3 (1.4) +0x0b0| 02 | . | sample_composition_time_offsets_present: false 0xba.4-0xba.4 (0.1) +0x0b0| 02 | . | sample_flags_present: false 0xba.5-0xba.5 (0.1) +0x0b0| 02 | . | sample_size_present: true 0xba.6-0xba.6 (0.1) +0x0b0| 02 | . | sample_duration_present: false 0xba.7-0xba.7 (0.1) +0x0b0| 01 | . | unused1: 0 0xbb-0xbb.4 (0.5) +0x0b0| 01 | . | first_sample_flags_present: false 0xbb.5-0xbb.5 (0.1) +0x0b0| 01 | . | unused2: 0 0xbb.6-0xbb.6 (0.1) +0x0b0| 01 | . | data_offset_present: true 0xbb.7-0xbb.7 (0.1) +0x0b0| 00 00 00 03| ....| sample_count: 3 0xbc-0xbf.7 (4) +0x0c0|00 00 01 71 |...q | data_offset: 369 0xc0-0xc3.7 (4) + | | | samples[0:3]: 0xc4-0xcf.7 (12) + | | | [0]{}: sample 0xc4-0xc7.7 (4) +0x0c0| 00 00 01 00 | .... | sample_size: 256 0xc4-0xc7.7 (4) + | | | [1]{}: sample 0xc8-0xcb.7 (4) +0x0c0| 00 00 01 02 | .... | sample_size: 258 0xc8-0xcb.7 (4) + | | | [2]{}: sample 0xcc-0xcf.7 (4) +0x0c0| 00 00 00 95| ....| sample_size: 149 0xcc-0xcf.7 (4) + | | | [3]{}: box 0xd0-0xeb.7 (28) +0x0d0|00 00 00 1c |.... | size: 28 0xd0-0xd3.7 (4) +0x0d0| 73 62 67 70 | sbgp | type: "sbgp" (Sample to Group box) 0xd4-0xd7.7 (4) +0x0d0| 00 | . | version: 0 0xd8-0xd8.7 (1) +0x0d0| 00 00 00 | ... | flags: 0 0xd9-0xdb.7 (3) +0x0d0| 72 6f 6c 6c| roll| grouping_type: "roll" 0xdc-0xdf.7 (4) +0x0e0|00 00 00 01 |.... | entry_count: 1 0xe0-0xe3.7 (4) + | | | entries[0:1]: 0xe4-0xeb.7 (8) + | | | [0]{}: entry 0xe4-0xeb.7 (8) +0x0e0| 00 00 00 03 | .... | sample_count: 3 0xe4-0xe7.7 (4) +0x0e0| 00 00 00 01 | .... | group_description_index: 1 0xe8-0xeb.7 (4) + | | | [4]{}: box 0xec-0x107.7 (28) +0x0e0| 00 00 00 1c| ....| size: 28 0xec-0xef.7 (4) +0x0f0|73 62 67 70 |sbgp | type: "sbgp" (Sample to Group box) 0xf0-0xf3.7 (4) +0x0f0| 00 | . | version: 0 0xf4-0xf4.7 (1) +0x0f0| 00 00 00 | ... | flags: 0 0xf5-0xf7.7 (3) +0x0f0| 73 65 69 67 | seig | grouping_type: "seig" 0xf8-0xfb.7 (4) +0x0f0| 00 00 00 01| ....| entry_count: 1 0xfc-0xff.7 (4) + | | | entries[0:1]: 0x100-0x107.7 (8) + | | | [0]{}: entry 0x100-0x107.7 (8) +0x100|00 00 00 03 |.... | sample_count: 3 0x100-0x103.7 (4) +0x100| 00 01 00 01 | .... | group_description_index: 65537 0x104-0x107.7 (4) + | | | [5]{}: box 0x108-0x133.7 (44) +0x100| 00 00 00 2c | ..., | size: 44 0x108-0x10b.7 (4) +0x100| 73 67 70 64| sgpd| type: "sgpd" (Sample group definition box) 0x10c-0x10f.7 (4) +0x110|01 |. | version: 1 0x110-0x110.7 (1) +0x110| 00 00 00 | ... | flags: 0 0x111-0x113.7 (3) +0x110| 73 65 69 67 | seig | grouping_type: "seig" 0x114-0x117.7 (4) +0x110| 00 00 00 14 | .... | default_length: 20 0x118-0x11b.7 (4) +0x110| 00 00 00 01| ....| entry_count: 1 0x11c-0x11f.7 (4) + | | | entries[0:1]: 0x120-0x133.7 (20) + | | | [0]{}: entry 0x120-0x133.7 (20) +0x120|00 |. | reserved: 0 0x120-0x120.7 (1) +0x120| 00 | . | crypto_bytes: 0 0x121-0x121.3 (0.4) +0x120| 00 | . | skip_bytes: 0 0x121.4-0x121.7 (0.4) +0x120| 01 | . | is_encrypted: 1 0x122-0x122.7 (1) +0x120| 10 | . | per_sample_iv_size: 16 0x123-0x123.7 (1) +0x120| 11 22 33 44 55 66 77 88 99 aa bb cc| ."3DUfw.....| kid: raw bits 0x124-0x133.7 (16) +0x130|dd ee ff 00 |.... | + | | | [6]{}: box 0x134-0x144.7 (17) +0x130| 00 00 00 11 | .... | size: 17 0x134-0x137.7 (4) +0x130| 73 61 69 7a | saiz | type: "saiz" (Sample auxiliary information sizes) 0x138-0x13b.7 (4) +0x130| 00 | . | version: 0 0x13c-0x13c.7 (1) +0x130| 00 00 00| ...| flags: 0 0x13d-0x13f.7 (3) +0x140|10 |. | default_sample_info_size: 16 0x140-0x140.7 (1) +0x140| 00 00 00 03 | .... | sample_count: 3 0x141-0x144.7 (4) + | | | [7]{}: box 0x145-0x158.7 (20) +0x140| 00 00 00 14 | .... | size: 20 0x145-0x148.7 (4) +0x140| 73 61 69 6f | saio | type: "saio" (Sample auxiliary information offsets) 0x149-0x14c.7 (4) +0x140| 00 | . | version: 0 0x14d-0x14d.7 (1) +0x140| 00 00| ..| flags: 0 0x14e-0x150.7 (3) +0x150|00 |. | +0x150| 00 00 00 01 | .... | entry_count: 1 0x151-0x154.7 (4) + | | | entries[0:1]: 0x155-0x158.7 (4) +0x150| 00 00 01 05 | .... | [0]: 261 offset 0x155-0x158.7 (4) + | | | [8]{}: box 0x159-0x168.7 (16) +0x150| 00 00 00 40 | ...@ | size: 64 0x159-0x15c.7 (4) +0x150| 73 65 6e| sen| type: "senc" (Sample specific encryption data) 0x15d-0x160.7 (4) +0x160|63 |c | +0x160| 00 | . | version: 0 0x161-0x161.7 (1) +0x160| 00 00 00 | ... | flags: 0 0x162-0x164.7 (3) +0x160| 00 00 00 03 | .... | sample_count: 3 0x165-0x168.7 (4) + | | | samples[0:3]: 0x169-NA (0) + | | | [0]{}: entry 0x169-NA (0) + | | | [1]{}: entry 0x169-NA (0) + | | | [2]{}: entry 0x169-NA (0) + | | | [2]{}: box 0x199-0x1cc.7 (52) +0x190| 00 00 00 34 | ...4 | size: 52 0x199-0x19c.7 (4) +0x190| 70 73 73| pss| type: "pssh" (Protection system specific header) 0x19d-0x1a0.7 (4) +0x1a0|68 |h | +0x1a0| 01 | . | version: 1 0x1a1-0x1a1.7 (1) +0x1a0| 00 00 00 | ... | flags: 0 0x1a2-0x1a4.7 (3) +0x1a0| 10 77 ef ec c0 b2 4d 02 ac e3 3c| .w....M...<| system_id: "common" (raw bits) 0x1a5-0x1b4.7 (16) +0x1b0|1e 52 e2 fb 4b |.R..K | +0x1b0| 00 00 00 01 | .... | kid_count: 1 0x1b5-0x1b8.7 (4) + | | | kids[0:1]: 0x1b9-0x1c8.7 (16) +0x1b0| 11 22 33 44 55 66 77| ."3DUfw| [0]: raw bits kid 0x1b9-0x1c8.7 (16) +0x1c0|88 99 aa bb cc dd ee ff 00 |......... | +0x1c0| 00 00 00 00 | .... | data_size: 0 0x1c9-0x1cc.7 (4) + | | | data: raw bits 0x1cd-NA (0) + | | | [3]{}: box 0x1cd-0x46b.7 (671) +0x1c0| 00 00 02| ...| size: 671 0x1cd-0x1d0.7 (4) +0x1d0|9f |. | +0x1d0| 6d 64 61 74 | mdat | type: "mdat" (Media data container) 0x1d1-0x1d4.7 (4) +0x1d0| 72 7f 32 eb 78 a2 6b 03 a3 78 38| r.2.x.k..x8| data: raw bits 0x1d5-0x46b.7 (663) +0x1e0|8b 37 0c c7 18 66 5b 08 bc 5f 60 fe 70 56 80 ec|.7...f[.._`.pV..| +* |until 0x46b.7 (663) | | + | | | [4]{}: box 0x46c-0x5c0.7 (341) +0x460| 00 00 01 55| ...U| size: 341 0x46c-0x46f.7 (4) +0x470|6d 6f 6f 66 |moof | type: "moof" (Movie fragment) 0x470-0x473.7 (4) + | | | boxes[0:3]: 0x474-0x5c0.7 (333) + | | | [0]{}: box 0x474-0x483.7 (16) +0x470| 00 00 00 10 | .... | size: 16 0x474-0x477.7 (4) +0x470| 6d 66 68 64 | mfhd | type: "mfhd" (Movie fragment header) 0x478-0x47b.7 (4) +0x470| 00 | . | version: 0 0x47c-0x47c.7 (1) +0x470| 00 00 00| ...| flags: 0 0x47d-0x47f.7 (3) +0x480|00 00 00 02 |.... | sequence_number: 2 0x480-0x483.7 (4) + | | | [1]{}: box 0x484-0x56c.7 (233) +0x480| 00 00 01 09 | .... | size: 265 0x484-0x487.7 (4) +0x480| 74 72 61 66 | traf | type: "traf" (Track fragment) 0x488-0x48b.7 (4) + | | | boxes[0:9]: 0x48c-0x56c.7 (225) + | | | [0]{}: box 0x48c-0x4a7.7 (28) +0x480| 00 00 00 1c| ....| size: 28 0x48c-0x48f.7 (4) +0x490|74 66 68 64 |tfhd | type: "tfhd" (Track fragment header) 0x490-0x493.7 (4) +0x490| 00 | . | version: 0 0x494-0x494.7 (1) + | | | flags{}: 0x495-0x497.7 (3) +0x490| 02 | . | unused0: 1 0x495-0x495.6 (0.7) +0x490| 02 | . | duration_is_empty: false 0x495.7-0x495.7 (0.1) +0x490| 00 2a | .* | unused1: 0 0x496-0x497.1 (1.2) +0x490| 2a | * | default_sample_flags_present: true 0x497.2-0x497.2 (0.1) +0x490| 2a | * | default_sample_size_present: false 0x497.3-0x497.3 (0.1) +0x490| 2a | * | default_sample_duration_present: true 0x497.4-0x497.4 (0.1) +0x490| 2a | * | unused2: 0 0x497.5-0x497.5 (0.1) +0x490| 2a | * | sample_description_index_present: true 0x497.6-0x497.6 (0.1) +0x490| 2a | * | base_data_offset_present: false 0x497.7-0x497.7 (0.1) +0x490| 00 00 00 01 | .... | track_id: 1 0x498-0x49b.7 (4) +0x490| 00 00 00 01| ....| sample_description_index: 1 0x49c-0x49f.7 (4) +0x4a0|00 00 04 00 |.... | default_sample_duration: 1024 0x4a0-0x4a3.7 (4) + | | | default_sample_flags{}: 0x4a4-0x4a7.7 (4) +0x4a0| 00 | . | reserved0: 0 0x4a4-0x4a4.3 (0.4) +0x4a0| 00 | . | is_leading: 0 0x4a4.4-0x4a4.5 (0.2) +0x4a0| 00 | . | sample_depends_on: "unknown" (0) 0x4a4.6-0x4a4.7 (0.2) +0x4a0| 00 | . | sample_is_depended_on: "unknown" (0) 0x4a5-0x4a5.1 (0.2) +0x4a0| 00 | . | sample_has_redundancy: "unknown" (0) 0x4a5.2-0x4a5.3 (0.2) +0x4a0| 00 | . | sample_padding_value: 0 0x4a5.4-0x4a5.6 (0.3) +0x4a0| 00 | . | sample_is_non_sync_sample: 0 0x4a5.7-0x4a5.7 (0.1) +0x4a0| 00 00 | .. | sample_degradation_priority: 0 0x4a6-0x4a7.7 (2) + | | | [1]{}: box 0x4a8-0x4b7.7 (16) +0x4a0| 00 00 00 10 | .... | size: 16 0x4a8-0x4ab.7 (4) +0x4a0| 74 66 64 74| tfdt| type: "tfdt" (Track fragment decode time) 0x4ac-0x4af.7 (4) +0x4b0|00 |. | version: 0 0x4b0-0x4b0.7 (1) +0x4b0| 00 00 00 | ... | flags: 0 0x4b1-0x4b3.7 (3) +0x4b0| 00 00 0c 00 | .... | start_time: 3072 0x4b4-0x4b7.7 (4) + | | | [2]{}: box 0x4b8-0x4d3.7 (28) +0x4b0| 00 00 00 1c | .... | size: 28 0x4b8-0x4bb.7 (4) +0x4b0| 74 72 75 6e| trun| type: "trun" (Track fragment run) 0x4bc-0x4bf.7 (4) +0x4c0|00 |. | version: 0 0x4c0-0x4c0.7 (1) + | | | flags{}: 0x4c1-0x4c3.7 (3) +0x4c0| 00 02 | .. | unused0: 0 0x4c1-0x4c2.3 (1.4) +0x4c0| 02 | . | sample_composition_time_offsets_present: false 0x4c2.4-0x4c2.4 (0.1) +0x4c0| 02 | . | sample_flags_present: false 0x4c2.5-0x4c2.5 (0.1) +0x4c0| 02 | . | sample_size_present: true 0x4c2.6-0x4c2.6 (0.1) +0x4c0| 02 | . | sample_duration_present: false 0x4c2.7-0x4c2.7 (0.1) +0x4c0| 01 | . | unused1: 0 0x4c3-0x4c3.4 (0.5) +0x4c0| 01 | . | first_sample_flags_present: false 0x4c3.5-0x4c3.5 (0.1) +0x4c0| 01 | . | unused2: 0 0x4c3.6-0x4c3.6 (0.1) +0x4c0| 01 | . | data_offset_present: true 0x4c3.7-0x4c3.7 (0.1) +0x4c0| 00 00 00 02 | .... | sample_count: 2 0x4c4-0x4c7.7 (4) +0x4c0| 00 00 01 5d | ...] | data_offset: 349 0x4c8-0x4cb.7 (4) + | | | samples[0:2]: 0x4cc-0x4d3.7 (8) + | | | [0]{}: sample 0x4cc-0x4cf.7 (4) +0x4c0| 00 00 00 de| ....| sample_size: 222 0x4cc-0x4cf.7 (4) + | | | [1]{}: sample 0x4d0-0x4d3.7 (4) +0x4d0|00 00 01 1f |.... | sample_size: 287 0x4d0-0x4d3.7 (4) + | | | [3]{}: box 0x4d4-0x4ef.7 (28) +0x4d0| 00 00 00 1c | .... | size: 28 0x4d4-0x4d7.7 (4) +0x4d0| 73 62 67 70 | sbgp | type: "sbgp" (Sample to Group box) 0x4d8-0x4db.7 (4) +0x4d0| 00 | . | version: 0 0x4dc-0x4dc.7 (1) +0x4d0| 00 00 00| ...| flags: 0 0x4dd-0x4df.7 (3) +0x4e0|72 6f 6c 6c |roll | grouping_type: "roll" 0x4e0-0x4e3.7 (4) +0x4e0| 00 00 00 01 | .... | entry_count: 1 0x4e4-0x4e7.7 (4) + | | | entries[0:1]: 0x4e8-0x4ef.7 (8) + | | | [0]{}: entry 0x4e8-0x4ef.7 (8) +0x4e0| 00 00 00 02 | .... | sample_count: 2 0x4e8-0x4eb.7 (4) +0x4e0| 00 00 00 01| ....| group_description_index: 1 0x4ec-0x4ef.7 (4) + | | | [4]{}: box 0x4f0-0x50b.7 (28) +0x4f0|00 00 00 1c |.... | size: 28 0x4f0-0x4f3.7 (4) +0x4f0| 73 62 67 70 | sbgp | type: "sbgp" (Sample to Group box) 0x4f4-0x4f7.7 (4) +0x4f0| 00 | . | version: 0 0x4f8-0x4f8.7 (1) +0x4f0| 00 00 00 | ... | flags: 0 0x4f9-0x4fb.7 (3) +0x4f0| 73 65 69 67| seig| grouping_type: "seig" 0x4fc-0x4ff.7 (4) +0x500|00 00 00 01 |.... | entry_count: 1 0x500-0x503.7 (4) + | | | entries[0:1]: 0x504-0x50b.7 (8) + | | | [0]{}: entry 0x504-0x50b.7 (8) +0x500| 00 00 00 02 | .... | sample_count: 2 0x504-0x507.7 (4) +0x500| 00 01 00 01 | .... | group_description_index: 65537 0x508-0x50b.7 (4) + | | | [5]{}: box 0x50c-0x537.7 (44) +0x500| 00 00 00 2c| ...,| size: 44 0x50c-0x50f.7 (4) +0x510|73 67 70 64 |sgpd | type: "sgpd" (Sample group definition box) 0x510-0x513.7 (4) +0x510| 01 | . | version: 1 0x514-0x514.7 (1) +0x510| 00 00 00 | ... | flags: 0 0x515-0x517.7 (3) +0x510| 73 65 69 67 | seig | grouping_type: "seig" 0x518-0x51b.7 (4) +0x510| 00 00 00 14| ....| default_length: 20 0x51c-0x51f.7 (4) +0x520|00 00 00 01 |.... | entry_count: 1 0x520-0x523.7 (4) + | | | entries[0:1]: 0x524-0x537.7 (20) + | | | [0]{}: entry 0x524-0x537.7 (20) +0x520| 00 | . | reserved: 0 0x524-0x524.7 (1) +0x520| 00 | . | crypto_bytes: 0 0x525-0x525.3 (0.4) +0x520| 00 | . | skip_bytes: 0 0x525.4-0x525.7 (0.4) +0x520| 01 | . | is_encrypted: 1 0x526-0x526.7 (1) +0x520| 10 | . | per_sample_iv_size: 16 0x527-0x527.7 (1) +0x520| 11 22 33 44 55 66 77 88| ."3DUfw.| kid: raw bits 0x528-0x537.7 (16) +0x530|99 aa bb cc dd ee ff 00 |........ | + | | | [6]{}: box 0x538-0x548.7 (17) +0x530| 00 00 00 11 | .... | size: 17 0x538-0x53b.7 (4) +0x530| 73 61 69 7a| saiz| type: "saiz" (Sample auxiliary information sizes) 0x53c-0x53f.7 (4) +0x540|00 |. | version: 0 0x540-0x540.7 (1) +0x540| 00 00 00 | ... | flags: 0 0x541-0x543.7 (3) +0x540| 10 | . | default_sample_info_size: 16 0x544-0x544.7 (1) +0x540| 00 00 00 02 | .... | sample_count: 2 0x545-0x548.7 (4) + | | | [7]{}: box 0x549-0x55c.7 (20) +0x540| 00 00 00 14 | .... | size: 20 0x549-0x54c.7 (4) +0x540| 73 61 69| sai| type: "saio" (Sample auxiliary information offsets) 0x54d-0x550.7 (4) +0x550|6f |o | +0x550| 00 | . | version: 0 0x551-0x551.7 (1) +0x550| 00 00 00 | ... | flags: 0 0x552-0x554.7 (3) +0x550| 00 00 00 01 | .... | entry_count: 1 0x555-0x558.7 (4) + | | | entries[0:1]: 0x559-0x55c.7 (4) +0x550| 00 00 01 01 | .... | [0]: 257 offset 0x559-0x55c.7 (4) + | | | [8]{}: box 0x55d-0x56c.7 (16) +0x550| 00 00 00| ...| size: 48 0x55d-0x560.7 (4) +0x560|30 |0 | +0x560| 73 65 6e 63 | senc | type: "senc" (Sample specific encryption data) 0x561-0x564.7 (4) +0x560| 00 | . | version: 0 0x565-0x565.7 (1) +0x560| 00 00 00 | ... | flags: 0 0x566-0x568.7 (3) +0x560| 00 00 00 02 | .... | sample_count: 2 0x569-0x56c.7 (4) + | | | samples[0:2]: 0x56d-NA (0) + | | | [0]{}: entry 0x56d-NA (0) + | | | [1]{}: entry 0x56d-NA (0) + | | | [2]{}: box 0x58d-0x5c0.7 (52) +0x580| 00 00 00| ...| size: 52 0x58d-0x590.7 (4) +0x590|34 |4 | +0x590| 70 73 73 68 | pssh | type: "pssh" (Protection system specific header) 0x591-0x594.7 (4) +0x590| 01 | . | version: 1 0x595-0x595.7 (1) +0x590| 00 00 00 | ... | flags: 0 0x596-0x598.7 (3) +0x590| 10 77 ef ec c0 b2 4d| .w....M| system_id: "common" (raw bits) 0x599-0x5a8.7 (16) +0x5a0|02 ac e3 3c 1e 52 e2 fb 4b |...<.R..K | +0x5a0| 00 00 00 01 | .... | kid_count: 1 0x5a9-0x5ac.7 (4) + | | | kids[0:1]: 0x5ad-0x5bc.7 (16) +0x5a0| 11 22 33| ."3| [0]: raw bits kid 0x5ad-0x5bc.7 (16) +0x5b0|44 55 66 77 88 99 aa bb cc dd ee ff 00 |DUfw......... | +0x5b0| 00 00 00| ...| data_size: 0 0x5bd-0x5c0.7 (4) +0x5c0|00 |. | + | | | data: raw bits 0x5c1-NA (0) + | | | [5]{}: box 0x5c1-0x7c5.7 (517) +0x5c0| 00 00 02 05 | .... | size: 517 0x5c1-0x5c4.7 (4) +0x5c0| 6d 64 61 74 | mdat | type: "mdat" (Media data container) 0x5c5-0x5c8.7 (4) +0x5c0| ca 75 87 1f fb 3d a6| .u...=.| data: raw bits 0x5c9-0x7c5.7 (509) +0x5d0|16 5a 74 6b 92 59 6a f4 0a b6 8c 2b b4 be 36 fe|.Ztk.Yj....+..6.| +* |until 0x7c5.7 (509) | | + | | | [6]{}: box 0x7c6-0x906.7 (321) +0x7c0| 00 00 01 41 | ...A | size: 321 0x7c6-0x7c9.7 (4) +0x7c0| 6d 6f 6f 66 | moof | type: "moof" (Movie fragment) 0x7ca-0x7cd.7 (4) + | | | boxes[0:3]: 0x7ce-0x906.7 (313) + | | | [0]{}: box 0x7ce-0x7dd.7 (16) +0x7c0| 00 00| ..| size: 16 0x7ce-0x7d1.7 (4) +0x7d0|00 10 |.. | +0x7d0| 6d 66 68 64 | mfhd | type: "mfhd" (Movie fragment header) 0x7d2-0x7d5.7 (4) +0x7d0| 00 | . | version: 0 0x7d6-0x7d6.7 (1) +0x7d0| 00 00 00 | ... | flags: 0 0x7d7-0x7d9.7 (3) +0x7d0| 00 00 00 03 | .... | sequence_number: 3 0x7da-0x7dd.7 (4) + | | | [1]{}: box 0x7de-0x8c2.7 (229) +0x7d0| 00 00| ..| size: 245 0x7de-0x7e1.7 (4) +0x7e0|00 f5 |.. | +0x7e0| 74 72 61 66 | traf | type: "traf" (Track fragment) 0x7e2-0x7e5.7 (4) + | | | boxes[0:9]: 0x7e6-0x8c2.7 (221) + | | | [0]{}: box 0x7e6-0x805.7 (32) +0x7e0| 00 00 00 20 | ... | size: 32 0x7e6-0x7e9.7 (4) +0x7e0| 74 66 68 64 | tfhd | type: "tfhd" (Track fragment header) 0x7ea-0x7ed.7 (4) +0x7e0| 00 | . | version: 0 0x7ee-0x7ee.7 (1) + | | | flags{}: 0x7ef-0x7f1.7 (3) +0x7e0| 02| .| unused0: 1 0x7ef-0x7ef.6 (0.7) +0x7e0| 02| .| duration_is_empty: false 0x7ef.7-0x7ef.7 (0.1) +0x7f0|00 3a |.: | unused1: 0 0x7f0-0x7f1.1 (1.2) +0x7f0| 3a | : | default_sample_flags_present: true 0x7f1.2-0x7f1.2 (0.1) +0x7f0| 3a | : | default_sample_size_present: true 0x7f1.3-0x7f1.3 (0.1) +0x7f0| 3a | : | default_sample_duration_present: true 0x7f1.4-0x7f1.4 (0.1) +0x7f0| 3a | : | unused2: 0 0x7f1.5-0x7f1.5 (0.1) +0x7f0| 3a | : | sample_description_index_present: true 0x7f1.6-0x7f1.6 (0.1) +0x7f0| 3a | : | base_data_offset_present: false 0x7f1.7-0x7f1.7 (0.1) +0x7f0| 00 00 00 01 | .... | track_id: 1 0x7f2-0x7f5.7 (4) +0x7f0| 00 00 00 01 | .... | sample_description_index: 1 0x7f6-0x7f9.7 (4) +0x7f0| 00 00 01 3a | ...: | default_sample_duration: 314 0x7fa-0x7fd.7 (4) +0x7f0| 00 00| ..| default_sample_size: 5 0x7fe-0x801.7 (4) +0x800|00 05 |.. | + | | | default_sample_flags{}: 0x802-0x805.7 (4) +0x800| 00 | . | reserved0: 0 0x802-0x802.3 (0.4) +0x800| 00 | . | is_leading: 0 0x802.4-0x802.5 (0.2) +0x800| 00 | . | sample_depends_on: "unknown" (0) 0x802.6-0x802.7 (0.2) +0x800| 00 | . | sample_is_depended_on: "unknown" (0) 0x803-0x803.1 (0.2) +0x800| 00 | . | sample_has_redundancy: "unknown" (0) 0x803.2-0x803.3 (0.2) +0x800| 00 | . | sample_padding_value: 0 0x803.4-0x803.6 (0.3) +0x800| 00 | . | sample_is_non_sync_sample: 0 0x803.7-0x803.7 (0.1) +0x800| 00 00 | .. | sample_degradation_priority: 0 0x804-0x805.7 (2) + | | | [1]{}: box 0x806-0x815.7 (16) +0x800| 00 00 00 10 | .... | size: 16 0x806-0x809.7 (4) +0x800| 74 66 64 74 | tfdt | type: "tfdt" (Track fragment decode time) 0x80a-0x80d.7 (4) +0x800| 00 | . | version: 0 0x80e-0x80e.7 (1) +0x800| 00| .| flags: 0 0x80f-0x811.7 (3) +0x810|00 00 |.. | +0x810| 00 00 14 00 | .... | start_time: 5120 0x812-0x815.7 (4) + | | | [2]{}: box 0x816-0x829.7 (20) +0x810| 00 00 00 14 | .... | size: 20 0x816-0x819.7 (4) +0x810| 74 72 75 6e | trun | type: "trun" (Track fragment run) 0x81a-0x81d.7 (4) +0x810| 00 | . | version: 0 0x81e-0x81e.7 (1) + | | | flags{}: 0x81f-0x821.7 (3) +0x810| 00| .| unused0: 0 0x81f-0x820.3 (1.4) +0x820|00 |. | +0x820|00 |. | sample_composition_time_offsets_present: false 0x820.4-0x820.4 (0.1) +0x820|00 |. | sample_flags_present: false 0x820.5-0x820.5 (0.1) +0x820|00 |. | sample_size_present: false 0x820.6-0x820.6 (0.1) +0x820|00 |. | sample_duration_present: false 0x820.7-0x820.7 (0.1) +0x820| 01 | . | unused1: 0 0x821-0x821.4 (0.5) +0x820| 01 | . | first_sample_flags_present: false 0x821.5-0x821.5 (0.1) +0x820| 01 | . | unused2: 0 0x821.6-0x821.6 (0.1) +0x820| 01 | . | data_offset_present: true 0x821.7-0x821.7 (0.1) +0x820| 00 00 00 01 | .... | sample_count: 1 0x822-0x825.7 (4) +0x820| 00 00 01 49 | ...I | data_offset: 329 0x826-0x829.7 (4) + | | | samples[0:1]: 0x82a-NA (0) + | | | [0]{}: sample 0x82a-NA (0) + | | | [3]{}: box 0x82a-0x845.7 (28) +0x820| 00 00 00 1c | .... | size: 28 0x82a-0x82d.7 (4) +0x820| 73 62| sb| type: "sbgp" (Sample to Group box) 0x82e-0x831.7 (4) +0x830|67 70 |gp | +0x830| 00 | . | version: 0 0x832-0x832.7 (1) +0x830| 00 00 00 | ... | flags: 0 0x833-0x835.7 (3) +0x830| 72 6f 6c 6c | roll | grouping_type: "roll" 0x836-0x839.7 (4) +0x830| 00 00 00 01 | .... | entry_count: 1 0x83a-0x83d.7 (4) + | | | entries[0:1]: 0x83e-0x845.7 (8) + | | | [0]{}: entry 0x83e-0x845.7 (8) +0x830| 00 00| ..| sample_count: 1 0x83e-0x841.7 (4) +0x840|00 01 |.. | +0x840| 00 00 00 01 | .... | group_description_index: 1 0x842-0x845.7 (4) + | | | [4]{}: box 0x846-0x861.7 (28) +0x840| 00 00 00 1c | .... | size: 28 0x846-0x849.7 (4) +0x840| 73 62 67 70 | sbgp | type: "sbgp" (Sample to Group box) 0x84a-0x84d.7 (4) +0x840| 00 | . | version: 0 0x84e-0x84e.7 (1) +0x840| 00| .| flags: 0 0x84f-0x851.7 (3) +0x850|00 00 |.. | +0x850| 73 65 69 67 | seig | grouping_type: "seig" 0x852-0x855.7 (4) +0x850| 00 00 00 01 | .... | entry_count: 1 0x856-0x859.7 (4) + | | | entries[0:1]: 0x85a-0x861.7 (8) + | | | [0]{}: entry 0x85a-0x861.7 (8) +0x850| 00 00 00 01 | .... | sample_count: 1 0x85a-0x85d.7 (4) +0x850| 00 01| ..| group_description_index: 65537 0x85e-0x861.7 (4) +0x860|00 01 |.. | + | | | [5]{}: box 0x862-0x88d.7 (44) +0x860| 00 00 00 2c | ..., | size: 44 0x862-0x865.7 (4) +0x860| 73 67 70 64 | sgpd | type: "sgpd" (Sample group definition box) 0x866-0x869.7 (4) +0x860| 01 | . | version: 1 0x86a-0x86a.7 (1) +0x860| 00 00 00 | ... | flags: 0 0x86b-0x86d.7 (3) +0x860| 73 65| se| grouping_type: "seig" 0x86e-0x871.7 (4) +0x870|69 67 |ig | +0x870| 00 00 00 14 | .... | default_length: 20 0x872-0x875.7 (4) +0x870| 00 00 00 01 | .... | entry_count: 1 0x876-0x879.7 (4) + | | | entries[0:1]: 0x87a-0x88d.7 (20) + | | | [0]{}: entry 0x87a-0x88d.7 (20) +0x870| 00 | . | reserved: 0 0x87a-0x87a.7 (1) +0x870| 00 | . | crypto_bytes: 0 0x87b-0x87b.3 (0.4) +0x870| 00 | . | skip_bytes: 0 0x87b.4-0x87b.7 (0.4) +0x870| 01 | . | is_encrypted: 1 0x87c-0x87c.7 (1) +0x870| 10 | . | per_sample_iv_size: 16 0x87d-0x87d.7 (1) +0x870| 11 22| ."| kid: raw bits 0x87e-0x88d.7 (16) +0x880|33 44 55 66 77 88 99 aa bb cc dd ee ff 00 |3DUfw......... | + | | | [6]{}: box 0x88e-0x89e.7 (17) +0x880| 00 00| ..| size: 17 0x88e-0x891.7 (4) +0x890|00 11 |.. | +0x890| 73 61 69 7a | saiz | type: "saiz" (Sample auxiliary information sizes) 0x892-0x895.7 (4) +0x890| 00 | . | version: 0 0x896-0x896.7 (1) +0x890| 00 00 00 | ... | flags: 0 0x897-0x899.7 (3) +0x890| 10 | . | default_sample_info_size: 16 0x89a-0x89a.7 (1) +0x890| 00 00 00 01 | .... | sample_count: 1 0x89b-0x89e.7 (4) + | | | [7]{}: box 0x89f-0x8b2.7 (20) +0x890| 00| .| size: 20 0x89f-0x8a2.7 (4) +0x8a0|00 00 14 |... | +0x8a0| 73 61 69 6f | saio | type: "saio" (Sample auxiliary information offsets) 0x8a3-0x8a6.7 (4) +0x8a0| 00 | . | version: 0 0x8a7-0x8a7.7 (1) +0x8a0| 00 00 00 | ... | flags: 0 0x8a8-0x8aa.7 (3) +0x8a0| 00 00 00 01 | .... | entry_count: 1 0x8ab-0x8ae.7 (4) + | | | entries[0:1]: 0x8af-0x8b2.7 (4) +0x8a0| 00| .| [0]: 253 offset 0x8af-0x8b2.7 (4) +0x8b0|00 00 fd |... | + | | | [8]{}: box 0x8b3-0x8c2.7 (16) +0x8b0| 00 00 00 20 | ... | size: 32 0x8b3-0x8b6.7 (4) +0x8b0| 73 65 6e 63 | senc | type: "senc" (Sample specific encryption data) 0x8b7-0x8ba.7 (4) +0x8b0| 00 | . | version: 0 0x8bb-0x8bb.7 (1) +0x8b0| 00 00 00 | ... | flags: 0 0x8bc-0x8be.7 (3) +0x8b0| 00| .| sample_count: 1 0x8bf-0x8c2.7 (4) +0x8c0|00 00 01 |... | + | | | samples[0:1]: 0x8c3-NA (0) + | | | [0]{}: entry 0x8c3-NA (0) + | | | [2]{}: box 0x8d3-0x906.7 (52) +0x8d0| 00 00 00 34 | ...4 | size: 52 0x8d3-0x8d6.7 (4) +0x8d0| 70 73 73 68 | pssh | type: "pssh" (Protection system specific header) 0x8d7-0x8da.7 (4) +0x8d0| 01 | . | version: 1 0x8db-0x8db.7 (1) +0x8d0| 00 00 00 | ... | flags: 0 0x8dc-0x8de.7 (3) +0x8d0| 10| .| system_id: "common" (raw bits) 0x8df-0x8ee.7 (16) +0x8e0|77 ef ec c0 b2 4d 02 ac e3 3c 1e 52 e2 fb 4b |w....M...<.R..K | +0x8e0| 00| .| kid_count: 1 0x8ef-0x8f2.7 (4) +0x8f0|00 00 01 |... | + | | | kids[0:1]: 0x8f3-0x902.7 (16) +0x8f0| 11 22 33 44 55 66 77 88 99 aa bb cc dd| ."3DUfw......| [0]: raw bits kid 0x8f3-0x902.7 (16) +0x900|ee ff 00 |... | +0x900| 00 00 00 00 | .... | data_size: 0 0x903-0x906.7 (4) + | | | data: raw bits 0x907-NA (0) + | | | [7]{}: box 0x907-0x913.7 (13) +0x900| 00 00 00 0d | .... | size: 13 0x907-0x90a.7 (4) +0x900| 6d 64 61 74 | mdat | type: "mdat" (Media data container) 0x90b-0x90e.7 (4) +0x900| 5f| _| data: raw bits 0x90f-0x913.7 (5) +0x910|f1 3e 6a 77| |.>jw| | +0x160| 44 22 33 44 55 66 77| D"3DUfw| gap0: raw bits 0x169-0x198.7 (48) +0x170|88 99 aa bb cc dd ee ff 00 44 22 33 44 55 66 77|.........D"3DUfw| +* |until 0x198.7 (48) | | + | | | tracks[0:1]: 0x1d5-0x913.7 (1855) + | | | [0]{}: track 0x1d5-0x913.7 (1855) + | | | samples[0:6]: 0x1d5-0x913.7 (1855) +0x1d0| 72 7f 32 eb 78 a2 6b 03 a3 78 38| r.2.x.k..x8| [0]: raw bits sample 0x1d5-0x2d4.7 (256) +0x1e0|8b 37 0c c7 18 66 5b 08 bc 5f 60 fe 70 56 80 ec|.7...f[.._`.pV..| +* |until 0x2d4.7 (256) | | +0x2d0| 34 00 9f ff ff 73 30 d0 0f c5 68| 4....s0...h| [1]: raw bits sample 0x2d5-0x3d6.7 (258) +0x2e0|42 21 c7 c4 40 4d 6a db 38 90 bb 8f 6e d6 e6 57|B!..@Mj.8...n..W| +* |until 0x3d6.7 (258) | | +0x3d0| 9f 47 f3 63 1d 70 4c 9f 5e| .G.c.pL.^| [2]: raw bits sample 0x3d7-0x46b.7 (149) +0x3e0|5c 4b 46 3a 3e ea f3 2f 44 9c 24 85 04 14 e8 77|\KF:>../D.$....w| +* |until 0x46b.7 (149) | | +0x5c0| ca 75 87 1f fb 3d a6| .u...=.| [3]: raw bits sample 0x5c9-0x6a6.7 (222) +0x5d0|16 5a 74 6b 92 59 6a f4 0a b6 8c 2b b4 be 36 fe|.Ztk.Yj....+..6.| +* |until 0x6a6.7 (222) | | +0x6a0| c1 f5 ca 4d 86 c3 71 31 bd| ...M..q1.| [4]: raw bits sample 0x6a7-0x7c5.7 (287) +0x6b0|20 b5 0b 4f ee c1 c8 f3 62 fb 6b 7a 5a 6f f2 9d| ..O....b.kzZo..| +* |until 0x7c5.7 (287) | | +0x900| 5f| _| [5]: raw bits sample 0x90f-0x913.7 (5) +0x910|f1 3e 6a 77| |.>jw| | + | | | id: 1 0x914-NA (0) + | | | data_format: "unknown" 0x914-NA (0) +0x560| 44 22 33| D"3| gap1: raw bits 0x56d-0x58c.7 (32) +0x570|44 55 66 77 88 99 aa bb cc dd ee ff 2b 44 22 33|DUfw........+D"3| +0x580|44 55 66 77 88 99 aa bb cc dd ee ff 39 |DUfw........9 | +0x8c0| 44 22 33 44 55 66 77 88 99 aa bb cc dd| D"3DUfw......| gap2: raw bits 0x8c3-0x8d2.7 (16) +0x8d0|ee ff 4b |..K | $ fq -d mp4 dv dash_video_1.m4s |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.{}: dash_video_1.m4s (mp4) 0x0-0x1fd0.7 (8145) | | | boxes[0:4]: 0x0-0x1fd0.7 (8145) diff --git a/format/mp4/testdata/dash_audio_1.m4s b/format/mp4/testdata/dash_audio_1.m4s index e328f17cb04edba4a64441116b14197f742da084..c3f22cc8e7e79a4b9d12da83e1fdabb355b3fc31 100644 GIT binary patch literal 2324 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 delta 213 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 IQ!)8}0Gs6*{{R30 literal 0 HcmV?d00001