Playback does not work VLC cannot seek mkvmerge v5.9.0

Moritz Bunkus edited this page Feb 24, 2016 · 2 revisions
Clone this wiki locally

Playback does not work at all or seeking does not work with files created by mkvmerge 5.9.0

The problem

Two symptons:

  1. A player (mostly hardware devices like DVD or BluRay players) cannot play back a file muxed with mkvmerge 5.9.0 and later.
  2. VLC cannot seek properly (or not at all) anymore with files created by mkvmerge 5.9.0 and later.

In both cases muxing with 5.8.0 fixes the issue.

Reason and solution

This is a bug in your player VLC and not in mkvmerge. For both symptoms tt can be circumvented when creating the file with mkvmerge, and for VLC there's even a runtime option you can change in order to fix playback.

Starting with v5.9.0 mkvmerge writes two new elements that have recently been added to the Matroska specification: CueDuration and CueRelativePosition. While CueDuration is only written when a block's duration does not equal its default duration (e.g. with subtitles), CueRelativePosition is always written.

Unfortunately VLC and several other hardware players do not skip unknown elements by default. In VLC you can turn it on in VLC's preferences (the option is called "Dummy elements"). This causes VLC to abort reading the file at the very start of the cues resulting in not being able to seek (properly) in such a file.

Rationale for adding those two elements was actually to improve seeking in files by providing players exact locations where to seek to. The rationale is explained in two threads on the Matroska devel mailing list: for CueDuration and CueRelativePosition.

Workaround during playback with VLC

Turning on "Dummy elements" fixes this immediately; now seeking works as it has before. You can do that in VLC here see screenshot): Tools -> Preferences -> "Show settings: all" at the bottom left; In the tree on the left side: !Input/Codecs -> Matroska; make sure "Dummy elements" is turned on.

Two tickets have been opened in VLC's bug tracker for this issue: 7884 and 7887.

Workaround with mkvmerge until player is fixed

You can prevent mkvmerge from writing these elements in the first place. This will make the file layout identical to the one written by 5.8.0. See the corresponding FAQ entry.

Categories: playback