mkvextract+mkvmerge on variable frame rate stream: dead end for non-experts
Original reporter: rstarkov
I'm not entirely sure whether the summary is entirely correct, but the symptoms are as follows: mkvmerge'ing an H.264 stream that was mkvextract'ed from an MKV produced by Handbrake produces an unplayable MKV file.
- Grab a random video and encode it using Handbrake. Settings: MKV, video codec x264, everything else doesn't matter (can optionally remove audio)
- mkvextract tracks handbrake.mkv 0:handbrake.h264
- mkvmerge -o handbrake-broken.mkv ( handbrake.h264 )
The resulting file, "handbrake-broken.mkv", is not playable by VLC 2.0.5, nor by a DirectShow codec I have installed (didn't check which one it is)
Note that the original file, handbrake.mkv, is playable by VLC 2.0.5, moreover mkvalidator finds nothing wrong with it. But then it also doesn't find anything wrong with "handbrake-broken.mkv", although it does issue a few more warnings.
This could, of course, be a bug in Handbrake, but the point is that the Handbrake video is playable by VLC, and only becomes unplayable after remuxing it via mkvextract: remuxing using mkvmerge alone doesn't break it.