[FFmpeg-trac] #4774(ffmpeg:new): Incompatibilities between XBMC/Kodi & mkvalidator relating to how FFmpeg muxes MKVs

FFmpeg trac at avcodec.org
Sat Aug 15 16:54:43 CEST 2015


#4774: Incompatibilities between XBMC/Kodi & mkvalidator relating to how FFmpeg
muxes MKVs
-------------------------------------+-------------------------------------
             Reporter:  Drag0nFly    |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:  ffmpeg
              Version:  git-master   |               Resolution:
             Keywords:  mkv muxer    |               Blocked By:
  timecode chapter                   |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by Drag0nFly):

 Did two new encodes (same time segment as the file provided earlier; one
 with subs & one without), and can confirm @heleppkes' suspicion that this
 is indeed caused by how FFmpeg muxes the pgssubs / generates the timecodes
 for the cue entries – which in turn trigger the behaviour seen in
 XBMC/Kodi (non-PGS file plays file, the identical segment with the PGS
 subs present does not)

 {{{
 $ time mkvalidator /data/video/work/hot.shots.sample.nosubs.fullq-crf17
 -slow-custom.mkv
 mkvalidator 0.5.0: the file appears to be valid
         file created with Lavf56.40.101 / Lavf56.40.101

 real    0m16.732s
 user    0m0.507s
 sys     0m0.879s
 }}}

 mkvinfo -v -v -v for subtitle-less file:
 https://www.dropbox.com/s/6ggvgiycmt3jvac/mkvinfo-vvv-nonpgs.txt?dl=0


 Curiously, on the exact same segment which was re-encoded *with* the
 pgssubs, mkvalidator now produces several errors complaining about
 "ERR0B1: Block at <nnnnnnnnn> track #{4,5,6} is not a keyframe" – despite
 the fact that the complete file (with pgssubs) did not exhibit this
 problem. They have only a slight difference in lavf version (new file:
 Lavf56.40.101, original (complete) file: Lavf56.33.101)

 mvalidator output:

 {{{
 time mkvalidator /data/video/work/hot.shots.sample.fullq-crf17-slow-
 custom.mkv
 ERR0B1: Block at 20966410 track #4 is not a keyframe
 ERR0B1: Block at 22986250 track #4 is not a keyframe
 ERR0B1: Block at 289112993 track #4 is not a keyframe
 ERR0B1: Block at 289138193 track #5 is not a keyframe
 ERR0B1: Block at 289309495 track #6 is not a keyframe
 ERR0B1: Block at 299074744 track #3 is not a keyframe
 ERR0B1: Block at 304444643 track #5 is not a keyframe
 ERR0B1: Block at 304580615 track #4 is not a keyframe
 ERR0B1: Block at 304580656 track #6 is not a keyframe
 ERR0B1: Block at 304717408 track #5 is not a keyframe
 ERR0B1: Block at 308574199 track #4 is not a keyframe
 ERR0B1: Block at 308855611 track #6 is not a keyframe
 ERR0B1: Block at 311378374 track #5 is not a keyframe
 ERR0B1: Block at 313846805 track #3 is not a keyframe
 ERR0B1: Block at 314393404 track #3 is not a keyframe
 ERR0B1: Block at 315245451 track #4 is not a keyframe
 ERR0B1: Block at 315377012 track #6 is not a keyframe
 ERR0B1: Block at 315516979 track #4 is not a keyframe
 ERR0B1: Block at 315538523 track #5 is not a keyframe
 ERR0B1: Block at 315831980 track #6 is not a keyframe
 [...]
 ERR0B1: Block at 1419913777 track #3 is not a keyframe
 ERR0B1: Block at 1420190927 track #3 is not a keyframe
 ERR0B1: Block at 1427398678 track #3 is not a keyframe
 ERR0B1: Block at 1427656750 track #3 is not a keyframe
 ERR0B1: Block at 1436945033 track #3 is not a keyframe
 ERR0B1: Block at 1441343356 track #3 is not a keyframe
 ERR0B1: Block at 1441348589 track #4 is not a keyframe
 ERR0B1: Block at 1441353980 track #5 is not a keyframe
 ERR0B1: Block at 1441358995 track #6 is not a keyframe
 ERR0B1: Block at 1446091182 track #4 is not a keyframe
 ERR0B1: Block at 1446091223 track #5 is not a keyframe
 ERR0B1: Block at 1446091264 track #6 is not a keyframe
 ERR0B1: Block at 1446296834 track #3 is not a keyframe
 ERR0B1: Block at 1476849929 track #4 is not a keyframe
 ERR0B1: Block at 1476854018 track #5 is not a keyframe
 ERR0B1: Block at 1476865325 track #6 is not a keyframe
 ERR0B1: Block at 1483435369 track #4 is not a keyframe
 ERR0B1: Block at 1483435410 track #5 is not a keyframe
 ERR0B1: Block at 1483435451 track #6 is not a keyframe
 ERR0B1: Block at 1501733462 track #4 is not a keyframe
 ERR0B1: Block at 1501750956 track #5 is not a keyframe
 ERR0B1: Block at 1501770429 track #6 is not a keyframe
 ERR0B1: Block at 1508509519 track #4 is not a keyframe
 ERR0B1: Block at 1508509560 track #5 is not a keyframe
 ERR0B1: Block at 1508509601 track #6 is not a keyframe
 ERR0B1: Block at 1514199513 track #3 is not a keyframe
 WRN311: The Cues entry for timecode 192693 ms is listed after entry 192776
 ms
 WRN311: The Cues entry for timecode 282866 ms is listed after entry 282908
 ms
 WRN311: The Cues entry for timecode 349099 ms is listed after entry 349140
 ms
 WRN311: The Cues entry for timecode 352394 ms is listed after entry 352477
 ms
 WRN311: The Cues entry for timecode 448448 ms is listed after entry 448531
 ms
 WRN311: The Cues entry for timecode 457874 ms is listed after entry 457916
 ms
 WRN311: The Cues entry for timecode 469803 ms is listed after entry 469844
 ms
 WRN311: The Cues entry for timecode 491574 ms is listed after entry 491616
 ms
 WRN311: The Cues entry for timecode 497831 ms is listed after entry 497914
 ms
 WRN311: The Cues entry for timecode 526693 ms is listed after entry 526776
 ms
 WRN311: The Cues entry for timecode 537078 ms is listed after entry 537162
 ms
 WRN311: The Cues entry for timecode 582123 ms is listed after entry 582207
 ms
 WRN311: The Cues entry for timecode 601684 ms is listed after entry 601768
 ms
 .       file created with Lavf56.40.101 / Lavf56.40.101

 real    0m16.546s
 user    0m1.111s
 sys     0m0.780s
 }}}

 mkvinfo -v -v -v for above file: https://www.dropbox.com/s/2nrm8r7rpueme8t
 /mkvinfo-vvv-pgs.txt?dl=0

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4774#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list