mkvmerge's output file does not start at timestamp zero
Created by: stenyak
I'm unsure if this is the expected behaviour or a bug. If it's a bug, let me know where to privately send the source videos for you to replicate.
The command line used is the following:
mkvmerge --cluster-length 1 --split timecodes:00:00:00.799500000 -o output%01d.mkv source1.mkv + source2.mkv
The source files have the following mkvinfo -s output:
source1.mkv
Track 1: video, codec ID: V_MPEG4/ISO/AVC (h.264 profile: Main @L4.1), mkvmerge/mkvextract track ID: 0, pixel width: 1920, pixel height: 1080
I frame, track 1, timecode 0 (00:00:00.000), size 128092, adler 0x7a590d5b
I frame, track 1, timecode 200 (00:00:00.200), size 128284, adler 0x546181d6
I frame, track 1, timecode 800 (00:00:00.800), size 128234, adler 0x3b6e8413
P frame, track 1, timecode 841 (00:00:00.840), size 15134, adler 0xedbf5f07
P frame, track 1, timecode 880 (00:00:00.880), size 15694, adler 0xa60d90b1
P frame, track 1, timecode 960 (00:00:00.960), size 18883, adler 0x520e96ae
P frame, track 1, timecode 1000 (00:00:01.000), size 14697, adler 0xc95db9e5
[...]
source2.mkv
Track 1: video, codec ID: V_MPEG4/ISO/AVC (h.264 profile: Main @L4.1), mkvmerge/mkvextract track ID: 0, pixel width: 1920, pixel height: 1080
I frame, track 1, timecode 0 (00:00:00.000), size 128569, adler 0x4df72512
P frame, track 1, timecode 41 (00:00:00.041), size 15402, adler 0x394118c8
P frame, track 1, timecode 121 (00:00:00.121), size 20184, adler 0x41fc2f78
P frame, track 1, timecode 161 (00:00:00.161), size 15733, adler 0xc3aabb0e
P frame, track 1, timecode 201 (00:00:00.201), size 15105, adler 0x20ab62e5
P frame, track 1, timecode 241 (00:00:00.241), size 15002, adler 0xf06b25e8
P frame, track 1, timecode 321 (00:00:00.321), size 17854, adler 0x074b9ab4
P frame, track 1, timecode 361 (00:00:00.361), size 14762, adler 0x632f9d17
P frame, track 1, timecode 401 (00:00:00.401), size 14488, adler 0xfabd65d1
[end]
Now, the split point was 0.799500000s into source1. This means the first output file should have 2 frames, and the second output file will have all the rest of frames. Inspecting with mkvinfo the two output files, effectively we have:
output1.mkv
Track 1: video, codec ID: V_MPEG4/ISO/AVC (h.264 profile: Main @L4.1), mkvmerge/mkvextract track ID: 0, pixel width: 1920, pixel height: 1080, display width: 1920, display height: 1080
I frame, track 1, timecode 0 (00:00:00.000), size 128092, adler 0x7a590d5b
I frame, track 1, timecode 200 (00:00:00.200), size 128284, adler 0x546181d6
[end]
output2.mkv
Track 1: video, codec ID: V_MPEG4/ISO/AVC (h.264 profile: Main @L4.1), mkvmerge/mkvextract track ID: 0, pixel width: 1920, pixel height: 1080, display width: 1920, display height: 1080
I frame, track 1, timecode 600 (00:00:00.600), size 128234, adler 0x3b6e8413
P frame, track 1, timecode 640 (00:00:00.640), size 15134, adler 0xedbf5f07
P frame, track 1, timecode 680 (00:00:00.680), size 15694, adler 0xa60d90b1
P frame, track 1, timecode 760 (00:00:00.760), size 18883, adler 0x520e96ae
P frame, track 1, timecode 800 (00:00:00.800), size 14697, adler 0xc95db9e5
P frame, track 1, timecode 881 (00:00:00.881), size 17014, adler 0xc077092a
[...]
Checking the adler checksums, mkvmerge has split the source files exactly where I wanted them to split. However, looking at the second output file, you can notice that the first frame starts at 600ms (which happens to be 800ms - 200ms, the timecodes of the 2nd and 3rd frame of source1.mkv!).
Instead, I was expecting each of the output files to start at timecode 0ms. Is that a bug, or a feature? If it's a feature, can I disable it, and have all output files start at timecode zero?
Thanks in advance!