{
"schema": "conformance-vectors/1",
"generated": "2026-08-21",
"tools": {
"ffprobe": "ffprobe version 8.1.2 Copyright (c) 2007-2026 the FFmpeg developers",
"reference_parser": "tools/vectors.py (independent Python box walk)",
"mp4box_or_mp4dump": "not installed on the capture host; ffprobe is the sole external format checker"
},
"bounds": {
"malformed_wall_time_ms": 2000,
"malformed_peak_alloc_bytes": 67108864
},
"counts": {
"valid": 14,
"malformed": 20,
"roundtrip": 7
},
"fixtures": [
{
"id": "m01_truncated_header_5_bytes",
"file": "fixtures/m01_truncated_header_5_bytes.mp4",
"kind": "malformed",
"sha256": "2f77ba99dd627b02e1654a02b2fb9eaf877c4575d0fcb2c2971ef6f1835bc76e",
"size_bytes": 5,
"origin": "synth.py: first 5 bytes of v02",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x8c5018000] moov atom not found",
"fixtures/m01_truncated_header_5_bytes.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "Truncated",
"why": "fewer than 8 bytes for a box header",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m02_truncated_largesize_header",
"file": "fixtures/m02_truncated_largesize_header.mp4",
"kind": "malformed",
"sha256": "462538f7a2ee2d4befd47909d5656b50223f88dd042ba3c437c375d8c2d8c93b",
"size_bytes": 12,
"origin": "synth.py: first 12 bytes of v10",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0xc15018000] moov atom not found",
"fixtures/m02_truncated_largesize_header.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "Truncated",
"why": "size==1 but fewer than 16 header bytes",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m03_box_size_smaller_than_header",
"file": "fixtures/m03_box_size_smaller_than_header.mp4",
"kind": "malformed",
"sha256": "812129e45d59aef90cd8ed9ba788586d728ddeb690f840a6722dc32dcfb6560b",
"size_bytes": 17400,
"origin": "synth.py: 'free' header with size 4 inserted after ftyp in v02",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x79d01c000] moov atom not found",
"fixtures/m03_box_size_smaller_than_header.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "BoxSizeTooSmall",
"why": "declared size 4 < 8-byte header",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m04_nested_box_size_zero",
"file": "fixtures/m04_nested_box_size_zero.mp4",
"kind": "malformed",
"sha256": "944982baab50380afaa83ab8186c30987fc313a67bead61d2f122818317a9622",
"size_bytes": 17392,
"origin": "synth.py: stss size field set to 0 in v02",
"ffprobe": {
"exit_code": 0,
"stderr_head": [],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "ZeroSizeNested",
"why": "size==0 on a box that is not top level",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m05_child_exceeds_parent",
"file": "fixtures/m05_child_exceeds_parent.mp4",
"kind": "malformed",
"sha256": "4bf92840140445381e3e40a136c4195f263cc9386dfb3271ad99bfaf73099a3d",
"size_bytes": 17392,
"origin": "synth.py: trak size field set to moov's size in v02",
"ffprobe": {
"exit_code": 0,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0xa29034000] Broken file, trak/mdat not at top-level"
],
"nb_streams": 1
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "ChildExceedsParent",
"why": "trak end past moov end",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m06_self_referential_moov",
"file": "fixtures/m06_self_referential_moov.mp4",
"kind": "malformed",
"sha256": "4615612ec12360c39c9ff08365738f587303527a9e8e128d8aded08bb31c422d",
"size_bytes": 17392,
"origin": "synth.py: mvhd header overwritten with type 'moov' and moov's size in v02",
"ffprobe": {
"exit_code": 0,
"stderr_head": [],
"nb_streams": 0
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "ChildExceedsParent",
"why": "child 'moov' of the parent's own size",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m07_stsc_samples_per_chunk_zero",
"file": "fixtures/m07_stsc_samples_per_chunk_zero.mp4",
"kind": "malformed",
"sha256": "1dd4935e26decc5d3a4a51e2a6df9b57921c6ce4e5d476520a965d5dbaa5f70d",
"size_bytes": 17392,
"origin": "synth.py: first stsc entry samples_per_chunk set to 0 in v02",
"ffprobe": {
"exit_code": 0,
"stderr_head": [],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "InvalidSampleTable",
"why": "stsc samples_per_chunk == 0",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m08_stts_count_exceeds_stsz",
"file": "fixtures/m08_stts_count_exceeds_stsz.mp4",
"kind": "malformed",
"sha256": "994b15ef0177917b722badf56cc0bd8198e99e1578e08cafba32fad01455ceaa",
"size_bytes": 17392,
"origin": "synth.py: first stts entry sample_count set to 0x00FFFFFF in v02",
"ffprobe": {
"exit_code": 0,
"stderr_head": [],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "InvalidSampleTable",
"why": "stts sample total != stsz sample count",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m09_emsg_unterminated_string",
"file": "fixtures/m09_emsg_unterminated_string.mp4",
"kind": "malformed",
"sha256": "8d8957857f205c694bf1aa9b47e82e0509adf6f4c7063a51481b6298196642c0",
"size_bytes": 17412,
"origin": "synth.py: 20-byte emsg v0 with body 'urn:test' and no NUL inserted after ftyp in v02; stco shifted +20",
"ffprobe": {
"exit_code": 0,
"stderr_head": [],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "Malformed",
"why": "emsg scheme_id_uri runs to box end without NUL",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m10_co64_offset_above_u32",
"file": "fixtures/m10_co64_offset_above_u32.mp4",
"kind": "malformed",
"sha256": "daf6d7c13b156f7165a71910a34695295584cd538afc4f0219950c389dad2c73",
"size_bytes": 17596,
"origin": "synth.py: first co64 entry set to 0x100000010 in v08",
"ffprobe": {
"exit_code": 0,
"stderr_head": [],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "sample_read",
"error_kind": "SampleOutOfFile",
"why": "chunk offset 0x100000010 exceeds file length; offset must be carried as u64 and compared, never truncated",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m11_stsz_sum_overflows_u32",
"file": "fixtures/m11_stsz_sum_overflows_u32.mp4",
"kind": "malformed",
"sha256": "43488c25ca6941485beeb4dc352d8f010c88fd46bc9449b4e92f7ecd549de7a3",
"size_bytes": 17392,
"origin": "synth.py: first three stsz entries set to 0xFFFFFFFF in v01",
"ffprobe": {
"exit_code": 0,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x937018000] Sample size 4294967295 is too large"
],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "sample_read",
"error_kind": "SampleOutOfFile",
"why": "three 0xFFFFFFFF sizes in one chunk; sum exceeds u32 and the file",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m12_giant_largesize_moov",
"file": "fixtures/m12_giant_largesize_moov.mp4",
"kind": "malformed",
"sha256": "880d30eaaea3285658c31325555ba79b3472dacda91fcb4c19dc140ee1170fd6",
"size_bytes": 17400,
"origin": "synth.py: moov re-emitted with largesize 0xFFFFFFFFFFFFFF00 in v02",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0xaa2c3c000] moov atom not found",
"fixtures/m12_giant_largesize_moov.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "BoxExceedsFile",
"why": "largesize 0xFFFFFFFFFFFFFF00; must fail before allocating the body",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m13_giant_stsz_count",
"file": "fixtures/m13_giant_stsz_count.mp4",
"kind": "malformed",
"sha256": "72f04cef64b2e6720c89c1ddd19e90a68463dfd036bb23ebd2a26956296b6ee8",
"size_bytes": 17392,
"origin": "synth.py: stsz sample_count set to 0xFFFFFFFF in v02",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x97d018000] error reading header",
"fixtures/m13_giant_stsz_count.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "Malformed",
"why": "stsz count 0xFFFFFFFF in a small box; allocation is bounded by box size",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m14_deep_nesting_4096",
"file": "fixtures/m14_deep_nesting_4096.mp4",
"kind": "malformed",
"sha256": "b0ae4b21e956c7a1132ca7440878ba3e8c176ca9a6fdd849547c553417d25a6d",
"size_bytes": 32816,
"origin": "synth.py: ftyp + moov containing 4096 nested udta boxes around an empty free box",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x92cc3c000] Atoms too deeply nested",
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x92cc3c000] error reading header",
"fixtures/m14_deep_nesting_4096.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "NestingTooDeep",
"why": "4096 nested udta; depth limit 32",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m15_missing_moov",
"file": "fixtures/m15_missing_moov.mp4",
"kind": "malformed",
"sha256": "be27b7c09bd050e266238eff5fa313e908fd7fa70d9d0ef7d66da90c7abd3ddc",
"size_bytes": 104,
"origin": "synth.py: ftyp of v02 + a 72-byte mdat",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x761018000] moov atom not found",
"fixtures/m15_missing_moov.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "MissingBox",
"why": "no moov in the file",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m16_truncated_mdat",
"file": "fixtures/m16_truncated_mdat.mp4",
"kind": "malformed",
"sha256": "20309c60e11b9d8fe864edae1385c838f86e289397088c1b5b207b6c23dc9cb7",
"size_bytes": 15392,
"origin": "synth.py: v02 minus its last 2000 bytes",
"ffprobe": {
"exit_code": 0,
"stderr_head": [
"[h264 @ 0x864ca1880] Invalid NAL unit size (2322 > 557).",
"[h264 @ 0x864ca1880] missing picture in access unit with size 561",
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x865018000] stream 1, offset 0x4305: partial file"
],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "sample_read",
"error_kind": "SampleOutOfFile",
"why": "tables parse; the last samples are past EOF",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m17_moov_size_exceeds_file",
"file": "fixtures/m17_moov_size_exceeds_file.mp4",
"kind": "malformed",
"sha256": "de592eb538efc2a4b47707b4111b92a431e34043f3216dd511fa283df618ea60",
"size_bytes": 17392,
"origin": "synth.py: moov size field increased by 100000 in v02",
"ffprobe": {
"exit_code": 0,
"stderr_head": [],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "BoxExceedsFile",
"why": "moov declared size past EOF",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m18_stsd_zero_entries",
"file": "fixtures/m18_stsd_zero_entries.mp4",
"kind": "malformed",
"sha256": "37e80bd1d3de345ab344d169690f185b51d893e74ddd248a53465a4f44476f9f",
"size_bytes": 17392,
"origin": "synth.py: video stsd entry_count set to 0 in v02",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f5018000] invalid STSD entries 0",
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f5018000] error reading header",
"fixtures/m18_stsd_zero_entries.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "InvalidSampleTable",
"why": "stsd entry_count 0 for a track that has samples",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m19_trun_giant_sample_count",
"file": "fixtures/m19_trun_giant_sample_count.mp4",
"kind": "malformed",
"sha256": "fc0df89a296be64debc16e0bbfdafd787f8fd6abdf3c202af934b00eabbe8ebb",
"size_bytes": 17736,
"origin": "synth.py: first trun sample_count set to 0xFFFFFFF0 in v07",
"ffprobe": {
"exit_code": 1,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0xa5101c000] error reading header",
"fixtures/m19_trun_giant_sample_count.mp4: Invalid data found when processing input"
],
"nb_streams": null
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "Malformed",
"why": "trun sample_count 0xFFFFFFF0 in a small box",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "m20_mdhd_timescale_zero",
"file": "fixtures/m20_mdhd_timescale_zero.mp4",
"kind": "malformed",
"sha256": "850792c8b96ff079d57dbdb759873257f4443712e450b262406ec759f120ab05",
"size_bytes": 17392,
"origin": "synth.py: video mdhd timescale set to 0 in v02",
"ffprobe": {
"exit_code": 0,
"stderr_head": [
"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x9f101c000] Invalid mdhd time scale 0, defaulting to 1"
],
"nb_streams": 2
},
"expect": {
"result": "err",
"stage": "open",
"error_kind": "InvalidTimescale",
"why": "mdhd timescale 0",
"bounds": {
"wall_time_ms": 2000,
"peak_alloc_bytes": 67108864,
"no_panic": true,
"no_hang": true
}
}
},
{
"id": "v01_h264_aac_moov_last",
"file": "fixtures/v01_h264_aac_moov_last.mp4",
"kind": "valid",
"sha256": "79ee3c448055911dff0df94ba49400334652804c52557b0b3b4ded9a8d906b46",
"size_bytes": 17392,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 2,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 17392,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 32,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 40,
"header_len": 8,
"size": 15402,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 15442,
"header_len": 8,
"size": 1950,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": false,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 3
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "12731c4c02216a03f2e28a31f96182e253f18b0adf0513c7c9c602c196715a80",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 202,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 2604,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 2829,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 3090,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 3438,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 3884,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 4337,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 4840,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 5218,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 5706,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 6097,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 6380,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 6766,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 9380,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 9692,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 9962,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 10158,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 10498,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 10771,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 11139,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 11540,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 11848,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 12241,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 12589,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 12881,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "dcbf7ed85307d560e631d8f1222a68c24b34e2677c8306244a271a42746ce594",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
25,
1,
1
],
[
26,
2,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 26,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "11aeaaa29593d206f4335e88c9bffaf06bce27fd47288de10feebef1e6665b52",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 48,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 2316,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 2515,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 2613,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 2731,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 2843,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 2966,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 3180,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 3318,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 3646,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 3756,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 4081,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 4197,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 4608,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 4740,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 5095,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 5424,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 5559,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 5832,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 5956,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 6137,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 6242,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 6462,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 6618,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 9134,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 9255,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 9417,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 9552,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 9710,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 9840,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 10027,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 10242,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 10370,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 10539,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 10659,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 10902,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 11024,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 11278,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 11427,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 11575,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 11700,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 11980,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 12129,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 12362,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 12491,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 12726,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
},
{
"n": 47,
"offset": 15207,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
},
{
"n": 48,
"offset": 15319,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v02_h264_aac_faststart",
"file": "fixtures/v02_h264_aac_faststart.mp4",
"kind": "valid",
"sha256": "9717df38fe5dcbc2f6dcc026d188ab448f7134222105fa9e6b0c153d9280b2e1",
"size_bytes": 17392,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 2,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 17392,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 32,
"header_len": 8,
"size": 1950,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 1982,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 1990,
"header_len": 8,
"size": 15402,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": true,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 3
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "313c0ffbdd846a6124dfb8898676c461df78caf77b673536de68994dc14518de",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 2152,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4554,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4779,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 5040,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 5388,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 5834,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 6287,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 6790,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 7168,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 7656,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 8047,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 8330,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 8716,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 11330,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 11642,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 11912,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 12108,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 12448,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 12721,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 13089,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 13490,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 13798,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 14191,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 14539,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 14831,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "dcbf7ed85307d560e631d8f1222a68c24b34e2677c8306244a271a42746ce594",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
25,
1,
1
],
[
26,
2,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 26,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "fbe43523cf38d512b0ca959a547752a4fb344ef7146376c1df7baaf42de4795c",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 1998,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4266,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4465,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 4563,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 4681,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 4793,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 4916,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 5130,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 5268,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 5596,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 5706,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 6031,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 6147,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 6558,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 6690,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 7045,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 7374,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 7509,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 7782,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 7906,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 8087,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 8192,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 8412,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 8568,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 11084,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 11205,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 11367,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 11502,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 11660,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 11790,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 11977,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 12192,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 12320,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 12489,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 12609,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 12852,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 12974,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 13228,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 13377,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 13525,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 13650,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 13930,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 14079,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 14312,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 14441,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 14676,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
},
{
"n": 47,
"offset": 17157,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
},
{
"n": 48,
"offset": 17269,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v03_h264_bframes_ctts_elst",
"file": "fixtures/v03_h264_bframes_ctts_elst.mp4",
"kind": "valid",
"sha256": "24c07645c16d8219508b0210458496da2c8a551958044c4ff4f07b806a0b2069",
"size_bytes": 4913,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 1,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Main",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 2
}
]
},
"reference": {
"file_len": 4913,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 32,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 40,
"header_len": 8,
"size": 3794,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 3834,
"header_len": 8,
"size": 1079,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": false,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 2
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 13312,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"ctts",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 168,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "014d400affe10017674d400aeca23d80880000030008000003019078912cb001000468ef8fc8",
"payload_sha256": "94fad64fd037ca1548463532d4a8d9b67e49257c797d1bfc01712c5957be491d",
"payload_len": 38
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "000000000000765000000000",
"payload_sha256": "6dbb13fc73a10f76d60d417574f8cebdd7054def80b50a2016fce29662a735f7",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": {
"version": 0,
"entries": [
[
1,
1024
],
[
1,
2048
],
[
2,
512
],
[
1,
2048
],
[
2,
512
],
[
1,
2048
],
[
2,
512
],
[
1,
1536
],
[
1,
512
],
[
1,
1024
],
[
1,
2048
],
[
2,
512
],
[
1,
2048
],
[
2,
512
],
[
1,
2048
],
[
2,
512
],
[
1,
1536
],
[
1,
512
],
[
1,
1024
]
]
},
"stss_count": 3,
"stsc": [
[
1,
25,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 1,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "4d493e6439733c7c135ebb8022d1887274082bc7ec4fec92be421128c2ba2f29",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 48,
"size": 1551,
"dts": 0,
"cts_offset": 1024,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 1599,
"size": 55,
"dts": 512,
"cts_offset": 2048,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 3,
"offset": 1654,
"size": 23,
"dts": 1024,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 4,
"offset": 1677,
"size": 29,
"dts": 1536,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 5,
"offset": 1706,
"size": 27,
"dts": 2048,
"cts_offset": 2048,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 6,
"offset": 1733,
"size": 14,
"dts": 2560,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 7,
"offset": 1747,
"size": 12,
"dts": 3072,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 8,
"offset": 1759,
"size": 34,
"dts": 3584,
"cts_offset": 2048,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 9,
"offset": 1793,
"size": 17,
"dts": 4096,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 10,
"offset": 1810,
"size": 12,
"dts": 4608,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 11,
"offset": 1822,
"size": 14,
"dts": 5120,
"cts_offset": 1536,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 12,
"offset": 1836,
"size": 12,
"dts": 5632,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 13,
"offset": 1848,
"size": 963,
"dts": 6144,
"cts_offset": 1024,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 14,
"offset": 2811,
"size": 40,
"dts": 6656,
"cts_offset": 2048,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 15,
"offset": 2851,
"size": 12,
"dts": 7168,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 16,
"offset": 2863,
"size": 12,
"dts": 7680,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 17,
"offset": 2875,
"size": 56,
"dts": 8192,
"cts_offset": 2048,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 18,
"offset": 2931,
"size": 15,
"dts": 8704,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 19,
"offset": 2946,
"size": 12,
"dts": 9216,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 20,
"offset": 2958,
"size": 38,
"dts": 9728,
"cts_offset": 2048,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 21,
"offset": 2996,
"size": 15,
"dts": 10240,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 22,
"offset": 3011,
"size": 12,
"dts": 10752,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 23,
"offset": 3023,
"size": 39,
"dts": 11264,
"cts_offset": 1536,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 24,
"offset": 3062,
"size": 21,
"dts": 11776,
"cts_offset": 512,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 25,
"offset": 3083,
"size": 751,
"dts": 12288,
"cts_offset": 1024,
"sync": true,
"chunk": 1,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Main"
}
]
}
},
{
"id": "v04_hevc_hvc1_aac",
"file": "fixtures/v04_hevc_hvc1_aac.mp4",
"kind": "valid",
"sha256": "49bb69ebef57dac4abd052bf5785e5f9d74f7f80d927fe540e19a0e3ed6e5ea5",
"size_bytes": 13803,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 2,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "hevc",
"codec_type": "video",
"codec_tag_string": "hvc1",
"profile": "Main",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 2
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 13803,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 28,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 28,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 36,
"header_len": 8,
"size": 9165,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 9201,
"header_len": 8,
"size": 4602,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"mp41"
]
},
"moov_before_mdat": false,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 3
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"sdtp",
"ctts",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "hvc1",
"size": 2577,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx265",
"config_boxes": [
{
"fourcc": "hvcC",
"payload_hex": null,
"payload_sha256": "f7bccb28f65f8f58664868bb710f5acb2917635258fe1b8b0b01f96448a9c677",
"payload_len": 2437
},
{
"fourcc": "fiel",
"payload_hex": "0100",
"payload_sha256": "47dc540c94ceb704a23875c11273e16bb0b8a87aed84de911f2133568115f254",
"payload_len": 2
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "0000000000005e0800000000",
"payload_sha256": "67352637751d539d499e9cab90883e3d5037f0da3ab8a5820f4cdb1648803738",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": {
"version": 0,
"entries": [
[
1,
1024
],
[
1,
2560
],
[
1,
1024
],
[
1,
0
],
[
1,
512
],
[
1,
2560
],
[
1,
1024
],
[
1,
0
],
[
1,
512
],
[
1,
2560
],
[
1,
1024
],
[
1,
0
],
[
1,
512
],
[
1,
2560
],
[
1,
1024
],
[
1,
0
],
[
1,
512
],
[
1,
2560
],
[
1,
1024
],
[
1,
0
],
[
1,
512
],
[
1,
2560
],
[
1,
1024
],
[
1,
0
],
[
1,
512
]
]
},
"stss_count": 3,
"stsc": [
[
1,
2,
1
],
[
2,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 24,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "d5d1a5b7818a5bd223ade8c364dfb430b056cf0742d5f4c82fd53303d10dbd18",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 44,
"size": 906,
"dts": 0,
"cts_offset": 1024,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 950,
"size": 54,
"dts": 512,
"cts_offset": 2560,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 3,
"offset": 1158,
"size": 30,
"dts": 1024,
"cts_offset": 1024,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 1476,
"size": 15,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 1707,
"size": 26,
"dts": 2048,
"cts_offset": 512,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 6,
"offset": 1980,
"size": 26,
"dts": 2560,
"cts_offset": 2560,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 7,
"offset": 2264,
"size": 15,
"dts": 3072,
"cts_offset": 1024,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 8,
"offset": 2517,
"size": 15,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 9,
"offset": 2788,
"size": 15,
"dts": 4096,
"cts_offset": 512,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 10,
"offset": 3035,
"size": 873,
"dts": 4608,
"cts_offset": 2560,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 11,
"offset": 4031,
"size": 16,
"dts": 5120,
"cts_offset": 1024,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 12,
"offset": 4329,
"size": 15,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 13,
"offset": 4609,
"size": 15,
"dts": 6144,
"cts_offset": 512,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 14,
"offset": 4867,
"size": 37,
"dts": 6656,
"cts_offset": 2560,
"sync": false,
"chunk": 13,
"sdi": 1
},
{
"n": 15,
"offset": 5208,
"size": 14,
"dts": 7168,
"cts_offset": 1024,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 16,
"offset": 5468,
"size": 15,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 17,
"offset": 5758,
"size": 14,
"dts": 8192,
"cts_offset": 512,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 18,
"offset": 6024,
"size": 44,
"dts": 8704,
"cts_offset": 2560,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 19,
"offset": 6199,
"size": 15,
"dts": 9216,
"cts_offset": 1024,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 20,
"offset": 6470,
"size": 15,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 21,
"offset": 6717,
"size": 15,
"dts": 10240,
"cts_offset": 512,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 22,
"offset": 6969,
"size": 773,
"dts": 10752,
"cts_offset": 2560,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 23,
"offset": 8004,
"size": 16,
"dts": 11264,
"cts_offset": 1024,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 24,
"offset": 8293,
"size": 15,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 25,
"offset": 8569,
"size": 15,
"dts": 12288,
"cts_offset": 512,
"sync": false,
"chunk": 24,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "dcbf7ed85307d560e631d8f1222a68c24b34e2677c8306244a271a42746ce594",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
24,
5,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 24,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "4c8588afab046808ba2ee9500abf447e14c6c966e6ee04b52559fb533e2fb6d6",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 1004,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 1188,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 1387,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 1491,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 1609,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 1733,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 1856,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 2006,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 2144,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 2279,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 2389,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 2532,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 2648,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 2803,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 2935,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 3908,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 4047,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 4182,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 4344,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 4468,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 4624,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 4729,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 4904,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 5060,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 5222,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 5343,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 5483,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 5618,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 5772,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 5902,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 6068,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 6214,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 6342,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 6485,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 6605,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 6732,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 6854,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 7742,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 7891,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 8020,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 8145,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 8308,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 8457,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 8584,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 8713,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 8811,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 47,
"offset": 8966,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 48,
"offset": 9078,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "hevc",
"ffprobe_codec_tag_string": "hvc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Main"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v05_aac_only",
"file": "fixtures/v05_aac_only.mp4",
"kind": "valid",
"sha256": "225adec47c8f27426048458729b54c9681a9db18f58e035eed441bcf53e73701",
"size_bytes": 7167,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 1,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 7167,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 28,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 28,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 36,
"header_len": 8,
"size": 6156,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 6192,
"header_len": 8,
"size": 975,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"mp41"
]
},
"moov_before_mdat": false,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 2
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000100048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "7808ae8a9a2c7396160d7b9712e51cb497789fdb5ca082c6715e5f10754f2442",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
48,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 1,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "a4f74628c3482ce81c62ab378ba2fefc1a7b5bcfaac04d9b7bf1b107acef260f",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 44,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 198,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 3,
"offset": 397,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 4,
"offset": 486,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 5,
"offset": 604,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 6,
"offset": 702,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 7,
"offset": 825,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 8,
"offset": 949,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 9,
"offset": 1087,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 10,
"offset": 1207,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 11,
"offset": 1317,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 12,
"offset": 1445,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 13,
"offset": 1561,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 14,
"offset": 1701,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 15,
"offset": 1833,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 16,
"offset": 1933,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 17,
"offset": 2056,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 18,
"offset": 2191,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 19,
"offset": 2338,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 20,
"offset": 2462,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 21,
"offset": 2603,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 22,
"offset": 2708,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 23,
"offset": 2846,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 24,
"offset": 3002,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 25,
"offset": 3150,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 26,
"offset": 3271,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 27,
"offset": 3396,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 28,
"offset": 3531,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 29,
"offset": 3671,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 30,
"offset": 3801,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 31,
"offset": 3923,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 32,
"offset": 4054,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 33,
"offset": 4182,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 34,
"offset": 4310,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 35,
"offset": 4430,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 36,
"offset": 4542,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 37,
"offset": 4664,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 38,
"offset": 4779,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 39,
"offset": 4928,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 40,
"offset": 5041,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 41,
"offset": 5166,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 42,
"offset": 5314,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 43,
"offset": 5463,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 44,
"offset": 5575,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 45,
"offset": 5704,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 46,
"offset": 5802,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 47,
"offset": 5957,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 48,
"offset": 6069,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v06_opus_only",
"file": "fixtures/v06_opus_only.mp4",
"kind": "valid",
"sha256": "c3058834b770687b22d79b65f975130fde7db469f04faad4ac15aaff9fcf227b",
"size_bytes": 5891,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 1,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "opus",
"codec_type": "audio",
"codec_tag_string": "Opus",
"profile": null,
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "51",
"nb_read_packets": "51",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 5891,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 28,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 28,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 36,
"header_len": 8,
"size": 4895,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 4931,
"header_len": 8,
"size": 960,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"mp41"
]
},
"moov_before_mdat": false,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 2
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 48312,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 312,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "Opus",
"size": 75,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "dOps",
"payload_hex": "000101380000bb80000000",
"payload_sha256": "5717d8b1de9daf7f6db4eeb8602bce06eea919389b367ccac4c42050766d0738",
"payload_len": 11
},
{
"fourcc": "btrt",
"payload_hex": "00000000000097bb000097bb",
"payload_sha256": "ace1dec474203e100a87d59053c0368ced8755695dc70961031c25c57a9cc7b9",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
50,
960
],
[
1,
312
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
51,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 51
},
"chunk_count": 1,
"stts_total_samples": 51,
"stts_total_duration": 48312,
"samples": {
"count": 51,
"sha256_of_csv": "837dbfd4071371968d1e92706ae6b92c1fa1cca44d3163cb7c6187f99dbfe1ee",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 44,
"size": 115,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 159,
"size": 70,
"dts": 960,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 3,
"offset": 229,
"size": 75,
"dts": 1920,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 4,
"offset": 304,
"size": 71,
"dts": 2880,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 5,
"offset": 375,
"size": 81,
"dts": 3840,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 6,
"offset": 456,
"size": 78,
"dts": 4800,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 7,
"offset": 534,
"size": 79,
"dts": 5760,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 8,
"offset": 613,
"size": 74,
"dts": 6720,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 9,
"offset": 687,
"size": 73,
"dts": 7680,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 10,
"offset": 760,
"size": 74,
"dts": 8640,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 11,
"offset": 834,
"size": 78,
"dts": 9600,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 12,
"offset": 912,
"size": 73,
"dts": 10560,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 13,
"offset": 985,
"size": 76,
"dts": 11520,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 14,
"offset": 1061,
"size": 73,
"dts": 12480,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 15,
"offset": 1134,
"size": 74,
"dts": 13440,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 16,
"offset": 1208,
"size": 77,
"dts": 14400,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 17,
"offset": 1285,
"size": 75,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 18,
"offset": 1360,
"size": 114,
"dts": 16320,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 19,
"offset": 1474,
"size": 97,
"dts": 17280,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 20,
"offset": 1571,
"size": 94,
"dts": 18240,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 21,
"offset": 1665,
"size": 95,
"dts": 19200,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 22,
"offset": 1760,
"size": 95,
"dts": 20160,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 23,
"offset": 1855,
"size": 94,
"dts": 21120,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 24,
"offset": 1949,
"size": 95,
"dts": 22080,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 25,
"offset": 2044,
"size": 95,
"dts": 23040,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 26,
"offset": 2139,
"size": 97,
"dts": 24000,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 27,
"offset": 2236,
"size": 97,
"dts": 24960,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 28,
"offset": 2333,
"size": 98,
"dts": 25920,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 29,
"offset": 2431,
"size": 98,
"dts": 26880,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 30,
"offset": 2529,
"size": 99,
"dts": 27840,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 31,
"offset": 2628,
"size": 103,
"dts": 28800,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 32,
"offset": 2731,
"size": 104,
"dts": 29760,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 33,
"offset": 2835,
"size": 105,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 34,
"offset": 2940,
"size": 108,
"dts": 31680,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 35,
"offset": 3048,
"size": 107,
"dts": 32640,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 36,
"offset": 3155,
"size": 109,
"dts": 33600,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 37,
"offset": 3264,
"size": 108,
"dts": 34560,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 38,
"offset": 3372,
"size": 108,
"dts": 35520,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 39,
"offset": 3480,
"size": 108,
"dts": 36480,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 40,
"offset": 3588,
"size": 107,
"dts": 37440,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 41,
"offset": 3695,
"size": 109,
"dts": 38400,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 42,
"offset": 3804,
"size": 108,
"dts": 39360,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 43,
"offset": 3912,
"size": 107,
"dts": 40320,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 44,
"offset": 4019,
"size": 108,
"dts": 41280,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 45,
"offset": 4127,
"size": 107,
"dts": 42240,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 46,
"offset": 4234,
"size": 109,
"dts": 43200,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 47,
"offset": 4343,
"size": 108,
"dts": 44160,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 48,
"offset": 4451,
"size": 108,
"dts": 45120,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 49,
"offset": 4559,
"size": 108,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 50,
"offset": 4667,
"size": 107,
"dts": 47040,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 51,
"offset": 4774,
"size": 157,
"dts": 48000,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 51,
"sample_count_reference": 51,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 312,
"pts_shift_reference_minus_ffprobe": 312,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "opus",
"ffprobe_codec_tag_string": "Opus",
"ffprobe_nb_read_packets": "51",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": null
}
]
}
},
{
"id": "v07_fragmented_input",
"file": "fixtures/v07_fragmented_input.mp4",
"kind": "valid",
"sha256": "0693891ea418c4064630a0bd1c22044ad63010cc2058b95d4dbe6d7f5dc90552",
"size_bytes": 17736,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.021406",
"nb_streams": 2,
"tags": {
"major_brand": "iso5",
"minor_version": "512",
"compatible_brands": "iso5iso6mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 13074,
"nb_frames": null,
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 49024,
"nb_frames": null,
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 17736,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 28,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 28,
"header_len": 8,
"size": 1220,
"largesize": false,
"size_zero": false
},
{
"type": "moof",
"offset": 1248,
"header_len": 8,
"size": 372,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 1620,
"header_len": 8,
"size": 6726,
"largesize": false,
"size_zero": false
},
{
"type": "moof",
"offset": 8346,
"header_len": 8,
"size": 316,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 8662,
"header_len": 8,
"size": 6123,
"largesize": false,
"size_zero": false
},
{
"type": "moof",
"offset": 14785,
"header_len": 8,
"size": 196,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 14981,
"header_len": 8,
"size": 2569,
"largesize": false,
"size_zero": false
},
{
"type": "mfra",
"offset": 17550,
"header_len": 8,
"size": 186,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "iso5",
"minor_version": 512,
"compatible_brands": [
"iso5",
"iso6",
"mp41"
]
},
"moov_before_mdat": true,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 0,
"next_track_id": 2
},
"mvex_present": true,
"fragments": [
{
"moof_offset": 1248,
"trafs": [
{
"track_id": 1,
"tfhd_flags": 131128,
"default_sample_duration": 786,
"default_sample_size": 2114,
"default_sample_flags": 16842752,
"default_base_is_moof": true,
"base_media_decode_time": 0,
"truns": [
{
"flags": 773,
"sample_count": 12,
"data_offset": 380,
"samples": {
"count": 12,
"sha256_of_csv": "e3888d6997d0bae2960a963167fa58690752652d8c128aaf31b0d728bdab56e7",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"offset": 1628,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true
},
{
"offset": 3742,
"size": 9,
"dts": 786,
"cts_offset": 0,
"sync": false
},
{
"offset": 3751,
"size": 14,
"dts": 1298,
"cts_offset": 0,
"sync": false
},
{
"offset": 3765,
"size": 90,
"dts": 1810,
"cts_offset": 0,
"sync": false
},
{
"offset": 3855,
"size": 208,
"dts": 2322,
"cts_offset": 0,
"sync": false
},
{
"offset": 4063,
"size": 197,
"dts": 2834,
"cts_offset": 0,
"sync": false
},
{
"offset": 4260,
"size": 271,
"dts": 3346,
"cts_offset": 0,
"sync": false
},
{
"offset": 4531,
"size": 255,
"dts": 3858,
"cts_offset": 0,
"sync": false
},
{
"offset": 4786,
"size": 206,
"dts": 4370,
"cts_offset": 0,
"sync": false
},
{
"offset": 4992,
"size": 126,
"dts": 4882,
"cts_offset": 0,
"sync": false
},
{
"offset": 5118,
"size": 40,
"dts": 5394,
"cts_offset": 0,
"sync": false
},
{
"offset": 5158,
"size": 82,
"dts": 5906,
"cts_offset": 0,
"sync": false
}
]
}
}
]
},
{
"track_id": 2,
"tfhd_flags": 131128,
"default_sample_duration": 1024,
"default_sample_size": 154,
"default_sample_flags": 33554432,
"default_base_is_moof": true,
"base_media_decode_time": 0,
"truns": [
{
"flags": 513,
"sample_count": 24,
"data_offset": 3992,
"samples": {
"count": 24,
"sha256_of_csv": "1ecaaaff9529641867a377cf463458aca56da006d6c87be82ff5e8a60578855f",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"offset": 5240,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true
},
{
"offset": 5394,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true
},
{
"offset": 5593,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true
},
{
"offset": 5682,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true
},
{
"offset": 5800,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true
},
{
"offset": 5898,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true
},
{
"offset": 6021,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true
},
{
"offset": 6145,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true
},
{
"offset": 6283,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true
},
{
"offset": 6403,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true
},
{
"offset": 6513,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true
},
{
"offset": 6641,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true
},
{
"offset": 6757,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true
},
{
"offset": 6897,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true
},
{
"offset": 7029,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true
},
{
"offset": 7129,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true
},
{
"offset": 7252,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true
},
{
"offset": 7387,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true
},
{
"offset": 7534,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true
},
{
"offset": 7658,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true
},
{
"offset": 7799,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true
},
{
"offset": 7904,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true
},
{
"offset": 8042,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true
},
{
"offset": 8198,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true
}
]
}
}
]
}
],
"sequence_number": 1
},
{
"moof_offset": 8346,
"trafs": [
{
"track_id": 1,
"tfhd_flags": 131128,
"default_sample_duration": 512,
"default_sample_size": 2368,
"default_sample_flags": 16842752,
"default_base_is_moof": true,
"base_media_decode_time": 6418,
"truns": [
{
"flags": 517,
"sample_count": 12,
"data_offset": 324,
"samples": {
"count": 12,
"sha256_of_csv": "e25af0209995a623fc8cd17fce5897bac5cbdf82310560169b8e51eea7b1b760",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"offset": 8670,
"size": 2368,
"dts": 6418,
"cts_offset": 0,
"sync": true
},
{
"offset": 11038,
"size": 37,
"dts": 6930,
"cts_offset": 0,
"sync": false
},
{
"offset": 11075,
"size": 18,
"dts": 7442,
"cts_offset": 0,
"sync": false
},
{
"offset": 11093,
"size": 65,
"dts": 7954,
"cts_offset": 0,
"sync": false
},
{
"offset": 11158,
"size": 84,
"dts": 8466,
"cts_offset": 0,
"sync": false
},
{
"offset": 11242,
"size": 41,
"dts": 8978,
"cts_offset": 0,
"sync": false
},
{
"offset": 11283,
"size": 131,
"dts": 9490,
"cts_offset": 0,
"sync": false
},
{
"offset": 11414,
"size": 139,
"dts": 10002,
"cts_offset": 0,
"sync": false
},
{
"offset": 11553,
"size": 35,
"dts": 10514,
"cts_offset": 0,
"sync": false
},
{
"offset": 11588,
"size": 132,
"dts": 11026,
"cts_offset": 0,
"sync": false
},
{
"offset": 11720,
"size": 121,
"dts": 11538,
"cts_offset": 0,
"sync": false
},
{
"offset": 11841,
"size": 137,
"dts": 12050,
"cts_offset": 0,
"sync": false
}
]
}
}
]
},
{
"track_id": 2,
"tfhd_flags": 131128,
"default_sample_duration": 1024,
"default_sample_size": 121,
"default_sample_flags": 33554432,
"default_base_is_moof": true,
"base_media_decode_time": 24576,
"truns": [
{
"flags": 513,
"sample_count": 22,
"data_offset": 3632,
"samples": {
"count": 22,
"sha256_of_csv": "2a37bf2b9d55e52c1b0f172c266e7183ed89859ba3528f659aaa28909f64d75d",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"offset": 11978,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true
},
{
"offset": 12099,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true
},
{
"offset": 12224,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true
},
{
"offset": 12359,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true
},
{
"offset": 12499,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true
},
{
"offset": 12629,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true
},
{
"offset": 12751,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true
},
{
"offset": 12882,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true
},
{
"offset": 13010,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true
},
{
"offset": 13138,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true
},
{
"offset": 13258,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true
},
{
"offset": 13370,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true
},
{
"offset": 13492,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true
},
{
"offset": 13607,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true
},
{
"offset": 13756,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true
},
{
"offset": 13869,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true
},
{
"offset": 13994,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true
},
{
"offset": 14142,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true
},
{
"offset": 14291,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true
},
{
"offset": 14403,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true
},
{
"offset": 14532,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true
},
{
"offset": 14630,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true
}
]
}
}
]
}
],
"sequence_number": 2
},
{
"moof_offset": 14785,
"trafs": [
{
"track_id": 1,
"tfhd_flags": 131128,
"default_sample_duration": 512,
"default_sample_size": 2326,
"default_sample_flags": 16842752,
"default_base_is_moof": true,
"base_media_decode_time": 12562,
"truns": [
{
"flags": 5,
"sample_count": 1,
"data_offset": 204,
"samples": {
"count": 1,
"sha256_of_csv": "4890a12dbd8ad6a3ddb7a7b32e488a76b5c1dbee7537343ef221d36cbb13e40d",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"offset": 14989,
"size": 2326,
"dts": 12562,
"cts_offset": 0,
"sync": true
}
]
}
}
]
},
{
"track_id": 2,
"tfhd_flags": 131128,
"default_sample_duration": 1024,
"default_sample_size": 112,
"default_sample_flags": 33554432,
"default_base_is_moof": true,
"base_media_decode_time": 47104,
"truns": [
{
"flags": 769,
"sample_count": 2,
"data_offset": 2530,
"samples": {
"count": 2,
"sha256_of_csv": "c538b1e2640cc34a9c996c41627743d4eddca913831659adc4cdb452d97c4cdd",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"offset": 17315,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true
},
{
"offset": 17427,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true
}
]
}
}
]
}
],
"sequence_number": 3
}
],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 0,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 0,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": null,
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 146,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [],
"ctts": null,
"stss_count": null,
"stsc": [],
"stsz": {
"fixed_size": 0,
"sample_count": 0
},
"chunk_count": 0,
"samples": {
"count": 0,
"sha256_of_csv": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": []
}
},
{
"track_id": 2,
"tkhd_duration": 0,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 0,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": null,
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bb800000bb800580808005118856e500068080800102",
"payload_sha256": "b949203f44c597a2a601b66148dde557f84c914241bc950d91d48c43348678c5",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bb800000bb80",
"payload_sha256": "57e47aa146c55f25182b9ef835bbb39e21d2d27e49b8db7ad7998a2b780502f9",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [],
"ctts": null,
"stss_count": null,
"stsc": [],
"stsz": {
"fixed_size": 0,
"sample_count": 0
},
"chunk_count": 0,
"samples": {
"count": 0,
"sha256_of_csv": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": []
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 13074,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 49024,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v08_co64_patched",
"file": "fixtures/v08_co64_patched.mp4",
"kind": "valid",
"sha256": "c62b6f710be18eeb717bec4141ba6d175c9934292bd3a92a56404d6904b63dea",
"size_bytes": 17596,
"origin": "synth.py stco_to_co64(v01): every stco rewritten as co64 with identical values, ancestor sizes recomputed; moov follows mdat so offsets are unchanged",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 2,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 17596,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 32,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 40,
"header_len": 8,
"size": 15402,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 15442,
"header_len": 8,
"size": 2154,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": false,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 3
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"co64"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "co64",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "12731c4c02216a03f2e28a31f96182e253f18b0adf0513c7c9c602c196715a80",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 202,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 2604,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 2829,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 3090,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 3438,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 3884,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 4337,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 4840,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 5218,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 5706,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 6097,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 6380,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 6766,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 9380,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 9692,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 9962,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 10158,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 10498,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 10771,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 11139,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 11540,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 11848,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 12241,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 12589,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 12881,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"co64",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "dcbf7ed85307d560e631d8f1222a68c24b34e2677c8306244a271a42746ce594",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "co64",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
25,
1,
1
],
[
26,
2,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 26,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "11aeaaa29593d206f4335e88c9bffaf06bce27fd47288de10feebef1e6665b52",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 48,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 2316,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 2515,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 2613,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 2731,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 2843,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 2966,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 3180,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 3318,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 3646,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 3756,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 4081,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 4197,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 4608,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 4740,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 5095,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 5424,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 5559,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 5832,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 5956,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 6137,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 6242,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 6462,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 6618,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 9134,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 9255,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 9417,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 9552,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 9710,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 9840,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 10027,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 10242,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 10370,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 10539,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 10659,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 10902,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 11024,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 11278,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 11427,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 11575,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 11700,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 11980,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 12129,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 12362,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 12491,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 12726,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
},
{
"n": 47,
"offset": 15207,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
},
{
"n": 48,
"offset": 15319,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v09_perf_many_samples",
"file": "fixtures/v09_perf_many_samples.mp4",
"kind": "valid",
"sha256": "d95b3924415f9f91925da3dea814e0e5e681e03364941f6497fc19100d5641f1",
"size_bytes": 940294,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "300.000000",
"nb_streams": 1,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 16,
"height": 16,
"sample_rate": null,
"channels": null,
"time_base": "1/15360",
"start_pts": 0,
"duration_ts": 4608000,
"nb_frames": "72000",
"nb_read_packets": "72000",
"r_frame_rate": "240/1",
"has_b_frames": 0
}
]
},
"reference": {
"file_len": 940294,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 32,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 40,
"header_len": 8,
"size": 650258,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 650298,
"header_len": 8,
"size": 289996,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": false,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 300000,
"next_track_id": 2
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 300000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 16.0,
"height": 16.0,
"timescale": 15360,
"mdhd_duration": 4608000,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 300000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 165,
"width": 16,
"height": 16,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100146742c00ada7b0110000003001000001e00f1226a01000468ce0fc8",
"payload_sha256": "7b51237da0dd9dc2ffc1f10afad8f2c387a985385653e7fb2502401fde219b0b",
"payload_len": 35
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000043bc00000000",
"payload_sha256": "9c1c02e27e13c7af5e95d2f8825dd7fa963b42e4ff5bddf9bdebabd58bb37b55",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
72000,
64
]
],
"ctts": null,
"stss_count": 300,
"stsc": [
[
1,
72000,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 72000
},
"chunk_count": 1,
"stts_total_samples": 72000,
"stts_total_duration": 4608000,
"samples": {
"count": 72000,
"sha256_of_csv": "6d217044fcf98cf567750adb2d3f3f7cb1c5023b2c9ae8e18b30d6bb27170edc",
"csv_columns": "offset,size,dts,cts_offset,sync",
"head": [
{
"n": 1,
"offset": 48,
"size": 614,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 662,
"size": 9,
"dts": 64,
"cts_offset": 0,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 3,
"offset": 671,
"size": 9,
"dts": 128,
"cts_offset": 0,
"sync": false,
"chunk": 1,
"sdi": 1
}
],
"tail": [
{
"n": 71998,
"offset": 650271,
"size": 9,
"dts": 4607808,
"cts_offset": 0,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 71999,
"offset": 650280,
"size": 9,
"dts": 4607872,
"cts_offset": 0,
"sync": false,
"chunk": 1,
"sdi": 1
},
{
"n": 72000,
"offset": 650289,
"size": 9,
"dts": 4607936,
"cts_offset": 0,
"sync": false,
"chunk": 1,
"sdi": 1
}
],
"list": null
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 72000,
"sample_count_reference": 72000,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/15360",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "72000",
"ffprobe_duration_ts": 4608000,
"ffprobe_start_pts": 0,
"ffprobe_width": 16,
"ffprobe_height": 16,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
}
]
}
},
{
"id": "v10_largesize_ftyp",
"file": "fixtures/v10_largesize_ftyp.mp4",
"kind": "valid",
"sha256": "545abbcd30cfb765451f582024c2bd5e250e614eaf82388a3da4c2d68b300fe7",
"size_bytes": 17400,
"origin": "synth.py: ftyp re-emitted with size==1 + 64-bit largesize; stco entries shifted by +8",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 2,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 17400,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 16,
"size": 40,
"largesize": true,
"size_zero": false
},
{
"type": "moov",
"offset": 40,
"header_len": 8,
"size": 1950,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 1990,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 1998,
"header_len": 8,
"size": 15402,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": true,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 3
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "c7f4b58c219e73b1664eed0a65beb6cc1fd82348ca2e93bdb9cbf616d4e25c9d",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 2160,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4562,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4787,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 5048,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 5396,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 5842,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 6295,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 6798,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 7176,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 7664,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 8055,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 8338,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 8724,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 11338,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 11650,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 11920,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 12116,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 12456,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 12729,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 13097,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 13498,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 13806,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 14199,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 14547,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 14839,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "dcbf7ed85307d560e631d8f1222a68c24b34e2677c8306244a271a42746ce594",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
25,
1,
1
],
[
26,
2,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 26,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "f2de9d17747792a97ef4b712d8c8d5eabbcf6491a2f07000fb4312a5a880c93e",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 2006,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4274,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4473,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 4571,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 4689,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 4801,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 4924,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 5138,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 5276,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 5604,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 5714,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 6039,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 6155,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 6566,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 6698,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 7053,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 7382,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 7517,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 7790,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 7914,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 8095,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 8200,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 8420,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 8576,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 11092,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 11213,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 11375,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 11510,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 11668,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 11798,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 11985,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 12200,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 12328,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 12497,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 12617,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 12860,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 12982,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 13236,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 13385,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 13533,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 13658,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 13938,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 14087,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 14320,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 14449,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 14684,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
},
{
"n": 47,
"offset": 17165,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
},
{
"n": 48,
"offset": 17277,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v11_mdat_size_zero_to_eof",
"file": "fixtures/v11_mdat_size_zero_to_eof.mp4",
"kind": "valid",
"sha256": "6dfb31ca37627ca3f0957a727bdf3a28990ee7589e64035f90cc44a9f4ba6e25",
"size_bytes": 17392,
"origin": "synth.py: last top-level box (mdat) size field set to 0",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 2,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 17392,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 32,
"header_len": 8,
"size": 1950,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 1982,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 1990,
"header_len": 8,
"size": 15402,
"largesize": false,
"size_zero": true
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": true,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 3
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "313c0ffbdd846a6124dfb8898676c461df78caf77b673536de68994dc14518de",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 2152,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4554,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4779,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 5040,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 5388,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 5834,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 6287,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 6790,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 7168,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 7656,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 8047,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 8330,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 8716,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 11330,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 11642,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 11912,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 12108,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 12448,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 12721,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 13089,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 13490,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 13798,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 14191,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 14539,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 14831,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "dcbf7ed85307d560e631d8f1222a68c24b34e2677c8306244a271a42746ce594",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
25,
1,
1
],
[
26,
2,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 26,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "fbe43523cf38d512b0ca959a547752a4fb344ef7146376c1df7baaf42de4795c",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 1998,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4266,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4465,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 4563,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 4681,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 4793,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 4916,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 5130,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 5268,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 5596,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 5706,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 6031,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 6147,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 6558,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 6690,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 7045,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 7374,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 7509,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 7782,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 7906,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 8087,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 8192,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 8412,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 8568,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 11084,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 11205,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 11367,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 11502,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 11660,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 11790,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 11977,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 12192,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 12320,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 12489,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 12609,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 12852,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 12974,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 13228,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 13377,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 13525,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 13650,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 13930,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 14079,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 14312,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 14441,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 14676,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
},
{
"n": 47,
"offset": 17157,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
},
{
"n": 48,
"offset": 17269,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v12_uuid_toplevel",
"file": "fixtures/v12_uuid_toplevel.mp4",
"kind": "valid",
"sha256": "b96859069c0d06a444a3e86ae673916859770445118b93cc543d1b7e59b66c13",
"size_bytes": 17424,
"origin": "synth.py: 32-byte uuid box inserted after ftyp; stco entries shifted by +32",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 2,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 17424,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "uuid",
"offset": 32,
"header_len": 24,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 64,
"header_len": 8,
"size": 1950,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 2014,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 2022,
"header_len": 8,
"size": 15402,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": true,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 3
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "f8f10dcf776208ad67e918e1c1c5d7fc3ba9e7dbc15d115c02daf9e025ca7962",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 2184,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4586,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4811,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 5072,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 5420,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 5866,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 6319,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 6822,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 7200,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 7688,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 8079,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 8362,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 8748,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 11362,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 11674,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 11944,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 12140,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 12480,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 12753,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 13121,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 13522,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 13830,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 14223,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 14571,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 14863,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "dcbf7ed85307d560e631d8f1222a68c24b34e2677c8306244a271a42746ce594",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
25,
1,
1
],
[
26,
2,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 26,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "048a66ecacb154695925eaeea5ef8e01e1166fb44b89d80ba3881736af4c4aa9",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 2030,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4298,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4497,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 4595,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 4713,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 4825,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 4948,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 5162,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 5300,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 5628,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 5738,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 6063,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 6179,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 6590,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 6722,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 7077,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 7406,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 7541,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 7814,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 7938,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 8119,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 8224,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 8444,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 8600,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 11116,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 11237,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 11399,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 11534,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 11692,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 11822,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 12009,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 12224,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 12352,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 12521,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 12641,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 12884,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 13006,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 13260,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 13409,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 13557,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 13682,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 13962,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 14111,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 14344,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 14473,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 14708,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
},
{
"n": 47,
"offset": 17189,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
},
{
"n": 48,
"offset": 17301,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v13_hdlr_name_no_nul",
"file": "fixtures/v13_hdlr_name_no_nul.mp4",
"kind": "valid",
"sha256": "ef760a930a4770cf12e40f5b2deea4978678a24a418a4b672dedf986e51cf0da",
"size_bytes": 17392,
"origin": "synth.py: final NUL of the video hdlr name replaced by 'X'",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 2,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 17392,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 32,
"header_len": 8,
"size": 1950,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 1982,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 1990,
"header_len": 8,
"size": 15402,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": true,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 3
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandlerX",
"handler_name_nul_terminated": false,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "313c0ffbdd846a6124dfb8898676c461df78caf77b673536de68994dc14518de",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 2152,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4554,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4779,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 5040,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 5388,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 5834,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 6287,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 6790,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 7168,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 7656,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 8047,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 8330,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 8716,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 11330,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 11642,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 11912,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 12108,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 12448,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 12721,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 13089,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 13490,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 13798,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 14191,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 14539,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 14831,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000200048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "dcbf7ed85307d560e631d8f1222a68c24b34e2677c8306244a271a42746ce594",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
25,
1,
1
],
[
26,
2,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 26,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "fbe43523cf38d512b0ca959a547752a4fb344ef7146376c1df7baaf42de4795c",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 1998,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4266,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4465,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 4563,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 4681,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 4793,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 4916,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 5130,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 5268,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 5596,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 5706,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 6031,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 6147,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 6558,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 6690,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 7045,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 7374,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 7509,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 7782,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 7906,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 8087,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 8192,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 8412,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 8568,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 11084,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 11205,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 11367,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 11502,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 11660,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 11790,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 11977,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 12192,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 12320,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 12489,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 12609,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 12852,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 12974,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 13228,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 13377,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 13525,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 13650,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 13930,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 14079,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 14312,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 14441,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 14676,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
},
{
"n": 47,
"offset": 17157,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
},
{
"n": 48,
"offset": 17269,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "v14_three_tracks",
"file": "fixtures/v14_three_tracks.mp4",
"kind": "valid",
"sha256": "6aa3bcaad016f9907b22d7170b461379d8d242edf35dc66707783e1bff087bee",
"size_bytes": 27429,
"origin": "tools/gen-fixtures.sh",
"ffprobe": {
"exit_code": 0,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration": "1.000000",
"nb_streams": 3,
"tags": {
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41",
"encoder": "Lavf62.12.102"
},
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 1,
"codec_name": "h264",
"codec_type": "video",
"codec_tag_string": "avc1",
"profile": "Constrained Baseline",
"width": 64,
"height": 48,
"sample_rate": null,
"channels": null,
"time_base": "1/12800",
"start_pts": 0,
"duration_ts": 12800,
"nb_frames": "25",
"nb_read_packets": "25",
"r_frame_rate": "25/1",
"has_b_frames": 0
},
{
"index": 2,
"codec_name": "aac",
"codec_type": "audio",
"codec_tag_string": "mp4a",
"profile": "LC",
"width": null,
"height": null,
"sample_rate": "48000",
"channels": 1,
"time_base": "1/48000",
"start_pts": 0,
"duration_ts": 48000,
"nb_frames": "48",
"nb_read_packets": "48",
"r_frame_rate": "0/0",
"has_b_frames": null
}
]
},
"reference": {
"file_len": 27429,
"top_level": [
{
"type": "ftyp",
"offset": 0,
"header_len": 8,
"size": 32,
"largesize": false,
"size_zero": false
},
{
"type": "free",
"offset": 32,
"header_len": 8,
"size": 8,
"largesize": false,
"size_zero": false
},
{
"type": "mdat",
"offset": 40,
"header_len": 8,
"size": 24648,
"largesize": false,
"size_zero": false
},
{
"type": "moov",
"offset": 24688,
"header_len": 8,
"size": 2741,
"largesize": false,
"size_zero": false
}
],
"ftyp": {
"major_brand": "isom",
"minor_version": 512,
"compatible_brands": [
"isom",
"iso2",
"avc1",
"mp41"
]
},
"moov_before_mdat": false,
"mvhd": {
"version": 0,
"timescale": 1000,
"duration": 1000,
"next_track_id": 4
},
"mvex_present": false,
"fragments": [],
"tracks": [
{
"track_id": 1,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "dde20c3af71cc1a9a76f4bec38661888df6960428346dee316f8ea439c441d50",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 202,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4718,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4952,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 5227,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 5665,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 6319,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 6969,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 7743,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 8376,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 9070,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 9587,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 9910,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 10378,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 15360,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 15709,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 15997,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 16258,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 16682,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 16996,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 17495,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 18035,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 18378,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 18903,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 19372,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 19801,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 2,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 2,
"width": 64.0,
"height": 48.0,
"timescale": 12800,
"mdhd_duration": 12800,
"mdhd_version": 0,
"language": "und",
"handler_type": "vide",
"handler_name": "VideoHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 0,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stss",
"stsc",
"stsz",
"stco"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "avc1",
"size": 166,
"width": 64,
"height": 48,
"compressorname": "Lavc62.28.102 libx264",
"config_boxes": [
{
"fourcc": "avcC",
"payload_hex": "0142c00affe100156742c00ada11ec0440000003004000000c83c489a801000468ce0fc8",
"payload_sha256": "b29da5655035b7c69c8e5ed47a260939355ceac68869cae37bd9a1ec99e3a0d0",
"payload_len": 36
},
{
"fourcc": "pasp",
"payload_hex": "0000000100000001",
"payload_sha256": "577fcad6fcd8592bf8b3b70c5ed4981eb1b2f7b7ac7ae355b930aa302ff85a55",
"payload_len": 8
},
{
"fourcc": "btrt",
"payload_hex": "00000000000120f000000000",
"payload_sha256": "51aaad22eb4dafd43bda558cd295256be47ce3f55d096e10df0265648be0876b",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
25,
512
]
],
"ctts": null,
"stss_count": 3,
"stsc": [
[
1,
1,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 25
},
"chunk_count": 25,
"stts_total_samples": 25,
"stts_total_duration": 12800,
"samples": {
"count": 25,
"sha256_of_csv": "e14ea10da577a84db44e6f3b319b6c6e4cd671bcaff041a873f176d6e35acdb4",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 2316,
"size": 2114,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4727,
"size": 9,
"dts": 512,
"cts_offset": 0,
"sync": false,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4966,
"size": 14,
"dts": 1024,
"cts_offset": 0,
"sync": false,
"chunk": 3,
"sdi": 1
},
{
"n": 4,
"offset": 5317,
"size": 90,
"dts": 1536,
"cts_offset": 0,
"sync": false,
"chunk": 4,
"sdi": 1
},
{
"n": 5,
"offset": 5873,
"size": 208,
"dts": 2048,
"cts_offset": 0,
"sync": false,
"chunk": 5,
"sdi": 1
},
{
"n": 6,
"offset": 6516,
"size": 197,
"dts": 2560,
"cts_offset": 0,
"sync": false,
"chunk": 6,
"sdi": 1
},
{
"n": 7,
"offset": 7240,
"size": 271,
"dts": 3072,
"cts_offset": 0,
"sync": false,
"chunk": 7,
"sdi": 1
},
{
"n": 8,
"offset": 7998,
"size": 255,
"dts": 3584,
"cts_offset": 0,
"sync": false,
"chunk": 8,
"sdi": 1
},
{
"n": 9,
"offset": 8582,
"size": 206,
"dts": 4096,
"cts_offset": 0,
"sync": false,
"chunk": 9,
"sdi": 1
},
{
"n": 10,
"offset": 9196,
"size": 126,
"dts": 4608,
"cts_offset": 0,
"sync": false,
"chunk": 10,
"sdi": 1
},
{
"n": 11,
"offset": 9627,
"size": 40,
"dts": 5120,
"cts_offset": 0,
"sync": false,
"chunk": 11,
"sdi": 1
},
{
"n": 12,
"offset": 9992,
"size": 82,
"dts": 5632,
"cts_offset": 0,
"sync": false,
"chunk": 12,
"sdi": 1
},
{
"n": 13,
"offset": 12746,
"size": 2368,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 14,
"offset": 15397,
"size": 37,
"dts": 6656,
"cts_offset": 0,
"sync": false,
"chunk": 14,
"sdi": 1
},
{
"n": 15,
"offset": 15727,
"size": 18,
"dts": 7168,
"cts_offset": 0,
"sync": false,
"chunk": 15,
"sdi": 1
},
{
"n": 16,
"offset": 16062,
"size": 65,
"dts": 7680,
"cts_offset": 0,
"sync": false,
"chunk": 16,
"sdi": 1
},
{
"n": 17,
"offset": 16342,
"size": 84,
"dts": 8192,
"cts_offset": 0,
"sync": false,
"chunk": 17,
"sdi": 1
},
{
"n": 18,
"offset": 16723,
"size": 41,
"dts": 8704,
"cts_offset": 0,
"sync": false,
"chunk": 18,
"sdi": 1
},
{
"n": 19,
"offset": 17127,
"size": 131,
"dts": 9216,
"cts_offset": 0,
"sync": false,
"chunk": 19,
"sdi": 1
},
{
"n": 20,
"offset": 17634,
"size": 139,
"dts": 9728,
"cts_offset": 0,
"sync": false,
"chunk": 20,
"sdi": 1
},
{
"n": 21,
"offset": 18070,
"size": 35,
"dts": 10240,
"cts_offset": 0,
"sync": false,
"chunk": 21,
"sdi": 1
},
{
"n": 22,
"offset": 18510,
"size": 132,
"dts": 10752,
"cts_offset": 0,
"sync": false,
"chunk": 22,
"sdi": 1
},
{
"n": 23,
"offset": 19024,
"size": 121,
"dts": 11264,
"cts_offset": 0,
"sync": false,
"chunk": 23,
"sdi": 1
},
{
"n": 24,
"offset": 19509,
"size": 137,
"dts": 11776,
"cts_offset": 0,
"sync": false,
"chunk": 24,
"sdi": 1
},
{
"n": 25,
"offset": 22127,
"size": 2326,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
}
]
}
},
{
"track_id": 3,
"tkhd_duration": 1000,
"tkhd_version": 0,
"tkhd_flags": 3,
"width": 0.0,
"height": 0.0,
"timescale": 48000,
"mdhd_duration": 49024,
"mdhd_version": 0,
"language": "und",
"handler_type": "soun",
"handler_name": "SoundHandler",
"handler_name_nul_terminated": true,
"elst": {
"version": 0,
"entries": [
{
"segment_duration": 1000,
"media_time": 1024,
"media_rate": 1
}
]
},
"stbl_boxes": [
"stsd",
"stts",
"stsc",
"stsz",
"stco",
"sgpd",
"sbgp"
],
"stsd": {
"entry_count": 1,
"entries": [
{
"fourcc": "mp4a",
"size": 110,
"audio_entry_version": 0,
"channelcount": 1,
"samplesize": 16,
"samplerate": 48000.0,
"config_boxes": [
{
"fourcc": "esds",
"payload_hex": "000000000380808025000300048080801740150000000000bc1c0000bc1c0580808005118856e500068080800102",
"payload_sha256": "1a6656b3b68e0aa1d7f728e0aea61ca98fdeb5f5e1a441b723f033290ec5b8f6",
"payload_len": 46
},
{
"fourcc": "btrt",
"payload_hex": "000000000000bc1c0000bc1c",
"payload_sha256": "33b361adb07813dbb7950d6e4e0b5c0f5594f272ee46ef5e5b3336fe0045ec2f",
"payload_len": 12
}
]
}
]
},
"chunk_offset_box": "stco",
"stts": [
[
47,
1024
],
[
1,
896
]
],
"ctts": null,
"stss_count": null,
"stsc": [
[
1,
1,
1
],
[
2,
2,
1
],
[
9,
1,
1
],
[
10,
2,
1
],
[
17,
1,
1
],
[
18,
2,
1
],
[
25,
1,
1
],
[
26,
2,
1
]
],
"stsz": {
"fixed_size": 0,
"sample_count": 48
},
"chunk_count": 26,
"stts_total_samples": 48,
"stts_total_duration": 49024,
"samples": {
"count": 48,
"sha256_of_csv": "68deb83076e682fd9b895e7ab2a3b55a86481aa7fab6bbf666b63885b3c20681",
"csv_columns": "offset,size,dts,cts_offset,sync",
"list": [
{
"n": 1,
"offset": 48,
"size": 154,
"dts": 0,
"cts_offset": 0,
"sync": true,
"chunk": 1,
"sdi": 1
},
{
"n": 2,
"offset": 4430,
"size": 199,
"dts": 1024,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 3,
"offset": 4629,
"size": 89,
"dts": 2048,
"cts_offset": 0,
"sync": true,
"chunk": 2,
"sdi": 1
},
{
"n": 4,
"offset": 4736,
"size": 118,
"dts": 3072,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 5,
"offset": 4854,
"size": 98,
"dts": 4096,
"cts_offset": 0,
"sync": true,
"chunk": 3,
"sdi": 1
},
{
"n": 6,
"offset": 4980,
"size": 123,
"dts": 5120,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 7,
"offset": 5103,
"size": 124,
"dts": 6144,
"cts_offset": 0,
"sync": true,
"chunk": 4,
"sdi": 1
},
{
"n": 8,
"offset": 5407,
"size": 138,
"dts": 7168,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 9,
"offset": 5545,
"size": 120,
"dts": 8192,
"cts_offset": 0,
"sync": true,
"chunk": 5,
"sdi": 1
},
{
"n": 10,
"offset": 6081,
"size": 110,
"dts": 9216,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 11,
"offset": 6191,
"size": 128,
"dts": 10240,
"cts_offset": 0,
"sync": true,
"chunk": 6,
"sdi": 1
},
{
"n": 12,
"offset": 6713,
"size": 116,
"dts": 11264,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 13,
"offset": 6829,
"size": 140,
"dts": 12288,
"cts_offset": 0,
"sync": true,
"chunk": 7,
"sdi": 1
},
{
"n": 14,
"offset": 7511,
"size": 132,
"dts": 13312,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 15,
"offset": 7643,
"size": 100,
"dts": 14336,
"cts_offset": 0,
"sync": true,
"chunk": 8,
"sdi": 1
},
{
"n": 16,
"offset": 8253,
"size": 123,
"dts": 15360,
"cts_offset": 0,
"sync": true,
"chunk": 9,
"sdi": 1
},
{
"n": 17,
"offset": 8788,
"size": 135,
"dts": 16384,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 18,
"offset": 8923,
"size": 147,
"dts": 17408,
"cts_offset": 0,
"sync": true,
"chunk": 10,
"sdi": 1
},
{
"n": 19,
"offset": 9322,
"size": 124,
"dts": 18432,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 20,
"offset": 9446,
"size": 141,
"dts": 19456,
"cts_offset": 0,
"sync": true,
"chunk": 11,
"sdi": 1
},
{
"n": 21,
"offset": 9667,
"size": 105,
"dts": 20480,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 22,
"offset": 9772,
"size": 138,
"dts": 21504,
"cts_offset": 0,
"sync": true,
"chunk": 12,
"sdi": 1
},
{
"n": 23,
"offset": 10074,
"size": 156,
"dts": 22528,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 24,
"offset": 10230,
"size": 148,
"dts": 23552,
"cts_offset": 0,
"sync": true,
"chunk": 13,
"sdi": 1
},
{
"n": 25,
"offset": 15114,
"size": 121,
"dts": 24576,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 26,
"offset": 15235,
"size": 125,
"dts": 25600,
"cts_offset": 0,
"sync": true,
"chunk": 14,
"sdi": 1
},
{
"n": 27,
"offset": 15434,
"size": 135,
"dts": 26624,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 28,
"offset": 15569,
"size": 140,
"dts": 27648,
"cts_offset": 0,
"sync": true,
"chunk": 15,
"sdi": 1
},
{
"n": 29,
"offset": 15745,
"size": 130,
"dts": 28672,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 30,
"offset": 15875,
"size": 122,
"dts": 29696,
"cts_offset": 0,
"sync": true,
"chunk": 16,
"sdi": 1
},
{
"n": 31,
"offset": 16127,
"size": 131,
"dts": 30720,
"cts_offset": 0,
"sync": true,
"chunk": 17,
"sdi": 1
},
{
"n": 32,
"offset": 16426,
"size": 128,
"dts": 31744,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 33,
"offset": 16554,
"size": 128,
"dts": 32768,
"cts_offset": 0,
"sync": true,
"chunk": 18,
"sdi": 1
},
{
"n": 34,
"offset": 16764,
"size": 120,
"dts": 33792,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 35,
"offset": 16884,
"size": 112,
"dts": 34816,
"cts_offset": 0,
"sync": true,
"chunk": 19,
"sdi": 1
},
{
"n": 36,
"offset": 17258,
"size": 122,
"dts": 35840,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 37,
"offset": 17380,
"size": 115,
"dts": 36864,
"cts_offset": 0,
"sync": true,
"chunk": 20,
"sdi": 1
},
{
"n": 38,
"offset": 17773,
"size": 149,
"dts": 37888,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 39,
"offset": 17922,
"size": 113,
"dts": 38912,
"cts_offset": 0,
"sync": true,
"chunk": 21,
"sdi": 1
},
{
"n": 40,
"offset": 18105,
"size": 125,
"dts": 39936,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 41,
"offset": 18230,
"size": 148,
"dts": 40960,
"cts_offset": 0,
"sync": true,
"chunk": 22,
"sdi": 1
},
{
"n": 42,
"offset": 18642,
"size": 149,
"dts": 41984,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 43,
"offset": 18791,
"size": 112,
"dts": 43008,
"cts_offset": 0,
"sync": true,
"chunk": 23,
"sdi": 1
},
{
"n": 44,
"offset": 19145,
"size": 129,
"dts": 44032,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 45,
"offset": 19274,
"size": 98,
"dts": 45056,
"cts_offset": 0,
"sync": true,
"chunk": 24,
"sdi": 1
},
{
"n": 46,
"offset": 19646,
"size": 155,
"dts": 46080,
"cts_offset": 0,
"sync": true,
"chunk": 25,
"sdi": 1
},
{
"n": 47,
"offset": 24453,
"size": 112,
"dts": 47104,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
},
{
"n": 48,
"offset": 24565,
"size": 123,
"dts": 48128,
"cts_offset": 0,
"sync": true,
"chunk": 26,
"sdi": 1
}
]
}
}
]
},
"expect": {
"result": "ok"
},
"crosscheck": {
"stream_count_matches_track_count": true,
"per_track": [
{
"track_id": 1,
"ffprobe_stream_index": 0,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 2,
"ffprobe_stream_index": 1,
"packet_count_ffprobe": 25,
"sample_count_reference": 25,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 0,
"pts_shift_reference_minus_ffprobe": 0,
"ffprobe_time_base": "1/12800",
"ffprobe_codec_name": "h264",
"ffprobe_codec_tag_string": "avc1",
"ffprobe_nb_read_packets": "25",
"ffprobe_duration_ts": 12800,
"ffprobe_start_pts": 0,
"ffprobe_width": 64,
"ffprobe_height": 48,
"ffprobe_sample_rate": null,
"ffprobe_channels": null,
"ffprobe_profile": "Constrained Baseline"
},
{
"track_id": 3,
"ffprobe_stream_index": 2,
"packet_count_ffprobe": 48,
"sample_count_reference": 48,
"offset_size_sequence_equal": true,
"sync_flags_equal": true,
"dts_shift_reference_minus_ffprobe": 1024,
"pts_shift_reference_minus_ffprobe": 1024,
"ffprobe_time_base": "1/48000",
"ffprobe_codec_name": "aac",
"ffprobe_codec_tag_string": "mp4a",
"ffprobe_nb_read_packets": "48",
"ffprobe_duration_ts": 48000,
"ffprobe_start_pts": 0,
"ffprobe_width": null,
"ffprobe_height": null,
"ffprobe_sample_rate": "48000",
"ffprobe_channels": 1,
"ffprobe_profile": "LC"
}
]
}
},
{
"id": "rt01_h264_aac",
"kind": "roundtrip",
"source": "v01_h264_aac_moov_last",
"writer_options": {},
"expect": {
"result": "ok",
"equal_to_source": [
"track count and order",
"handler_type per track",
"timescale per track",
"sample count per track",
"per-sample size, dts, cts_offset, sync sequence",
"codec config payload bytes (avcC/hvcC/esds/dOps) per track",
"edit list entries per track"
],
"may_differ": [
"byte offsets",
"chunking (stsc/stco layout)",
"box order",
"ftyp minor_version and brands",
"mvhd/tkhd timestamps"
],
"ffprobe": "exit 0 on the written file; nb_read_packets per stream equal to the source's",
"chunk_offset_box": "stco when every offset fits u32, else co64"
}
},
{
"id": "rt02_hevc_aac",
"kind": "roundtrip",
"source": "v04_hevc_hvc1_aac",
"writer_options": {},
"expect": {
"result": "ok",
"equal_to_source": [
"track count and order",
"handler_type per track",
"timescale per track",
"sample count per track",
"per-sample size, dts, cts_offset, sync sequence",
"codec config payload bytes (avcC/hvcC/esds/dOps) per track",
"edit list entries per track"
],
"may_differ": [
"byte offsets",
"chunking (stsc/stco layout)",
"box order",
"ftyp minor_version and brands",
"mvhd/tkhd timestamps"
],
"ffprobe": "exit 0 on the written file; nb_read_packets per stream equal to the source's",
"chunk_offset_box": "stco when every offset fits u32, else co64"
}
},
{
"id": "rt03_opus",
"kind": "roundtrip",
"source": "v06_opus_only",
"writer_options": {},
"expect": {
"result": "ok",
"equal_to_source": [
"track count and order",
"handler_type per track",
"timescale per track",
"sample count per track",
"per-sample size, dts, cts_offset, sync sequence",
"codec config payload bytes (avcC/hvcC/esds/dOps) per track",
"edit list entries per track"
],
"may_differ": [
"byte offsets",
"chunking (stsc/stco layout)",
"box order",
"ftyp minor_version and brands",
"mvhd/tkhd timestamps"
],
"ffprobe": "exit 0 on the written file; nb_read_packets per stream equal to the source's",
"chunk_offset_box": "stco when every offset fits u32, else co64"
}
},
{
"id": "rt04_aac_only_elst",
"kind": "roundtrip",
"source": "v05_aac_only",
"writer_options": {},
"expect": {
"result": "ok",
"equal_to_source": [
"track count and order",
"handler_type per track",
"timescale per track",
"sample count per track",
"per-sample size, dts, cts_offset, sync sequence",
"codec config payload bytes (avcC/hvcC/esds/dOps) per track",
"edit list entries per track"
],
"may_differ": [
"byte offsets",
"chunking (stsc/stco layout)",
"box order",
"ftyp minor_version and brands",
"mvhd/tkhd timestamps"
],
"ffprobe": "exit 0 on the written file; nb_read_packets per stream equal to the source's",
"chunk_offset_box": "stco when every offset fits u32, else co64"
}
},
{
"id": "rt05_h264_bframes_ctts",
"kind": "roundtrip",
"source": "v03_h264_bframes_ctts_elst",
"writer_options": {},
"expect": {
"result": "ok",
"equal_to_source": [
"track count and order",
"handler_type per track",
"timescale per track",
"sample count per track",
"per-sample size, dts, cts_offset, sync sequence",
"codec config payload bytes (avcC/hvcC/esds/dOps) per track",
"edit list entries per track"
],
"may_differ": [
"byte offsets",
"chunking (stsc/stco layout)",
"box order",
"ftyp minor_version and brands",
"mvhd/tkhd timestamps"
],
"ffprobe": "exit 0 on the written file; nb_read_packets per stream equal to the source's",
"chunk_offset_box": "stco when every offset fits u32, else co64"
}
},
{
"id": "rt06_force_co64",
"kind": "roundtrip",
"source": "v01_h264_aac_moov_last",
"writer_options": {
"chunk_offsets": "co64"
},
"expect": {
"result": "ok",
"equal_to_source": [
"track count and order",
"handler_type per track",
"timescale per track",
"sample count per track",
"per-sample size, dts, cts_offset, sync sequence",
"codec config payload bytes (avcC/hvcC/esds/dOps) per track",
"edit list entries per track"
],
"may_differ": [
"byte offsets",
"chunking (stsc/stco layout)",
"box order",
"ftyp minor_version and brands",
"mvhd/tkhd timestamps"
],
"ffprobe": "exit 0 on the written file; nb_read_packets per stream equal to the source's",
"chunk_offset_box": "co64"
}
},
{
"id": "rt07_three_tracks",
"kind": "roundtrip",
"source": "v14_three_tracks",
"writer_options": {},
"expect": {
"result": "ok",
"equal_to_source": [
"track count and order",
"handler_type per track",
"timescale per track",
"sample count per track",
"per-sample size, dts, cts_offset, sync sequence",
"codec config payload bytes (avcC/hvcC/esds/dOps) per track",
"edit list entries per track"
],
"may_differ": [
"byte offsets",
"chunking (stsc/stco layout)",
"box order",
"ftyp minor_version and brands",
"mvhd/tkhd timestamps"
],
"ffprobe": "exit 0 on the written file; nb_read_packets per stream equal to the source's",
"chunk_offset_box": "stco when every offset fits u32, else co64"
}
}
]
}