Opened 12 years ago
Closed 6 years ago
#2023 closed defect (invalid)
mkvalidator does not like how FFmpeg muxes pgssubtitles
Reported by: | Carl Eugen Hoyos | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | pgssub mkv |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Related to ticket #379
http://samples.mplayerhq.hu/sub/BluRay/sample-dts-not-valid-dca-frame.m2ts
When remuxing pgssub into mkv, the resulting file plays fine with ffplay (and MPlayer), but mkvalidator is unhappy with the output file.
$ ffmpeg -i sample-dts-not-valid-dca-frame.m2ts -vcodec copy -acodec copy -scodec copy out.mkv ffmpeg version N-47774-g26db653 Copyright (c) 2000-2012 the FFmpeg developers built on Dec 12 2012 21:57:33 with gcc 4.7 (SUSE Linux) configuration: --enable-gpl --disable-indev=jack libavutil 52. 12.100 / 52. 12.100 libavcodec 54. 79.102 / 54. 79.102 libavformat 54. 49.101 / 54. 49.101 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 26.102 / 3. 26.102 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 [dca @ 0x21fe320] Not a valid DCA frame Last message repeated 52 times [mpegts @ 0x2150280] Stream #5: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #6: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #7: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #8: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #9: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #10: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #11: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #12: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #13: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #14: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #15: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #16: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #17: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #18: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #19: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #20: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Stream #21: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x2150280] Could not find codec parameters for stream 5 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 6 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 7 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 8 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 9 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 10 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 11 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 12 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 13 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 14 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 15 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 16 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 17 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 18 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 19 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 20 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] Could not find codec parameters for stream 21 (Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x2150280] decoding for stream 22 failed [mpegts @ 0x2150280] Could not find codec parameters for stream 22 (Audio: dts ([162][0][0][0] / 0x00A2), 0 channels, fltp): unspecified sample rate Consider increasing the value for the 'analyzeduration' and 'probesize' options [NULL @ 0x2156f40] start time is not set in estimate_timings_from_pts [NULL @ 0x2157860] start time is not set in estimate_timings_from_pts [NULL @ 0x2158180] start time is not set in estimate_timings_from_pts [NULL @ 0x21a6120] start time is not set in estimate_timings_from_pts [NULL @ 0x21ac580] start time is not set in estimate_timings_from_pts [NULL @ 0x21b2a60] start time is not set in estimate_timings_from_pts [NULL @ 0x21b8f40] start time is not set in estimate_timings_from_pts [NULL @ 0x21bf340] start time is not set in estimate_timings_from_pts [NULL @ 0x21c5820] start time is not set in estimate_timings_from_pts [NULL @ 0x21cbd00] start time is not set in estimate_timings_from_pts [NULL @ 0x21d2220] start time is not set in estimate_timings_from_pts [NULL @ 0x21d8700] start time is not set in estimate_timings_from_pts [NULL @ 0x21dec80] start time is not set in estimate_timings_from_pts [NULL @ 0x21e5080] start time is not set in estimate_timings_from_pts [NULL @ 0x21eb480] start time is not set in estimate_timings_from_pts [NULL @ 0x21f1960] start time is not set in estimate_timings_from_pts [NULL @ 0x21f7e40] start time is not set in estimate_timings_from_pts [mpegts @ 0x2150280] PES packet size mismatch Last message repeated 3 times Input #0, mpegts, from 'sample-dts-not-valid-dca-frame.m2ts': Duration: 00:00:53.18, start: 11.608967, bitrate: 16276 kb/s Program 1 Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Stream #0:1[0x1100]: Audio: dts (DTS-HD MA) ([134][0][0][0] / 0x0086), 48000 Hz, 5.1(side), fltp, 1536 kb/s Stream #0:2[0x1101]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:3[0x1102]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:4[0x1103]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:5[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:6[0x1201]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:7[0x1202]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:8[0x1203]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:9[0x1204]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:10[0x1205]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:11[0x1206]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:12[0x1207]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:13[0x1208]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:14[0x1209]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:15[0x120a]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:16[0x120b]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:17[0x120c]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:18[0x120d]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:19[0x120e]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:20[0x120f]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:21[0x1210]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:22[0x1a00]: Audio: dts ([162][0][0][0] / 0x00A2), 0 channels, fltp Stream #0:23[0x1b00]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 720x480 [SAR 40:33 DAR 20:11], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Output #0, matroska, to 'out.mkv': Metadata: encoder : Lavf54.49.101 Stream #0:0: Video: h264 (HDMV / 0x564D4448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 1k tbn, 90k tbc Stream #0:1: Audio: dts ([134][0][0][0] / 0x0086), 48000 Hz, 5.1(side), 1536 kb/s Stream #0:2: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Stream #0:5 -> #0:2 (copy) Press [q] to stop, [?] for help [mpegts @ 0x2150280] PES packet size mismatch frame= 1273 fps=0.0 q=-1.0 Lsize= 88047kB time=00:00:53.05 bitrate=13595.5kbits/s video:70275kB audio:17585kB subtitle:134 global headers:0kB muxing overhead 0.059732%
$ mkvalidator out.mkv ERR0B1: Block at 50661520 track #3 is not a keyframe ERR0B1: Block at 50661553 track #3 is not a keyframe ERR0B1: Block at 50661578 track #3 is not a keyframe ERR0B1: Block at 50661917 track #3 is not a keyframe ERR0B1: Block at 50707127 track #3 is not a keyframe ERR0B1: Block at 56486707 track #3 is not a keyframe ERR0B1: Block at 56486732 track #3 is not a keyframe ERR0B1: Block at 56486756 track #3 is not a keyframe ERR0B1: Block at 58281775 track #3 is not a keyframe ERR0B1: Block at 58281808 track #3 is not a keyframe ERR0B1: Block at 58281833 track #3 is not a keyframe ERR0B1: Block at 58282172 track #3 is not a keyframe ERR0B1: Block at 58322632 track #3 is not a keyframe ERR0B1: Block at 70426654 track #3 is not a keyframe ERR0B1: Block at 70426679 track #3 is not a keyframe ERR0B1: Block at 70426703 track #3 is not a keyframe ERR0B1: Block at 70946184 track #3 is not a keyframe ERR0B1: Block at 70946217 track #3 is not a keyframe ERR0B1: Block at 70946242 track #3 is not a keyframe ERR0B1: Block at 70946581 track #3 is not a keyframe ERR0B1: Block at 70974021 track #3 is not a keyframe ERR0B1: Block at 82469195 track #3 is not a keyframe ERR0B1: Block at 82469220 track #3 is not a keyframe ERR0B1: Block at 82469244 track #3 is not a keyframe ERR0B1: Block at 85421140 track #3 is not a keyframe ERR0B1: Block at 85421173 track #3 is not a keyframe ERR0B1: Block at 85421198 track #3 is not a keyframe ERR0B1: Block at 85421537 track #3 is not a keyframe ERR0B1: Block at 85461724 track #3 is not a keyframe .... file created with Lavf54.49.101 / Lavf54.49.101
ffprobe -show_packets show duration, duration_time, convergence_duration and convergence_duration_time as "N/A" for all subtitle packets.
Change History (1)
comment:1 by , 6 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
- FFmpeg writes unknown-length subtitle blocks as BlockGroups? with a duration element indicating a duration of zero. This is insane and I intend to change this (after my current open patchset for the Matroska muxer has been dealt with...), but it is not spec-incompliant.
- mkvalidator's error is based upon an insane and now removed part of the Matroska specs: That a BlockGroup with a duration of zero can't be a keyframe. This has since been removed (see https://github.com/Matroska-Org/matroska-specification/commit/9313a00f7391a285f95e9d6f0a5f8f3f80ed4779), but mkvalidator (even the current release of 0.5.2) has not been fixed yet. A PR for this is here: https://github.com/Matroska-Org/foundation-source/pull/40, but it hasn't been accepted yet.
- Therefore I'm closing this as invalid.
Note:
See TracTickets
for help on using tickets.