mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Mp4Extractor: allow zero length NAL units
Some videos include zero length NAL units in the length-delimited MP4 samples. Empty NAL units are not spec-compliant (see ISO/IEC 14496-15 section 4.3.3.3), but other players are able to play these videos (with warnings or errors). With this change, we check track.sampleTable.sizes[sampleIndex] before reading a byte from the NAL unit itself. PiperOrigin-RevId: 711720621
This commit is contained in:
parent
682889f91d
commit
9b71f2a3ba
13 changed files with 1529 additions and 14 deletions
|
|
@ -894,39 +894,49 @@ public final class Mp4Extractor implements Extractor, SeekMap {
|
||||||
nalPrefixData[0] = 0;
|
nalPrefixData[0] = 0;
|
||||||
nalPrefixData[1] = 0;
|
nalPrefixData[1] = 0;
|
||||||
nalPrefixData[2] = 0;
|
nalPrefixData[2] = 0;
|
||||||
int nalUnitPrefixLength = track.track.nalUnitLengthFieldLength + 1;
|
|
||||||
int nalUnitLengthFieldLengthDiff = 4 - track.track.nalUnitLengthFieldLength;
|
int nalUnitLengthFieldLengthDiff = 4 - track.track.nalUnitLengthFieldLength;
|
||||||
// NAL units are length delimited, but the decoder requires start code delimited units.
|
// NAL units are length delimited, but the decoder requires start code delimited units.
|
||||||
// Loop until we've written the sample to the track output, replacing length delimiters with
|
// Loop until we've written the sample to the track output, replacing length delimiters with
|
||||||
// start codes as we encounter them.
|
// start codes as we encounter them.
|
||||||
while (sampleBytesWritten < sampleSize) {
|
while (sampleBytesWritten < sampleSize) {
|
||||||
if (sampleCurrentNalBytesRemaining == 0) {
|
if (sampleCurrentNalBytesRemaining == 0) {
|
||||||
|
int nalUnitPrefixLength = track.track.nalUnitLengthFieldLength;
|
||||||
|
boolean readNalType = false;
|
||||||
|
if (!isSampleDependedOn
|
||||||
|
&& nalUnitPrefixLength + 1
|
||||||
|
<= track.sampleTable.sizes[sampleIndex] - sampleBytesRead) {
|
||||||
|
// Parsing sample dependencies needs the first NAL unit byte. Read it in the same
|
||||||
|
// readFully call that reads the NAL length. This ensures sampleBytesRead,
|
||||||
|
// sampleBytesWritten and isSampleDependedOn remain in a consistent state if we have
|
||||||
|
// read failures.
|
||||||
|
nalUnitPrefixLength = track.track.nalUnitLengthFieldLength + 1;
|
||||||
|
readNalType = true;
|
||||||
|
}
|
||||||
// Read the NAL length so that we know where we find the next one.
|
// Read the NAL length so that we know where we find the next one.
|
||||||
// In the same readFully call, read the first payload byte in order to determine
|
|
||||||
// sample dependencies. Do not attempt to peek the first payload byte because that might
|
|
||||||
// fail, and we should keep sampleBytesRead, sampleBytesWritten, isSampleDependedOn in
|
|
||||||
// a consistent state.
|
|
||||||
input.readFully(nalPrefixData, nalUnitLengthFieldLengthDiff, nalUnitPrefixLength);
|
input.readFully(nalPrefixData, nalUnitLengthFieldLengthDiff, nalUnitPrefixLength);
|
||||||
sampleBytesRead += nalUnitPrefixLength;
|
sampleBytesRead += nalUnitPrefixLength;
|
||||||
nalPrefix.setPosition(0);
|
nalPrefix.setPosition(0);
|
||||||
int nalLengthInt = nalPrefix.readInt();
|
int nalLengthInt = nalPrefix.readInt();
|
||||||
if (nalLengthInt < 1) {
|
if (nalLengthInt < 0) {
|
||||||
throw ParserException.createForMalformedContainer(
|
throw ParserException.createForMalformedContainer(
|
||||||
"Invalid NAL length", /* cause= */ null);
|
"Invalid NAL length", /* cause= */ null);
|
||||||
}
|
}
|
||||||
sampleCurrentNalBytesRemaining = nalLengthInt - 1;
|
sampleCurrentNalBytesRemaining = nalLengthInt - (readNalType ? 1 : 0);
|
||||||
// Write a start code for the current NAL unit.
|
// Write a start code for the current NAL unit.
|
||||||
nalStartCode.setPosition(0);
|
nalStartCode.setPosition(0);
|
||||||
trackOutput.sampleData(nalStartCode, 4);
|
trackOutput.sampleData(nalStartCode, 4);
|
||||||
|
sampleBytesWritten += 4;
|
||||||
|
sampleSize += nalUnitLengthFieldLengthDiff;
|
||||||
|
if (readNalType) {
|
||||||
// Write the NAL unit type byte.
|
// Write the NAL unit type byte.
|
||||||
trackOutput.sampleData(nalPrefix, 1);
|
trackOutput.sampleData(nalPrefix, 1);
|
||||||
sampleBytesWritten += 5;
|
sampleBytesWritten += 1;
|
||||||
sampleSize += nalUnitLengthFieldLengthDiff;
|
// If any NAL unit that's part of this sample can be depended on, treat the entire
|
||||||
// If any NAL unit that's part of this sample can be depended on, treat the entire sample
|
// sample as depended on.
|
||||||
// as depended on.
|
if (NalUnitUtil.isH264NalUnitDependedOn(nalPrefixData[4])) {
|
||||||
if (!isSampleDependedOn && NalUnitUtil.isH264NalUnitDependedOn(nalPrefixData[4])) {
|
|
||||||
isSampleDependedOn = true;
|
isSampleDependedOn = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Write the payload of the NAL unit.
|
// Write the payload of the NAL unit.
|
||||||
int writtenBytes = trackOutput.sampleData(input, sampleCurrentNalBytesRemaining, false);
|
int writtenBytes = trackOutput.sampleData(input, sampleCurrentNalBytesRemaining, false);
|
||||||
|
|
|
||||||
|
|
@ -239,6 +239,11 @@ public final class Mp4ExtractorParameterizedTest {
|
||||||
"media/mp4/sample_with_fake_auxiliary_tracks_interleaved_with_primary_video_tracks.mp4");
|
"media/mp4/sample_with_fake_auxiliary_tracks_interleaved_with_primary_video_tracks.mp4");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void mp4SampleWithEmptyNalu() throws Exception {
|
||||||
|
assertExtractorBehavior("media/mp4/sample_with_invalid_nalu.mp4");
|
||||||
|
}
|
||||||
|
|
||||||
private void assertExtractorBehavior(String file) throws IOException {
|
private void assertExtractorBehavior(String file) throws IOException {
|
||||||
ExtractorAsserts.AssertionConfig.Builder assertionConfigBuilder =
|
ExtractorAsserts.AssertionConfig.Builder assertionConfigBuilder =
|
||||||
new ExtractorAsserts.AssertionConfig.Builder();
|
new ExtractorAsserts.AssertionConfig.Builder();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 0
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 0
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 0
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 0
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 0
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 0
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 0
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 0
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 0
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 0
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 0
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 0
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 0
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 536870912
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 0
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 0
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 0
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 0
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 0
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 0
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 0
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 0
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 0
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 0
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 0
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 0
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 0
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 536870912
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 0
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 0
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 0
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 0
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 0
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 0
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 0
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 0
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 0
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 0
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 0
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 0
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 0
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 536870912
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 0
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 0
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 0
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 0
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 0
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 0
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 0
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 0
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 0
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 0
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 0
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 0
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 0
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 536870912
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 67108864
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 67108864
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 67108864
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 67108864
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 67108864
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 67108864
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 67108864
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 67108864
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 67108864
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 67108864
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 67108864
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 67108864
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 67108864
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 603979776
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 67108864
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 67108864
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 67108864
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 67108864
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 67108864
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 67108864
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 67108864
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 67108864
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 67108864
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 67108864
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 67108864
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 67108864
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 67108864
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 603979776
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 67108864
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 67108864
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 67108864
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 67108864
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 67108864
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 67108864
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 67108864
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 67108864
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 67108864
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 67108864
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 67108864
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 67108864
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 67108864
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 603979776
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 67108864
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 67108864
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 67108864
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 67108864
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 67108864
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 67108864
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 67108864
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 67108864
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 67108864
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 67108864
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 67108864
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 67108864
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 67108864
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 603979776
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 67108864
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 67108864
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 67108864
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 67108864
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 67108864
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 67108864
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 67108864
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 67108864
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 67108864
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 67108864
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 67108864
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 67108864
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 67108864
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 603979776
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1001000
|
||||||
|
getPosition(0) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(500500) = [[timeUs=0, position=1266]]
|
||||||
|
getPosition(1001000) = [[timeUs=0, position=1266]]
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
total output bytes = 89876
|
||||||
|
sample count = 30
|
||||||
|
track duration = 1001000
|
||||||
|
format 0:
|
||||||
|
id = 1
|
||||||
|
containerMimeType = video/mp4
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001F
|
||||||
|
maxInputSize = 36722
|
||||||
|
maxNumReorderSamples = 2
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = 29.97
|
||||||
|
colorInfo:
|
||||||
|
lumaBitdepth = 8
|
||||||
|
chromaBitdepth = 8
|
||||||
|
metadata = entries=[TSSE: description=null: values=[Lavf60.16.100], Mp4Timestamp: creation time=0, modification time=0, timescale=1000]
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4746B5D9
|
||||||
|
data = length 10, hash 7A0D0F2B
|
||||||
|
sample 0:
|
||||||
|
time = 0
|
||||||
|
flags = 1
|
||||||
|
data = length 36692, hash D216076E
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 5312, hash D45D3CA0
|
||||||
|
sample 2:
|
||||||
|
time = 33366
|
||||||
|
flags = 0
|
||||||
|
data = length 599, hash 1BE7812D
|
||||||
|
sample 3:
|
||||||
|
time = 200200
|
||||||
|
flags = 0
|
||||||
|
data = length 7735, hash 4490F110
|
||||||
|
sample 4:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 987, hash 560B5036
|
||||||
|
sample 5:
|
||||||
|
time = 100100
|
||||||
|
flags = 0
|
||||||
|
data = length 673, hash ED7CD8C7
|
||||||
|
sample 6:
|
||||||
|
time = 166833
|
||||||
|
flags = 0
|
||||||
|
data = length 523, hash 3020DF50
|
||||||
|
sample 7:
|
||||||
|
time = 333666
|
||||||
|
flags = 0
|
||||||
|
data = length 6061, hash 736C72B2
|
||||||
|
sample 8:
|
||||||
|
time = 266933
|
||||||
|
flags = 0
|
||||||
|
data = length 992, hash FE132F23
|
||||||
|
sample 9:
|
||||||
|
time = 233566
|
||||||
|
flags = 0
|
||||||
|
data = length 623, hash 5B2C1816
|
||||||
|
sample 10:
|
||||||
|
time = 300300
|
||||||
|
flags = 0
|
||||||
|
data = length 421, hash 742E69C1
|
||||||
|
sample 11:
|
||||||
|
time = 433766
|
||||||
|
flags = 0
|
||||||
|
data = length 4899, hash F72F86A1
|
||||||
|
sample 12:
|
||||||
|
time = 400400
|
||||||
|
flags = 0
|
||||||
|
data = length 568, hash 519A8E50
|
||||||
|
sample 13:
|
||||||
|
time = 367033
|
||||||
|
flags = 0
|
||||||
|
data = length 620, hash 3990AA39
|
||||||
|
sample 14:
|
||||||
|
time = 567233
|
||||||
|
flags = 0
|
||||||
|
data = length 5450, hash F06EC4AA
|
||||||
|
sample 15:
|
||||||
|
time = 500500
|
||||||
|
flags = 0
|
||||||
|
data = length 1051, hash 92DFA63A
|
||||||
|
sample 16:
|
||||||
|
time = 467133
|
||||||
|
flags = 0
|
||||||
|
data = length 874, hash 69587FB4
|
||||||
|
sample 17:
|
||||||
|
time = 533866
|
||||||
|
flags = 0
|
||||||
|
data = length 781, hash 36BE495B
|
||||||
|
sample 18:
|
||||||
|
time = 700700
|
||||||
|
flags = 0
|
||||||
|
data = length 4725, hash AC0C8CD3
|
||||||
|
sample 19:
|
||||||
|
time = 633966
|
||||||
|
flags = 0
|
||||||
|
data = length 1022, hash 5D8BFF34
|
||||||
|
sample 20:
|
||||||
|
time = 600600
|
||||||
|
flags = 0
|
||||||
|
data = length 790, hash 99413A99
|
||||||
|
sample 21:
|
||||||
|
time = 667333
|
||||||
|
flags = 0
|
||||||
|
data = length 610, hash 5E129290
|
||||||
|
sample 22:
|
||||||
|
time = 834166
|
||||||
|
flags = 0
|
||||||
|
data = length 2751, hash 769974CB
|
||||||
|
sample 23:
|
||||||
|
time = 767433
|
||||||
|
flags = 0
|
||||||
|
data = length 745, hash B78A477A
|
||||||
|
sample 24:
|
||||||
|
time = 734066
|
||||||
|
flags = 0
|
||||||
|
data = length 621, hash CF741E7A
|
||||||
|
sample 25:
|
||||||
|
time = 800800
|
||||||
|
flags = 0
|
||||||
|
data = length 505, hash 1DB4894E
|
||||||
|
sample 26:
|
||||||
|
time = 967633
|
||||||
|
flags = 0
|
||||||
|
data = length 1268, hash C15348DC
|
||||||
|
sample 27:
|
||||||
|
time = 900900
|
||||||
|
flags = 0
|
||||||
|
data = length 880, hash C2DE85D0
|
||||||
|
sample 28:
|
||||||
|
time = 867533
|
||||||
|
flags = 0
|
||||||
|
data = length 530, hash C9641EB0
|
||||||
|
sample 29:
|
||||||
|
time = 934266
|
||||||
|
flags = 536870912
|
||||||
|
data = length 568, hash 4FE5C8EA
|
||||||
|
tracksEnded = true
|
||||||
Binary file not shown.
Loading…
Reference in a new issue