Reading AV1 initialization data.

We add an entire class like we do for parsing other codec initialization formats; it's currently not doing any parsing though (... initialization data is really simple for AV1 though: just the entire contents of the box).

For testing, we add the sample file, having been re-encoded with ffmpeg (and we also happen to have another av1 file, too).

PiperOrigin-RevId: 439453823
This commit is contained in:
olly 2022-04-05 01:44:09 +01:00 committed by Ian Baker
parent 59f87a5134
commit 296efbb395
14 changed files with 1363 additions and 0 deletions

View File

@ -25,6 +25,7 @@
* Extractors:
* Matroska: Parse `DiscardPadding` for Opus tracks.
* Parse bitrates from `esds` boxes.
* MP4: Parse initialization data from AV1 tracks.
* UI:
* Fix delivery of events to `OnClickListener`s set on `PlayerView` and
`LegacyPlayerView`, in the case that `useController=false`

View File

@ -1169,6 +1169,11 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
} else if (childAtomType == Atom.TYPE_av1C) {
ExtractorUtil.checkContainerInput(mimeType == null, /* message= */ null);
mimeType = MimeTypes.VIDEO_AV1;
int childAtomBodySize = childAtomSize - Atom.HEADER_SIZE;
byte[] onlyInitializationDataChunk = new byte[childAtomBodySize];
parent.readBytes(onlyInitializationDataChunk, /* offset= */ 0, childAtomBodySize);
initializationData = ImmutableList.of(onlyInitializationDataChunk);
} else if (childAtomType == Atom.TYPE_clli) {
if (hdrStaticInfo == null) {
hdrStaticInfo = allocateHdrStaticInfo();

View File

@ -97,6 +97,12 @@ public final class Mp4ExtractorTest {
Mp4Extractor::new, "media/mp4/sample_mpegh_mhm1.mp4", simulationConfig);
}
@Test
public void mp4SampleWithAv1Track() throws Exception {
ExtractorAsserts.assertBehavior(
Mp4Extractor::new, "media/mp4/sample_av1.mp4", simulationConfig);
}
@Test
public void mp4SampleWithColorInfo() throws Exception {
ExtractorAsserts.assertBehavior(

View File

@ -0,0 +1,337 @@
seekMap:
isSeekable = true
duration = 1089000
getPosition(0) = [[timeUs=0, position=48]]
getPosition(1) = [[timeUs=0, position=48]]
getPosition(544500) = [[timeUs=0, position=48]]
getPosition(1089000) = [[timeUs=0, position=48]]
numberOfTracks = 2
track 0:
total output bytes = 79444
sample count = 30
format 0:
id = 1
sampleMimeType = video/av01
maxInputSize = 54267
width = 1080
height = 720
frameRate = 29.970028
initializationData:
data = length 17, hash 54AC4E6D
sample 0:
time = 0
flags = 1
data = length 54237, hash 978897A5
sample 1:
time = 33366
flags = 0
data = length 21903, hash D3A1A794
sample 2:
time = 66733
flags = 0
data = length 65, hash 401C922E
sample 3:
time = 100100
flags = 0
data = length 3, hash D5E0
sample 4:
time = 133466
flags = 0
data = length 161, hash 3BAF4398
sample 5:
time = 166833
flags = 0
data = length 3, hash D610
sample 6:
time = 200200
flags = 0
data = length 47, hash 1BF8FBF
sample 7:
time = 233566
flags = 0
data = length 3, hash D5D0
sample 8:
time = 266933
flags = 0
data = length 287, hash AF180C67
sample 9:
time = 300300
flags = 0
data = length 33, hash B4D41A8F
sample 10:
time = 333666
flags = 0
data = length 3, hash D5E0
sample 11:
time = 367033
flags = 0
data = length 236, hash 4DEB22C9
sample 12:
time = 400400
flags = 0
data = length 3, hash D600
sample 13:
time = 433766
flags = 0
data = length 202, hash 6AF564D
sample 14:
time = 467133
flags = 0
data = length 3, hash D5C0
sample 15:
time = 500500
flags = 0
data = length 1275, hash 9C2CCEA5
sample 16:
time = 533866
flags = 0
data = length 103, hash AC226D96
sample 17:
time = 567233
flags = 0
data = length 3, hash D5E0
sample 18:
time = 600600
flags = 0
data = length 250, hash 1C73058F
sample 19:
time = 633966
flags = 0
data = length 3, hash D5F0
sample 20:
time = 667333
flags = 0
data = length 39, hash 26EBA81E
sample 21:
time = 700700
flags = 0
data = length 3, hash D610
sample 22:
time = 734066
flags = 0
data = length 289, hash 4E5480FB
sample 23:
time = 767433
flags = 0
data = length 45, hash 8A594F0A
sample 24:
time = 800800
flags = 0
data = length 3, hash D600
sample 25:
time = 834166
flags = 0
data = length 116, hash 9D1150FF
sample 26:
time = 867533
flags = 0
data = length 3, hash D5F0
sample 27:
time = 900900
flags = 0
data = length 33, hash C36E3AEF
sample 28:
time = 934266
flags = 0
data = length 26, hash 6119E4D3
sample 29:
time = 967633
flags = 536870912
data = length 64, hash A8A201F0
track 1:
total output bytes = 9529
sample count = 45
format 0:
averageBitrate = 72956
peakBitrate = 74502
id = 2
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: value=Lavf58.76.100]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 43000
flags = 1
data = length 23, hash 47DE9131
sample 1:
time = 66219
flags = 1
data = length 6, hash 31EC5206
sample 2:
time = 89439
flags = 1
data = length 148, hash 894A176B
sample 3:
time = 112659
flags = 1
data = length 189, hash CEF235A1
sample 4:
time = 135879
flags = 1
data = length 205, hash BBF5F7B0
sample 5:
time = 159099
flags = 1
data = length 210, hash F278B193
sample 6:
time = 182319
flags = 1
data = length 210, hash 82DA1589
sample 7:
time = 205539
flags = 1
data = length 207, hash 5BE231DF
sample 8:
time = 228759
flags = 1
data = length 225, hash 18819EE1
sample 9:
time = 251979
flags = 1
data = length 215, hash CA7FA67B
sample 10:
time = 275199
flags = 1
data = length 211, hash 581A1C18
sample 11:
time = 298419
flags = 1
data = length 216, hash ADB88187
sample 12:
time = 321639
flags = 1
data = length 229, hash 2E8BA4DC
sample 13:
time = 344859
flags = 1
data = length 232, hash 22F0C510
sample 14:
time = 368079
flags = 1
data = length 235, hash 867AD0DC
sample 15:
time = 391299
flags = 1
data = length 231, hash 84E823A8
sample 16:
time = 414519
flags = 1
data = length 226, hash 1BEF3A95
sample 17:
time = 437739
flags = 1
data = length 216, hash EAA345AE
sample 18:
time = 460959
flags = 1
data = length 229, hash 6957411F
sample 19:
time = 484179
flags = 1
data = length 219, hash 41275022
sample 20:
time = 507399
flags = 1
data = length 241, hash 6495DF96
sample 21:
time = 530619
flags = 1
data = length 228, hash 63D95906
sample 22:
time = 553839
flags = 1
data = length 238, hash 34F676F9
sample 23:
time = 577058
flags = 1
data = length 234, hash E5CBC045
sample 24:
time = 600278
flags = 1
data = length 231, hash 5FC43661
sample 25:
time = 623498
flags = 1
data = length 217, hash 682708ED
sample 26:
time = 646718
flags = 1
data = length 239, hash D43780FC
sample 27:
time = 669938
flags = 1
data = length 243, hash C5E17980
sample 28:
time = 693158
flags = 1
data = length 231, hash AC5837BA
sample 29:
time = 716378
flags = 1
data = length 230, hash 169EE895
sample 30:
time = 739598
flags = 1
data = length 238, hash C48FF3F1
sample 31:
time = 762818
flags = 1
data = length 225, hash 531E4599
sample 32:
time = 786038
flags = 1
data = length 232, hash CB3C6B8D
sample 33:
time = 809258
flags = 1
data = length 243, hash F8C94C7
sample 34:
time = 832478
flags = 1
data = length 232, hash A646A7D0
sample 35:
time = 855698
flags = 1
data = length 237, hash E8B787A5
sample 36:
time = 878918
flags = 1
data = length 228, hash 3FA7A29F
sample 37:
time = 902138
flags = 1
data = length 235, hash B9B33B0A
sample 38:
time = 925358
flags = 1
data = length 264, hash 71A4869E
sample 39:
time = 948578
flags = 1
data = length 257, hash D049B54C
sample 40:
time = 971798
flags = 1
data = length 227, hash 66757231
sample 41:
time = 995018
flags = 1
data = length 227, hash BD374F1B
sample 42:
time = 1018238
flags = 1
data = length 235, hash 999477F6
sample 43:
time = 1041458
flags = 1
data = length 229, hash FFF98DF0
sample 44:
time = 1064678
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,285 @@
seekMap:
isSeekable = true
duration = 1089000
getPosition(0) = [[timeUs=0, position=48]]
getPosition(1) = [[timeUs=0, position=48]]
getPosition(544500) = [[timeUs=0, position=48]]
getPosition(1089000) = [[timeUs=0, position=48]]
numberOfTracks = 2
track 0:
total output bytes = 79444
sample count = 30
format 0:
id = 1
sampleMimeType = video/av01
maxInputSize = 54267
width = 1080
height = 720
frameRate = 29.970028
initializationData:
data = length 17, hash 54AC4E6D
sample 0:
time = 0
flags = 1
data = length 54237, hash 978897A5
sample 1:
time = 33366
flags = 0
data = length 21903, hash D3A1A794
sample 2:
time = 66733
flags = 0
data = length 65, hash 401C922E
sample 3:
time = 100100
flags = 0
data = length 3, hash D5E0
sample 4:
time = 133466
flags = 0
data = length 161, hash 3BAF4398
sample 5:
time = 166833
flags = 0
data = length 3, hash D610
sample 6:
time = 200200
flags = 0
data = length 47, hash 1BF8FBF
sample 7:
time = 233566
flags = 0
data = length 3, hash D5D0
sample 8:
time = 266933
flags = 0
data = length 287, hash AF180C67
sample 9:
time = 300300
flags = 0
data = length 33, hash B4D41A8F
sample 10:
time = 333666
flags = 0
data = length 3, hash D5E0
sample 11:
time = 367033
flags = 0
data = length 236, hash 4DEB22C9
sample 12:
time = 400400
flags = 0
data = length 3, hash D600
sample 13:
time = 433766
flags = 0
data = length 202, hash 6AF564D
sample 14:
time = 467133
flags = 0
data = length 3, hash D5C0
sample 15:
time = 500500
flags = 0
data = length 1275, hash 9C2CCEA5
sample 16:
time = 533866
flags = 0
data = length 103, hash AC226D96
sample 17:
time = 567233
flags = 0
data = length 3, hash D5E0
sample 18:
time = 600600
flags = 0
data = length 250, hash 1C73058F
sample 19:
time = 633966
flags = 0
data = length 3, hash D5F0
sample 20:
time = 667333
flags = 0
data = length 39, hash 26EBA81E
sample 21:
time = 700700
flags = 0
data = length 3, hash D610
sample 22:
time = 734066
flags = 0
data = length 289, hash 4E5480FB
sample 23:
time = 767433
flags = 0
data = length 45, hash 8A594F0A
sample 24:
time = 800800
flags = 0
data = length 3, hash D600
sample 25:
time = 834166
flags = 0
data = length 116, hash 9D1150FF
sample 26:
time = 867533
flags = 0
data = length 3, hash D5F0
sample 27:
time = 900900
flags = 0
data = length 33, hash C36E3AEF
sample 28:
time = 934266
flags = 0
data = length 26, hash 6119E4D3
sample 29:
time = 967633
flags = 536870912
data = length 64, hash A8A201F0
track 1:
total output bytes = 7235
sample count = 32
format 0:
averageBitrate = 72956
peakBitrate = 74502
id = 2
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: value=Lavf58.76.100]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 344859
flags = 1
data = length 232, hash 22F0C510
sample 1:
time = 368079
flags = 1
data = length 235, hash 867AD0DC
sample 2:
time = 391299
flags = 1
data = length 231, hash 84E823A8
sample 3:
time = 414519
flags = 1
data = length 226, hash 1BEF3A95
sample 4:
time = 437739
flags = 1
data = length 216, hash EAA345AE
sample 5:
time = 460959
flags = 1
data = length 229, hash 6957411F
sample 6:
time = 484179
flags = 1
data = length 219, hash 41275022
sample 7:
time = 507399
flags = 1
data = length 241, hash 6495DF96
sample 8:
time = 530619
flags = 1
data = length 228, hash 63D95906
sample 9:
time = 553839
flags = 1
data = length 238, hash 34F676F9
sample 10:
time = 577058
flags = 1
data = length 234, hash E5CBC045
sample 11:
time = 600278
flags = 1
data = length 231, hash 5FC43661
sample 12:
time = 623498
flags = 1
data = length 217, hash 682708ED
sample 13:
time = 646718
flags = 1
data = length 239, hash D43780FC
sample 14:
time = 669938
flags = 1
data = length 243, hash C5E17980
sample 15:
time = 693158
flags = 1
data = length 231, hash AC5837BA
sample 16:
time = 716378
flags = 1
data = length 230, hash 169EE895
sample 17:
time = 739598
flags = 1
data = length 238, hash C48FF3F1
sample 18:
time = 762818
flags = 1
data = length 225, hash 531E4599
sample 19:
time = 786038
flags = 1
data = length 232, hash CB3C6B8D
sample 20:
time = 809258
flags = 1
data = length 243, hash F8C94C7
sample 21:
time = 832478
flags = 1
data = length 232, hash A646A7D0
sample 22:
time = 855698
flags = 1
data = length 237, hash E8B787A5
sample 23:
time = 878918
flags = 1
data = length 228, hash 3FA7A29F
sample 24:
time = 902138
flags = 1
data = length 235, hash B9B33B0A
sample 25:
time = 925358
flags = 1
data = length 264, hash 71A4869E
sample 26:
time = 948578
flags = 1
data = length 257, hash D049B54C
sample 27:
time = 971798
flags = 1
data = length 227, hash 66757231
sample 28:
time = 995018
flags = 1
data = length 227, hash BD374F1B
sample 29:
time = 1018238
flags = 1
data = length 235, hash 999477F6
sample 30:
time = 1041458
flags = 1
data = length 229, hash FFF98DF0
sample 31:
time = 1064678
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,221 @@
seekMap:
isSeekable = true
duration = 1089000
getPosition(0) = [[timeUs=0, position=48]]
getPosition(1) = [[timeUs=0, position=48]]
getPosition(544500) = [[timeUs=0, position=48]]
getPosition(1089000) = [[timeUs=0, position=48]]
numberOfTracks = 2
track 0:
total output bytes = 79444
sample count = 30
format 0:
id = 1
sampleMimeType = video/av01
maxInputSize = 54267
width = 1080
height = 720
frameRate = 29.970028
initializationData:
data = length 17, hash 54AC4E6D
sample 0:
time = 0
flags = 1
data = length 54237, hash 978897A5
sample 1:
time = 33366
flags = 0
data = length 21903, hash D3A1A794
sample 2:
time = 66733
flags = 0
data = length 65, hash 401C922E
sample 3:
time = 100100
flags = 0
data = length 3, hash D5E0
sample 4:
time = 133466
flags = 0
data = length 161, hash 3BAF4398
sample 5:
time = 166833
flags = 0
data = length 3, hash D610
sample 6:
time = 200200
flags = 0
data = length 47, hash 1BF8FBF
sample 7:
time = 233566
flags = 0
data = length 3, hash D5D0
sample 8:
time = 266933
flags = 0
data = length 287, hash AF180C67
sample 9:
time = 300300
flags = 0
data = length 33, hash B4D41A8F
sample 10:
time = 333666
flags = 0
data = length 3, hash D5E0
sample 11:
time = 367033
flags = 0
data = length 236, hash 4DEB22C9
sample 12:
time = 400400
flags = 0
data = length 3, hash D600
sample 13:
time = 433766
flags = 0
data = length 202, hash 6AF564D
sample 14:
time = 467133
flags = 0
data = length 3, hash D5C0
sample 15:
time = 500500
flags = 0
data = length 1275, hash 9C2CCEA5
sample 16:
time = 533866
flags = 0
data = length 103, hash AC226D96
sample 17:
time = 567233
flags = 0
data = length 3, hash D5E0
sample 18:
time = 600600
flags = 0
data = length 250, hash 1C73058F
sample 19:
time = 633966
flags = 0
data = length 3, hash D5F0
sample 20:
time = 667333
flags = 0
data = length 39, hash 26EBA81E
sample 21:
time = 700700
flags = 0
data = length 3, hash D610
sample 22:
time = 734066
flags = 0
data = length 289, hash 4E5480FB
sample 23:
time = 767433
flags = 0
data = length 45, hash 8A594F0A
sample 24:
time = 800800
flags = 0
data = length 3, hash D600
sample 25:
time = 834166
flags = 0
data = length 116, hash 9D1150FF
sample 26:
time = 867533
flags = 0
data = length 3, hash D5F0
sample 27:
time = 900900
flags = 0
data = length 33, hash C36E3AEF
sample 28:
time = 934266
flags = 0
data = length 26, hash 6119E4D3
sample 29:
time = 967633
flags = 536870912
data = length 64, hash A8A201F0
track 1:
total output bytes = 3545
sample count = 16
format 0:
averageBitrate = 72956
peakBitrate = 74502
id = 2
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: value=Lavf58.76.100]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 716378
flags = 1
data = length 230, hash 169EE895
sample 1:
time = 739598
flags = 1
data = length 238, hash C48FF3F1
sample 2:
time = 762818
flags = 1
data = length 225, hash 531E4599
sample 3:
time = 786038
flags = 1
data = length 232, hash CB3C6B8D
sample 4:
time = 809258
flags = 1
data = length 243, hash F8C94C7
sample 5:
time = 832478
flags = 1
data = length 232, hash A646A7D0
sample 6:
time = 855698
flags = 1
data = length 237, hash E8B787A5
sample 7:
time = 878918
flags = 1
data = length 228, hash 3FA7A29F
sample 8:
time = 902138
flags = 1
data = length 235, hash B9B33B0A
sample 9:
time = 925358
flags = 1
data = length 264, hash 71A4869E
sample 10:
time = 948578
flags = 1
data = length 257, hash D049B54C
sample 11:
time = 971798
flags = 1
data = length 227, hash 66757231
sample 12:
time = 995018
flags = 1
data = length 227, hash BD374F1B
sample 13:
time = 1018238
flags = 1
data = length 235, hash 999477F6
sample 14:
time = 1041458
flags = 1
data = length 229, hash FFF98DF0
sample 15:
time = 1064678
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,161 @@
seekMap:
isSeekable = true
duration = 1089000
getPosition(0) = [[timeUs=0, position=48]]
getPosition(1) = [[timeUs=0, position=48]]
getPosition(544500) = [[timeUs=0, position=48]]
getPosition(1089000) = [[timeUs=0, position=48]]
numberOfTracks = 2
track 0:
total output bytes = 79444
sample count = 30
format 0:
id = 1
sampleMimeType = video/av01
maxInputSize = 54267
width = 1080
height = 720
frameRate = 29.970028
initializationData:
data = length 17, hash 54AC4E6D
sample 0:
time = 0
flags = 1
data = length 54237, hash 978897A5
sample 1:
time = 33366
flags = 0
data = length 21903, hash D3A1A794
sample 2:
time = 66733
flags = 0
data = length 65, hash 401C922E
sample 3:
time = 100100
flags = 0
data = length 3, hash D5E0
sample 4:
time = 133466
flags = 0
data = length 161, hash 3BAF4398
sample 5:
time = 166833
flags = 0
data = length 3, hash D610
sample 6:
time = 200200
flags = 0
data = length 47, hash 1BF8FBF
sample 7:
time = 233566
flags = 0
data = length 3, hash D5D0
sample 8:
time = 266933
flags = 0
data = length 287, hash AF180C67
sample 9:
time = 300300
flags = 0
data = length 33, hash B4D41A8F
sample 10:
time = 333666
flags = 0
data = length 3, hash D5E0
sample 11:
time = 367033
flags = 0
data = length 236, hash 4DEB22C9
sample 12:
time = 400400
flags = 0
data = length 3, hash D600
sample 13:
time = 433766
flags = 0
data = length 202, hash 6AF564D
sample 14:
time = 467133
flags = 0
data = length 3, hash D5C0
sample 15:
time = 500500
flags = 0
data = length 1275, hash 9C2CCEA5
sample 16:
time = 533866
flags = 0
data = length 103, hash AC226D96
sample 17:
time = 567233
flags = 0
data = length 3, hash D5E0
sample 18:
time = 600600
flags = 0
data = length 250, hash 1C73058F
sample 19:
time = 633966
flags = 0
data = length 3, hash D5F0
sample 20:
time = 667333
flags = 0
data = length 39, hash 26EBA81E
sample 21:
time = 700700
flags = 0
data = length 3, hash D610
sample 22:
time = 734066
flags = 0
data = length 289, hash 4E5480FB
sample 23:
time = 767433
flags = 0
data = length 45, hash 8A594F0A
sample 24:
time = 800800
flags = 0
data = length 3, hash D600
sample 25:
time = 834166
flags = 0
data = length 116, hash 9D1150FF
sample 26:
time = 867533
flags = 0
data = length 3, hash D5F0
sample 27:
time = 900900
flags = 0
data = length 33, hash C36E3AEF
sample 28:
time = 934266
flags = 0
data = length 26, hash 6119E4D3
sample 29:
time = 967633
flags = 536870912
data = length 64, hash A8A201F0
track 1:
total output bytes = 6
sample count = 1
format 0:
averageBitrate = 72956
peakBitrate = 74502
id = 2
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: value=Lavf58.76.100]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 1064678
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,337 @@
seekMap:
isSeekable = true
duration = 1089000
getPosition(0) = [[timeUs=0, position=48]]
getPosition(1) = [[timeUs=0, position=48]]
getPosition(544500) = [[timeUs=0, position=48]]
getPosition(1089000) = [[timeUs=0, position=48]]
numberOfTracks = 2
track 0:
total output bytes = 79444
sample count = 30
format 0:
id = 1
sampleMimeType = video/av01
maxInputSize = 54267
width = 1080
height = 720
frameRate = 29.970028
initializationData:
data = length 17, hash 54AC4E6D
sample 0:
time = 0
flags = 1
data = length 54237, hash 978897A5
sample 1:
time = 33366
flags = 0
data = length 21903, hash D3A1A794
sample 2:
time = 66733
flags = 0
data = length 65, hash 401C922E
sample 3:
time = 100100
flags = 0
data = length 3, hash D5E0
sample 4:
time = 133466
flags = 0
data = length 161, hash 3BAF4398
sample 5:
time = 166833
flags = 0
data = length 3, hash D610
sample 6:
time = 200200
flags = 0
data = length 47, hash 1BF8FBF
sample 7:
time = 233566
flags = 0
data = length 3, hash D5D0
sample 8:
time = 266933
flags = 0
data = length 287, hash AF180C67
sample 9:
time = 300300
flags = 0
data = length 33, hash B4D41A8F
sample 10:
time = 333666
flags = 0
data = length 3, hash D5E0
sample 11:
time = 367033
flags = 0
data = length 236, hash 4DEB22C9
sample 12:
time = 400400
flags = 0
data = length 3, hash D600
sample 13:
time = 433766
flags = 0
data = length 202, hash 6AF564D
sample 14:
time = 467133
flags = 0
data = length 3, hash D5C0
sample 15:
time = 500500
flags = 0
data = length 1275, hash 9C2CCEA5
sample 16:
time = 533866
flags = 0
data = length 103, hash AC226D96
sample 17:
time = 567233
flags = 0
data = length 3, hash D5E0
sample 18:
time = 600600
flags = 0
data = length 250, hash 1C73058F
sample 19:
time = 633966
flags = 0
data = length 3, hash D5F0
sample 20:
time = 667333
flags = 0
data = length 39, hash 26EBA81E
sample 21:
time = 700700
flags = 0
data = length 3, hash D610
sample 22:
time = 734066
flags = 0
data = length 289, hash 4E5480FB
sample 23:
time = 767433
flags = 0
data = length 45, hash 8A594F0A
sample 24:
time = 800800
flags = 0
data = length 3, hash D600
sample 25:
time = 834166
flags = 0
data = length 116, hash 9D1150FF
sample 26:
time = 867533
flags = 0
data = length 3, hash D5F0
sample 27:
time = 900900
flags = 0
data = length 33, hash C36E3AEF
sample 28:
time = 934266
flags = 0
data = length 26, hash 6119E4D3
sample 29:
time = 967633
flags = 536870912
data = length 64, hash A8A201F0
track 1:
total output bytes = 9529
sample count = 45
format 0:
averageBitrate = 72956
peakBitrate = 74502
id = 2
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[TSSE: description=null: value=Lavf58.76.100]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 43000
flags = 1
data = length 23, hash 47DE9131
sample 1:
time = 66219
flags = 1
data = length 6, hash 31EC5206
sample 2:
time = 89439
flags = 1
data = length 148, hash 894A176B
sample 3:
time = 112659
flags = 1
data = length 189, hash CEF235A1
sample 4:
time = 135879
flags = 1
data = length 205, hash BBF5F7B0
sample 5:
time = 159099
flags = 1
data = length 210, hash F278B193
sample 6:
time = 182319
flags = 1
data = length 210, hash 82DA1589
sample 7:
time = 205539
flags = 1
data = length 207, hash 5BE231DF
sample 8:
time = 228759
flags = 1
data = length 225, hash 18819EE1
sample 9:
time = 251979
flags = 1
data = length 215, hash CA7FA67B
sample 10:
time = 275199
flags = 1
data = length 211, hash 581A1C18
sample 11:
time = 298419
flags = 1
data = length 216, hash ADB88187
sample 12:
time = 321639
flags = 1
data = length 229, hash 2E8BA4DC
sample 13:
time = 344859
flags = 1
data = length 232, hash 22F0C510
sample 14:
time = 368079
flags = 1
data = length 235, hash 867AD0DC
sample 15:
time = 391299
flags = 1
data = length 231, hash 84E823A8
sample 16:
time = 414519
flags = 1
data = length 226, hash 1BEF3A95
sample 17:
time = 437739
flags = 1
data = length 216, hash EAA345AE
sample 18:
time = 460959
flags = 1
data = length 229, hash 6957411F
sample 19:
time = 484179
flags = 1
data = length 219, hash 41275022
sample 20:
time = 507399
flags = 1
data = length 241, hash 6495DF96
sample 21:
time = 530619
flags = 1
data = length 228, hash 63D95906
sample 22:
time = 553839
flags = 1
data = length 238, hash 34F676F9
sample 23:
time = 577058
flags = 1
data = length 234, hash E5CBC045
sample 24:
time = 600278
flags = 1
data = length 231, hash 5FC43661
sample 25:
time = 623498
flags = 1
data = length 217, hash 682708ED
sample 26:
time = 646718
flags = 1
data = length 239, hash D43780FC
sample 27:
time = 669938
flags = 1
data = length 243, hash C5E17980
sample 28:
time = 693158
flags = 1
data = length 231, hash AC5837BA
sample 29:
time = 716378
flags = 1
data = length 230, hash 169EE895
sample 30:
time = 739598
flags = 1
data = length 238, hash C48FF3F1
sample 31:
time = 762818
flags = 1
data = length 225, hash 531E4599
sample 32:
time = 786038
flags = 1
data = length 232, hash CB3C6B8D
sample 33:
time = 809258
flags = 1
data = length 243, hash F8C94C7
sample 34:
time = 832478
flags = 1
data = length 232, hash A646A7D0
sample 35:
time = 855698
flags = 1
data = length 237, hash E8B787A5
sample 36:
time = 878918
flags = 1
data = length 228, hash 3FA7A29F
sample 37:
time = 902138
flags = 1
data = length 235, hash B9B33B0A
sample 38:
time = 925358
flags = 1
data = length 264, hash 71A4869E
sample 39:
time = 948578
flags = 1
data = length 257, hash D049B54C
sample 40:
time = 971798
flags = 1
data = length 227, hash 66757231
sample 41:
time = 995018
flags = 1
data = length 227, hash BD374F1B
sample 42:
time = 1018238
flags = 1
data = length 235, hash 999477F6
sample 43:
time = 1041458
flags = 1
data = length 229, hash FFF98DF0
sample 44:
time = 1064678
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -21,6 +21,8 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
initializationData:
data = length 20, hash 4DF5B288
sample 0:
time = 0
flags = 1

View File

@ -21,6 +21,8 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
initializationData:
data = length 20, hash 4DF5B288
sample 0:
time = 0
flags = 1

View File

@ -21,6 +21,8 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
initializationData:
data = length 20, hash 4DF5B288
sample 0:
time = 0
flags = 1

View File

@ -21,6 +21,8 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
initializationData:
data = length 20, hash 4DF5B288
sample 0:
time = 0
flags = 1

View File

@ -21,6 +21,8 @@ track 0:
colorRange = 2
colorTransfer = 6
hdrStaticInfo = length 25, hash 423AFC35
initializationData:
data = length 20, hash 4DF5B288
sample 0:
time = 0
flags = 1