mirror of
https://github.com/samsonjs/media.git
synced 2026-03-25 09:25:53 +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,38 +894,48 @@ public final class Mp4Extractor implements Extractor, SeekMap {
|
|||
nalPrefixData[0] = 0;
|
||||
nalPrefixData[1] = 0;
|
||||
nalPrefixData[2] = 0;
|
||||
int nalUnitPrefixLength = track.track.nalUnitLengthFieldLength + 1;
|
||||
int nalUnitLengthFieldLengthDiff = 4 - track.track.nalUnitLengthFieldLength;
|
||||
// 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
|
||||
// start codes as we encounter them.
|
||||
while (sampleBytesWritten < sampleSize) {
|
||||
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.
|
||||
// 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);
|
||||
sampleBytesRead += nalUnitPrefixLength;
|
||||
nalPrefix.setPosition(0);
|
||||
int nalLengthInt = nalPrefix.readInt();
|
||||
if (nalLengthInt < 1) {
|
||||
if (nalLengthInt < 0) {
|
||||
throw ParserException.createForMalformedContainer(
|
||||
"Invalid NAL length", /* cause= */ null);
|
||||
}
|
||||
sampleCurrentNalBytesRemaining = nalLengthInt - 1;
|
||||
sampleCurrentNalBytesRemaining = nalLengthInt - (readNalType ? 1 : 0);
|
||||
// Write a start code for the current NAL unit.
|
||||
nalStartCode.setPosition(0);
|
||||
trackOutput.sampleData(nalStartCode, 4);
|
||||
// Write the NAL unit type byte.
|
||||
trackOutput.sampleData(nalPrefix, 1);
|
||||
sampleBytesWritten += 5;
|
||||
sampleBytesWritten += 4;
|
||||
sampleSize += nalUnitLengthFieldLengthDiff;
|
||||
// If any NAL unit that's part of this sample can be depended on, treat the entire sample
|
||||
// as depended on.
|
||||
if (!isSampleDependedOn && NalUnitUtil.isH264NalUnitDependedOn(nalPrefixData[4])) {
|
||||
isSampleDependedOn = true;
|
||||
if (readNalType) {
|
||||
// Write the NAL unit type byte.
|
||||
trackOutput.sampleData(nalPrefix, 1);
|
||||
sampleBytesWritten += 1;
|
||||
// If any NAL unit that's part of this sample can be depended on, treat the entire
|
||||
// sample as depended on.
|
||||
if (NalUnitUtil.isH264NalUnitDependedOn(nalPrefixData[4])) {
|
||||
isSampleDependedOn = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Write the payload of the NAL unit.
|
||||
|
|
|
|||
|
|
@ -239,6 +239,11 @@ public final class Mp4ExtractorParameterizedTest {
|
|||
"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 {
|
||||
ExtractorAsserts.AssertionConfig.Builder assertionConfigBuilder =
|
||||
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