Fix handling of length-delimited NAL units with 1 or 2 byte length

ExoPlayer assumed 4-bytes for length in two places (by assuming the
length is the same as the 4-byte NAL start code):

1. In `AvcConfig` we transform length-delimited to start-delimited
   before writing into `initializationData`, and then skip
   'nal unit length field' bytes when parsing from `initializationData`
   (when we should skip 'start code length' bytes instead).

2. In `Mp4Extractor.readSample` we modify the local variable
   `sampleSize` to fix the difference between length field length and
   start code length, but **only on the first attempt to read a
   sample**. If we are resuming in the middle of reading a sample (after
   a recoverable I/O error), this fix for `sampleSize` is not done,
   which means we end up missing the last 2-3 bytes of the sample when
   the NAL length is 1-2 bytes.
     * This is fixed by moving the `sampleSize` 'fixing' code to outside
       the `if (sampleCurrentNalBytesRemaining == 0)` block.
     * `FragmentedMp4Extractor` has very similar code, but uses a
       field for `sampleSize`, rather than a local, so doesn't look
       vulnerable to the same problem (though I haven't totally
       tested this).

This change adds a test file with 2-byte NAL lengths, generated by
hacking the media3 muxer to emit 2-byte NAL lengths and transforming
`sample.mp4` using the transformer demo app.

PiperOrigin-RevId: 713709203
This commit is contained in:
ibaker 2025-01-09 10:02:22 -08:00 committed by Copybara-Service
parent 64462b99fc
commit d0b757886e
15 changed files with 2838 additions and 2 deletions

View File

@ -22,6 +22,8 @@
`Transformer.Builder.setUsePlatformDiagnostics(false)`.
* Track Selection:
* Extractors:
* Fix handling of NAL units with lengths expressed in 1 or 2 bytes (rather
than 4).
* DataSource:
* Audio:
* Do not bypass `SonicAudioProcessor` when `SpeedChangingAudioProcessor`

View File

@ -71,7 +71,7 @@ public final class AvcConfig {
byte[] sps = initializationData.get(0);
SpsData spsData =
NalUnitUtil.parseSpsNalUnit(
initializationData.get(0), nalUnitLengthFieldLength, sps.length);
initializationData.get(0), NalUnitUtil.NAL_START_CODE.length, sps.length);
width = spsData.width;
height = spsData.height;
bitdepthLuma = spsData.bitDepthLumaMinus8 + 8;

View File

@ -893,6 +893,7 @@ public final class Mp4Extractor implements Extractor, SeekMap {
nalPrefixData[1] = 0;
nalPrefixData[2] = 0;
int nalUnitLengthFieldLengthDiff = 4 - track.track.nalUnitLengthFieldLength;
sampleSize += nalUnitLengthFieldLengthDiff;
// 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.
@ -928,7 +929,6 @@ public final class Mp4Extractor implements Extractor, SeekMap {
nalStartCode.setPosition(0);
trackOutput.sampleData(nalStartCode, 4);
sampleBytesWritten += 4;
sampleSize += nalUnitLengthFieldLengthDiff;
if (numberOfBytesToDetermineSampleDependencies > 0) {
// Write the first NAL unit bytes that were read.
trackOutput.sampleData(nalPrefix, numberOfBytesToDetermineSampleDependencies);

View File

@ -249,6 +249,12 @@ public final class Mp4ExtractorParameterizedTest {
assertExtractorBehavior("media/mp4/h265_bframes.mp4");
}
// b/386847142
@Test
public void mp4SampleWithTwoByteNalLength() throws Exception {
assertExtractorBehavior("media/mp4/sample_2_byte_NAL_length.mp4");
}
private void assertExtractorBehavior(String file) throws IOException {
ExtractorAsserts.AssertionConfig.Builder assertionConfigBuilder =
new ExtractorAsserts.AssertionConfig.Builder();

View File

@ -0,0 +1,350 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 536870912
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 9529
sample count = 45
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 44000
flags = 1
data = length 23, hash 47DE9131
sample 1:
time = 67229
flags = 1
data = length 6, hash 31EC5206
sample 2:
time = 90458
flags = 1
data = length 148, hash 894A176B
sample 3:
time = 113687
flags = 1
data = length 189, hash CEF235A1
sample 4:
time = 136916
flags = 1
data = length 205, hash BBF5F7B0
sample 5:
time = 160145
flags = 1
data = length 210, hash F278B193
sample 6:
time = 183375
flags = 1
data = length 210, hash 82DA1589
sample 7:
time = 206604
flags = 1
data = length 207, hash 5BE231DF
sample 8:
time = 229833
flags = 1
data = length 225, hash 18819EE1
sample 9:
time = 253062
flags = 1
data = length 215, hash CA7FA67B
sample 10:
time = 276291
flags = 1
data = length 211, hash 581A1C18
sample 11:
time = 299520
flags = 1
data = length 216, hash ADB88187
sample 12:
time = 322750
flags = 1
data = length 229, hash 2E8BA4DC
sample 13:
time = 345979
flags = 1
data = length 232, hash 22F0C510
sample 14:
time = 369208
flags = 1
data = length 235, hash 867AD0DC
sample 15:
time = 392437
flags = 1
data = length 231, hash 84E823A8
sample 16:
time = 415666
flags = 1
data = length 226, hash 1BEF3A95
sample 17:
time = 438895
flags = 1
data = length 216, hash EAA345AE
sample 18:
time = 462125
flags = 1
data = length 229, hash 6957411F
sample 19:
time = 485354
flags = 1
data = length 219, hash 41275022
sample 20:
time = 508583
flags = 1
data = length 241, hash 6495DF96
sample 21:
time = 531812
flags = 1
data = length 228, hash 63D95906
sample 22:
time = 555041
flags = 1
data = length 238, hash 34F676F9
sample 23:
time = 578270
flags = 1
data = length 234, hash E5CBC045
sample 24:
time = 601500
flags = 1
data = length 231, hash 5FC43661
sample 25:
time = 624729
flags = 1
data = length 217, hash 682708ED
sample 26:
time = 647958
flags = 1
data = length 239, hash D43780FC
sample 27:
time = 671187
flags = 1
data = length 243, hash C5E17980
sample 28:
time = 694416
flags = 1
data = length 231, hash AC5837BA
sample 29:
time = 717645
flags = 1
data = length 230, hash 169EE895
sample 30:
time = 740875
flags = 1
data = length 238, hash C48FF3F1
sample 31:
time = 764104
flags = 1
data = length 225, hash 531E4599
sample 32:
time = 787333
flags = 1
data = length 232, hash CB3C6B8D
sample 33:
time = 810562
flags = 1
data = length 243, hash F8C94C7
sample 34:
time = 833791
flags = 1
data = length 232, hash A646A7D0
sample 35:
time = 857020
flags = 1
data = length 237, hash E8B787A5
sample 36:
time = 880250
flags = 1
data = length 228, hash 3FA7A29F
sample 37:
time = 903479
flags = 1
data = length 235, hash B9B33B0A
sample 38:
time = 926708
flags = 1
data = length 264, hash 71A4869E
sample 39:
time = 949937
flags = 1
data = length 257, hash D049B54C
sample 40:
time = 973166
flags = 1
data = length 227, hash 66757231
sample 41:
time = 996395
flags = 1
data = length 227, hash BD374F1B
sample 42:
time = 1019625
flags = 1
data = length 235, hash 999477F6
sample 43:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 44:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,298 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 536870912
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 7235
sample count = 32
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 345979
flags = 1
data = length 232, hash 22F0C510
sample 1:
time = 369208
flags = 1
data = length 235, hash 867AD0DC
sample 2:
time = 392437
flags = 1
data = length 231, hash 84E823A8
sample 3:
time = 415666
flags = 1
data = length 226, hash 1BEF3A95
sample 4:
time = 438895
flags = 1
data = length 216, hash EAA345AE
sample 5:
time = 462125
flags = 1
data = length 229, hash 6957411F
sample 6:
time = 485354
flags = 1
data = length 219, hash 41275022
sample 7:
time = 508583
flags = 1
data = length 241, hash 6495DF96
sample 8:
time = 531812
flags = 1
data = length 228, hash 63D95906
sample 9:
time = 555041
flags = 1
data = length 238, hash 34F676F9
sample 10:
time = 578270
flags = 1
data = length 234, hash E5CBC045
sample 11:
time = 601500
flags = 1
data = length 231, hash 5FC43661
sample 12:
time = 624729
flags = 1
data = length 217, hash 682708ED
sample 13:
time = 647958
flags = 1
data = length 239, hash D43780FC
sample 14:
time = 671187
flags = 1
data = length 243, hash C5E17980
sample 15:
time = 694416
flags = 1
data = length 231, hash AC5837BA
sample 16:
time = 717645
flags = 1
data = length 230, hash 169EE895
sample 17:
time = 740875
flags = 1
data = length 238, hash C48FF3F1
sample 18:
time = 764104
flags = 1
data = length 225, hash 531E4599
sample 19:
time = 787333
flags = 1
data = length 232, hash CB3C6B8D
sample 20:
time = 810562
flags = 1
data = length 243, hash F8C94C7
sample 21:
time = 833791
flags = 1
data = length 232, hash A646A7D0
sample 22:
time = 857020
flags = 1
data = length 237, hash E8B787A5
sample 23:
time = 880250
flags = 1
data = length 228, hash 3FA7A29F
sample 24:
time = 903479
flags = 1
data = length 235, hash B9B33B0A
sample 25:
time = 926708
flags = 1
data = length 264, hash 71A4869E
sample 26:
time = 949937
flags = 1
data = length 257, hash D049B54C
sample 27:
time = 973166
flags = 1
data = length 227, hash 66757231
sample 28:
time = 996395
flags = 1
data = length 227, hash BD374F1B
sample 29:
time = 1019625
flags = 1
data = length 235, hash 999477F6
sample 30:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 31:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,238 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 536870912
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 3776
sample count = 17
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 694416
flags = 1
data = length 231, hash AC5837BA
sample 1:
time = 717645
flags = 1
data = length 230, hash 169EE895
sample 2:
time = 740875
flags = 1
data = length 238, hash C48FF3F1
sample 3:
time = 764104
flags = 1
data = length 225, hash 531E4599
sample 4:
time = 787333
flags = 1
data = length 232, hash CB3C6B8D
sample 5:
time = 810562
flags = 1
data = length 243, hash F8C94C7
sample 6:
time = 833791
flags = 1
data = length 232, hash A646A7D0
sample 7:
time = 857020
flags = 1
data = length 237, hash E8B787A5
sample 8:
time = 880250
flags = 1
data = length 228, hash 3FA7A29F
sample 9:
time = 903479
flags = 1
data = length 235, hash B9B33B0A
sample 10:
time = 926708
flags = 1
data = length 264, hash 71A4869E
sample 11:
time = 949937
flags = 1
data = length 257, hash D049B54C
sample 12:
time = 973166
flags = 1
data = length 227, hash 66757231
sample 13:
time = 996395
flags = 1
data = length 227, hash BD374F1B
sample 14:
time = 1019625
flags = 1
data = length 235, hash 999477F6
sample 15:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 16:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,178 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 536870912
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 235
sample count = 2
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 1:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,350 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 603979776
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 9529
sample count = 45
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 44000
flags = 1
data = length 23, hash 47DE9131
sample 1:
time = 67229
flags = 1
data = length 6, hash 31EC5206
sample 2:
time = 90458
flags = 1
data = length 148, hash 894A176B
sample 3:
time = 113687
flags = 1
data = length 189, hash CEF235A1
sample 4:
time = 136916
flags = 1
data = length 205, hash BBF5F7B0
sample 5:
time = 160145
flags = 1
data = length 210, hash F278B193
sample 6:
time = 183375
flags = 1
data = length 210, hash 82DA1589
sample 7:
time = 206604
flags = 1
data = length 207, hash 5BE231DF
sample 8:
time = 229833
flags = 1
data = length 225, hash 18819EE1
sample 9:
time = 253062
flags = 1
data = length 215, hash CA7FA67B
sample 10:
time = 276291
flags = 1
data = length 211, hash 581A1C18
sample 11:
time = 299520
flags = 1
data = length 216, hash ADB88187
sample 12:
time = 322750
flags = 1
data = length 229, hash 2E8BA4DC
sample 13:
time = 345979
flags = 1
data = length 232, hash 22F0C510
sample 14:
time = 369208
flags = 1
data = length 235, hash 867AD0DC
sample 15:
time = 392437
flags = 1
data = length 231, hash 84E823A8
sample 16:
time = 415666
flags = 1
data = length 226, hash 1BEF3A95
sample 17:
time = 438895
flags = 1
data = length 216, hash EAA345AE
sample 18:
time = 462125
flags = 1
data = length 229, hash 6957411F
sample 19:
time = 485354
flags = 1
data = length 219, hash 41275022
sample 20:
time = 508583
flags = 1
data = length 241, hash 6495DF96
sample 21:
time = 531812
flags = 1
data = length 228, hash 63D95906
sample 22:
time = 555041
flags = 1
data = length 238, hash 34F676F9
sample 23:
time = 578270
flags = 1
data = length 234, hash E5CBC045
sample 24:
time = 601500
flags = 1
data = length 231, hash 5FC43661
sample 25:
time = 624729
flags = 1
data = length 217, hash 682708ED
sample 26:
time = 647958
flags = 1
data = length 239, hash D43780FC
sample 27:
time = 671187
flags = 1
data = length 243, hash C5E17980
sample 28:
time = 694416
flags = 1
data = length 231, hash AC5837BA
sample 29:
time = 717645
flags = 1
data = length 230, hash 169EE895
sample 30:
time = 740875
flags = 1
data = length 238, hash C48FF3F1
sample 31:
time = 764104
flags = 1
data = length 225, hash 531E4599
sample 32:
time = 787333
flags = 1
data = length 232, hash CB3C6B8D
sample 33:
time = 810562
flags = 1
data = length 243, hash F8C94C7
sample 34:
time = 833791
flags = 1
data = length 232, hash A646A7D0
sample 35:
time = 857020
flags = 1
data = length 237, hash E8B787A5
sample 36:
time = 880250
flags = 1
data = length 228, hash 3FA7A29F
sample 37:
time = 903479
flags = 1
data = length 235, hash B9B33B0A
sample 38:
time = 926708
flags = 1
data = length 264, hash 71A4869E
sample 39:
time = 949937
flags = 1
data = length 257, hash D049B54C
sample 40:
time = 973166
flags = 1
data = length 227, hash 66757231
sample 41:
time = 996395
flags = 1
data = length 227, hash BD374F1B
sample 42:
time = 1019625
flags = 1
data = length 235, hash 999477F6
sample 43:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 44:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,298 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 603979776
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 7235
sample count = 32
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 345979
flags = 1
data = length 232, hash 22F0C510
sample 1:
time = 369208
flags = 1
data = length 235, hash 867AD0DC
sample 2:
time = 392437
flags = 1
data = length 231, hash 84E823A8
sample 3:
time = 415666
flags = 1
data = length 226, hash 1BEF3A95
sample 4:
time = 438895
flags = 1
data = length 216, hash EAA345AE
sample 5:
time = 462125
flags = 1
data = length 229, hash 6957411F
sample 6:
time = 485354
flags = 1
data = length 219, hash 41275022
sample 7:
time = 508583
flags = 1
data = length 241, hash 6495DF96
sample 8:
time = 531812
flags = 1
data = length 228, hash 63D95906
sample 9:
time = 555041
flags = 1
data = length 238, hash 34F676F9
sample 10:
time = 578270
flags = 1
data = length 234, hash E5CBC045
sample 11:
time = 601500
flags = 1
data = length 231, hash 5FC43661
sample 12:
time = 624729
flags = 1
data = length 217, hash 682708ED
sample 13:
time = 647958
flags = 1
data = length 239, hash D43780FC
sample 14:
time = 671187
flags = 1
data = length 243, hash C5E17980
sample 15:
time = 694416
flags = 1
data = length 231, hash AC5837BA
sample 16:
time = 717645
flags = 1
data = length 230, hash 169EE895
sample 17:
time = 740875
flags = 1
data = length 238, hash C48FF3F1
sample 18:
time = 764104
flags = 1
data = length 225, hash 531E4599
sample 19:
time = 787333
flags = 1
data = length 232, hash CB3C6B8D
sample 20:
time = 810562
flags = 1
data = length 243, hash F8C94C7
sample 21:
time = 833791
flags = 1
data = length 232, hash A646A7D0
sample 22:
time = 857020
flags = 1
data = length 237, hash E8B787A5
sample 23:
time = 880250
flags = 1
data = length 228, hash 3FA7A29F
sample 24:
time = 903479
flags = 1
data = length 235, hash B9B33B0A
sample 25:
time = 926708
flags = 1
data = length 264, hash 71A4869E
sample 26:
time = 949937
flags = 1
data = length 257, hash D049B54C
sample 27:
time = 973166
flags = 1
data = length 227, hash 66757231
sample 28:
time = 996395
flags = 1
data = length 227, hash BD374F1B
sample 29:
time = 1019625
flags = 1
data = length 235, hash 999477F6
sample 30:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 31:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,238 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 603979776
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 3776
sample count = 17
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 694416
flags = 1
data = length 231, hash AC5837BA
sample 1:
time = 717645
flags = 1
data = length 230, hash 169EE895
sample 2:
time = 740875
flags = 1
data = length 238, hash C48FF3F1
sample 3:
time = 764104
flags = 1
data = length 225, hash 531E4599
sample 4:
time = 787333
flags = 1
data = length 232, hash CB3C6B8D
sample 5:
time = 810562
flags = 1
data = length 243, hash F8C94C7
sample 6:
time = 833791
flags = 1
data = length 232, hash A646A7D0
sample 7:
time = 857020
flags = 1
data = length 237, hash E8B787A5
sample 8:
time = 880250
flags = 1
data = length 228, hash 3FA7A29F
sample 9:
time = 903479
flags = 1
data = length 235, hash B9B33B0A
sample 10:
time = 926708
flags = 1
data = length 264, hash 71A4869E
sample 11:
time = 949937
flags = 1
data = length 257, hash D049B54C
sample 12:
time = 973166
flags = 1
data = length 227, hash 66757231
sample 13:
time = 996395
flags = 1
data = length 227, hash BD374F1B
sample 14:
time = 1019625
flags = 1
data = length 235, hash 999477F6
sample 15:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 16:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,178 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 603979776
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 235
sample count = 2
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 1:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,350 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 603979776
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 9529
sample count = 45
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 44000
flags = 1
data = length 23, hash 47DE9131
sample 1:
time = 67229
flags = 1
data = length 6, hash 31EC5206
sample 2:
time = 90458
flags = 1
data = length 148, hash 894A176B
sample 3:
time = 113687
flags = 1
data = length 189, hash CEF235A1
sample 4:
time = 136916
flags = 1
data = length 205, hash BBF5F7B0
sample 5:
time = 160145
flags = 1
data = length 210, hash F278B193
sample 6:
time = 183375
flags = 1
data = length 210, hash 82DA1589
sample 7:
time = 206604
flags = 1
data = length 207, hash 5BE231DF
sample 8:
time = 229833
flags = 1
data = length 225, hash 18819EE1
sample 9:
time = 253062
flags = 1
data = length 215, hash CA7FA67B
sample 10:
time = 276291
flags = 1
data = length 211, hash 581A1C18
sample 11:
time = 299520
flags = 1
data = length 216, hash ADB88187
sample 12:
time = 322750
flags = 1
data = length 229, hash 2E8BA4DC
sample 13:
time = 345979
flags = 1
data = length 232, hash 22F0C510
sample 14:
time = 369208
flags = 1
data = length 235, hash 867AD0DC
sample 15:
time = 392437
flags = 1
data = length 231, hash 84E823A8
sample 16:
time = 415666
flags = 1
data = length 226, hash 1BEF3A95
sample 17:
time = 438895
flags = 1
data = length 216, hash EAA345AE
sample 18:
time = 462125
flags = 1
data = length 229, hash 6957411F
sample 19:
time = 485354
flags = 1
data = length 219, hash 41275022
sample 20:
time = 508583
flags = 1
data = length 241, hash 6495DF96
sample 21:
time = 531812
flags = 1
data = length 228, hash 63D95906
sample 22:
time = 555041
flags = 1
data = length 238, hash 34F676F9
sample 23:
time = 578270
flags = 1
data = length 234, hash E5CBC045
sample 24:
time = 601500
flags = 1
data = length 231, hash 5FC43661
sample 25:
time = 624729
flags = 1
data = length 217, hash 682708ED
sample 26:
time = 647958
flags = 1
data = length 239, hash D43780FC
sample 27:
time = 671187
flags = 1
data = length 243, hash C5E17980
sample 28:
time = 694416
flags = 1
data = length 231, hash AC5837BA
sample 29:
time = 717645
flags = 1
data = length 230, hash 169EE895
sample 30:
time = 740875
flags = 1
data = length 238, hash C48FF3F1
sample 31:
time = 764104
flags = 1
data = length 225, hash 531E4599
sample 32:
time = 787333
flags = 1
data = length 232, hash CB3C6B8D
sample 33:
time = 810562
flags = 1
data = length 243, hash F8C94C7
sample 34:
time = 833791
flags = 1
data = length 232, hash A646A7D0
sample 35:
time = 857020
flags = 1
data = length 237, hash E8B787A5
sample 36:
time = 880250
flags = 1
data = length 228, hash 3FA7A29F
sample 37:
time = 903479
flags = 1
data = length 235, hash B9B33B0A
sample 38:
time = 926708
flags = 1
data = length 264, hash 71A4869E
sample 39:
time = 949937
flags = 1
data = length 257, hash D049B54C
sample 40:
time = 973166
flags = 1
data = length 227, hash 66757231
sample 41:
time = 996395
flags = 1
data = length 227, hash BD374F1B
sample 42:
time = 1019625
flags = 1
data = length 235, hash 999477F6
sample 43:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 44:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true

View File

@ -0,0 +1,350 @@
seekMap:
isSeekable = true
duration = 1045300
getPosition(0) = [[timeUs=0, position=400052]]
getPosition(1) = [[timeUs=0, position=400052]]
getPosition(522650) = [[timeUs=0, position=400052]]
getPosition(1045300) = [[timeUs=0, position=400052]]
numberOfTracks = 2
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 = 36718
maxNumReorderSamples = 2
width = 1080
height = 720
frameRate = 29.97
colorInfo:
colorSpace = 1
colorRange = 2
colorTransfer = 3
lumaBitdepth = 8
chromaBitdepth = 8
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 29, hash 4746B5D9
data = length 10, hash 7A0D0F2B
sample 0:
time = 0
flags = 1
data = length 36690, hash 32D73AE
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 C98BC6A8
sample 29:
time = 934266
flags = 536870912
data = length 568, hash 4FE5C8EA
track 1:
total output bytes = 9529
sample count = 45
track duration = 1045300
format 0:
peakBitrate = 200000
id = 2
containerMimeType = video/mp4
sampleMimeType = audio/mp4a-latm
codecs = mp4a.40.2
maxInputSize = 294
channelCount = 1
sampleRate = 44100
language = und
metadata = entries=[xyz: latitude=40.68, longitude=-74.5, Mp4Timestamp: creation time=3547558895, modification time=3547558895, timescale=10000]
initializationData:
data = length 2, hash 5F7
sample 0:
time = 44000
flags = 1
data = length 23, hash 47DE9131
sample 1:
time = 67229
flags = 1
data = length 6, hash 31EC5206
sample 2:
time = 90458
flags = 1
data = length 148, hash 894A176B
sample 3:
time = 113687
flags = 1
data = length 189, hash CEF235A1
sample 4:
time = 136916
flags = 1
data = length 205, hash BBF5F7B0
sample 5:
time = 160145
flags = 1
data = length 210, hash F278B193
sample 6:
time = 183375
flags = 1
data = length 210, hash 82DA1589
sample 7:
time = 206604
flags = 1
data = length 207, hash 5BE231DF
sample 8:
time = 229833
flags = 1
data = length 225, hash 18819EE1
sample 9:
time = 253062
flags = 1
data = length 215, hash CA7FA67B
sample 10:
time = 276291
flags = 1
data = length 211, hash 581A1C18
sample 11:
time = 299520
flags = 1
data = length 216, hash ADB88187
sample 12:
time = 322750
flags = 1
data = length 229, hash 2E8BA4DC
sample 13:
time = 345979
flags = 1
data = length 232, hash 22F0C510
sample 14:
time = 369208
flags = 1
data = length 235, hash 867AD0DC
sample 15:
time = 392437
flags = 1
data = length 231, hash 84E823A8
sample 16:
time = 415666
flags = 1
data = length 226, hash 1BEF3A95
sample 17:
time = 438895
flags = 1
data = length 216, hash EAA345AE
sample 18:
time = 462125
flags = 1
data = length 229, hash 6957411F
sample 19:
time = 485354
flags = 1
data = length 219, hash 41275022
sample 20:
time = 508583
flags = 1
data = length 241, hash 6495DF96
sample 21:
time = 531812
flags = 1
data = length 228, hash 63D95906
sample 22:
time = 555041
flags = 1
data = length 238, hash 34F676F9
sample 23:
time = 578270
flags = 1
data = length 234, hash E5CBC045
sample 24:
time = 601500
flags = 1
data = length 231, hash 5FC43661
sample 25:
time = 624729
flags = 1
data = length 217, hash 682708ED
sample 26:
time = 647958
flags = 1
data = length 239, hash D43780FC
sample 27:
time = 671187
flags = 1
data = length 243, hash C5E17980
sample 28:
time = 694416
flags = 1
data = length 231, hash AC5837BA
sample 29:
time = 717645
flags = 1
data = length 230, hash 169EE895
sample 30:
time = 740875
flags = 1
data = length 238, hash C48FF3F1
sample 31:
time = 764104
flags = 1
data = length 225, hash 531E4599
sample 32:
time = 787333
flags = 1
data = length 232, hash CB3C6B8D
sample 33:
time = 810562
flags = 1
data = length 243, hash F8C94C7
sample 34:
time = 833791
flags = 1
data = length 232, hash A646A7D0
sample 35:
time = 857020
flags = 1
data = length 237, hash E8B787A5
sample 36:
time = 880250
flags = 1
data = length 228, hash 3FA7A29F
sample 37:
time = 903479
flags = 1
data = length 235, hash B9B33B0A
sample 38:
time = 926708
flags = 1
data = length 264, hash 71A4869E
sample 39:
time = 949937
flags = 1
data = length 257, hash D049B54C
sample 40:
time = 973166
flags = 1
data = length 227, hash 66757231
sample 41:
time = 996395
flags = 1
data = length 227, hash BD374F1B
sample 42:
time = 1019625
flags = 1
data = length 235, hash 999477F6
sample 43:
time = 1042854
flags = 1
data = length 229, hash FFF98DF0
sample 44:
time = 1066083
flags = 536870913
data = length 6, hash 31B22286
tracksEnded = true