Matroska-Org / foundation-source

libEBML2, libMatroska2, mkvalidator, mkclean and the specifications
55 stars 29 forks source link

mkvclean "Failed to write a Cluster" #38

Open rb07 opened 5 years ago

rb07 commented 5 years ago

Hi,

I use mkclean in most of my video files since my TV doesn't like (i.e. doesn't play) non-standard mkv. Don't really know what standard it supports but the result of mkclean is usually enough.

Once in a while I get lots of "Failed to write a Cluster at the required position", where the actual positions shown has a difference of one.

The result when this happens is usually unplayable. Some times it plays but can't be seeked (i.e. move forward, or backward, or start at any given position other than the beginning).

Any idea what could be causing this?

Any idea about how to fix it?

I'm willing to build a debug version and run mkclean under gdb.


My actual command is:

mkclean --quiet --optimize --keep-cues --unsafe "$NEW_FILE"

I have tried other options, w/o --keep-cues, --remux, with the same result.

mkclean v0.8.10

rb07 commented 5 years ago

The problem seems to be in the parameters I've been using.

Here's a test with a file that fails my normal cleaning, but works with no parameters (the 3 streams are video, audio, and subtitles):

$ mkclean A.mkv
Progress 1/3: 100%
Generating Cues from scratch
Progress 2/3: 100%
The TransferCharacteristics element at 470 is not part of profile 'matroska v2', skipping
The Primaries element at 478 is not part of profile 'matroska v2', skipping
The Range element at 482 is not part of profile 'matroska v2', skipping
The ChromaSitingHorz element at 486 is not part of profile 'matroska v2', skipping
The ChromaSitingVert element at 490 is not part of profile 'matroska v2', skipping
The Colour element at 467 is not part of profile 'matroska v2', skipping
The FieldOrder element at -1 is not part of profile 'matroska v2', skipping
The SeekPreRoll element at -1 is not part of profile 'matroska v2', skipping
The SeekPreRoll element at -1 is not part of profile 'matroska v2', skipping
The SeekPreRoll element at -1 is not part of profile 'matroska v2', skipping
Progress 3/3: 100%
Finished cleaning & optimizing "clean.A.mkv"
mkver commented 5 years ago

It would probably be best if you uploaded a sample for which this happens. Use the smallest sample with which the issue can be reproduced.