Opened 12 years ago
Closed 5 years ago
#2622 closed defect (fixed)
Subtitle (hdmv pgs) remux fails
Reported by: | skifreak | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | pgssub mpegts |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug:ffmpeg fails when remuxing hdmv pgs subtitles
How to reproduce:ffmpeg -i hdmv_pgs_subtitle_remux_fail.m2ts -map 0 -c copy out.m2ts
ffmpeg version: git-master June 1, 2013 Files are available on the ftp under incoming/hdmv_pgs_subtitle_remux_fail.tgz Attempted to run skifreak@LedBox ~/Documents/x264 Encoding/hdmv_pgs_subtitle_remux_fail $ ffmpeg -i hdmv_pgs_subtitle_remux_fail.m2ts -map 0 -c copy /tmp/test.m2tsffmpeg version N-53758-g5711e4f Copyright (c) 2000-2013 the FFmpeg developers built on Jun 1 2013 18:59:50 with gcc 4.5.4 (Gentoo 4.5.4 p1.1, pie-0.4.7) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-march=native -O2 -pipe -g' --extra-cflags='-march=native -O2 -pipe -g' --extra-cxxflags='-march=native -O2 -pipe -g' --disable-static --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --disable-stripping --enable-version3 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-version3 --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-doc --disable-gnutls --enable-hardcoded-tables --enable-iconv --disable-network --disable-openssl --enable-ffplay --disable-vaapi --disable-vdpau --enable-zlib --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libmp3lame --disable-libfdk-aac --disable-libaacplus --disable-libfaac --enable-libtheora --disable-libtwolame --enable-libx264 --enable-libxvid --disable-libcdio --disable-libiec61883 --enable-libdc1394 - libavutil 52. 34.100 / 52. 34.100 libavcodec 55. 13.100 / 55. 13.100 libavformat 55. 8.102 / 55. 8.102 libavdevice 55. 2.100 / 55. 2.100 libavfilter 3. 74.101 / 3. 74.101 libavresample 1. 1. 0 / 1. 1. 0 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 [mpegts @ 0x25698a0] Stream #3: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x25698a0] Stream #4: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x25698a0] Could not find codec parameters for stream 3 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x25698a0] Could not find codec parameters for stream 4 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [NULL @ 0x256f780] start time is not set in estimate_timings_from_pts [NULL @ 0x25701c0] start time is not set in estimate_timings_from_pts [mpegts @ 0x25698a0] PES packet size mismatch Input #0, mpegts, from 'hdmv_pgs_subtitle_remux_fail.m2ts': Duration: 00:00:05.22, start: 65.986667, bitrate: 23524 kb/s Program 1 Stream #0:0[0x1011]: Video: vc1 (VC-1 / 0x312D4356), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Stream #0:1[0x1100]: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, 5.1(side), s16, 4608 kb/s Stream #0:2[0x1101]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s Stream #0:3[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:4[0x1201]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) File '/tmp/test.m2ts' already exists. Overwrite ? [y/N] y Output #0, mpegts, to '/tmp/test.m2ts': Metadata: encoder : Lavf55.8.102 Stream #0:0: Video: vc1 (VC-1 / 0x312D4356), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 90k tbn, 23.98 tbc Stream #0:1: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, 5.1(side), 4608 kb/s Stream #0:2: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), 640 kb/s Stream #0:3: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:4: 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:2 -> #0:2 (copy) Stream #0:3 -> #0:3 (copy) Stream #0:4 -> #0:4 (copy) Press [q] to stop, [?] for help [mpegts @ 0x2570f20] Application provided invalid, non monotonically increasing dts to muxer in stream 3: 458492 >= 458492 av_interleaved_write_frame(): Invalid argument skifreak@LedBox ~/Documents/x264 Encoding/hdmv_pgs_subtitle_remux_fail $ ffmpeg -v 9 -loglevel 99 -i hdmv_pgs_subtitle_remux_fail.m2ts ffmpeg version N-53758-g5711e4f Copyright (c) 2000-2013 the FFmpeg developers built on Jun 1 2013 18:59:50 with gcc 4.5.4 (Gentoo 4.5.4 p1.1, pie-0.4.7) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-march=native -O2 -pipe -g' --extra-cflags='-march=native -O2 -pipe -g' --extra-cxxflags='-march=native -O2 -pipe -g' --disable-static --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --disable-stripping --enable-version3 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-version3 --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-doc --disable-gnutls --enable-hardcoded-tables --enable-iconv --disable-network --disable-openssl --enable-ffplay --disable-vaapi --disable-vdpau --enable-zlib --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libmp3lame --disable-libfdk-aac --disable-libaacplus --disable-libfaac --enable-libtheora --disable-libtwolame --enable-libx264 --enable-libxvid --disable-libcdio --disable-libiec61883 --enable-libdc1394 - libavutil 52. 34.100 / 52. 34.100 libavcodec 55. 13.100 / 55. 13.100 libavformat 55. 8.102 / 55. 8.102 libavdevice 55. 2.100 / 55. 2.100 libavfilter 3. 74.101 / 3. 74.101 libavresample 1. 1. 0 / 1. 1. 0 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Splitting the commandline. Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'. Reading option '-i' ... matched as input file with argument 'hdmv_pgs_subtitle_remux_fail.m2ts'. Finished splitting the commandline. Parsing a group of options: global . Applying option v (set logging level) with argument 9. Successfully parsed a group of options. Parsing a group of options: input file hdmv_pgs_subtitle_remux_fail.m2ts. Successfully parsed a group of options. Opening an input file: hdmv_pgs_subtitle_remux_fail.m2ts. [mpegts @ 0x12b3080] Format mpegts probed with size=2048 and score=100 [mpegts @ 0x12b3080] stream=0 stream_type=ea pid=1011 prog_reg_desc=HDMV [mpegts @ 0x12b3080] stream=1 stream_type=80 pid=1100 prog_reg_desc=HDMV [mpegts @ 0x12b3080] stream=2 stream_type=81 pid=1101 prog_reg_desc=HDMV [mpegts @ 0x12b3080] stream=3 stream_type=90 pid=1200 prog_reg_desc=HDMV [mpegts @ 0x12b3080] stream=4 stream_type=90 pid=1201 prog_reg_desc=HDMV [mpegts @ 0x12b3080] File position before avformat_find_stream_info() is 0 [mpegts @ 0x12b3080] parser not found for codec pcm_bluray, packets or times may be invalid. [mpegts @ 0x12b3080] parser not found for codec hdmv_pgs_subtitle, packets or times may be invalid. Last message repeated 1 times [mpegts @ 0x12b3080] parser not found for codec pcm_bluray, packets or times may be invalid. [NULL @ 0x12b7160] Header: DBFE3BF2 [NULL @ 0x12b7160] Advanced Profile level 3: frmrtq_postproc=7, bitrtq_postproc=31 LoopFilter=0, ChromaFormat=1, Pulldown=1, Interlace: 0 TFCTRflag=0, FINTERPflag=0 [NULL @ 0x12b7160] Display extended info: [NULL @ 0x12b7160] Display dimensions: 1920x1080 [NULL @ 0x12b7160] Aspect: 1:1 [NULL @ 0x12b7160] Entry point: 1ADFFCEF [NULL @ 0x12b7160] Entry point info: BrokenLink=0, ClosedEntry=0, PanscanFlag=0 RefDist=1, Postproc=1, FastUVMC=0, ExtMV=1 DQuant=1, VSTransform=1, Overlap=0, Qmode=3 [NULL @ 0x12b7160] Header: DBFE3BF2 [NULL @ 0x12b7160] Advanced Profile level 3: frmrtq_postproc=7, bitrtq_postproc=31 LoopFilter=1, ChromaFormat=1, Pulldown=1, Interlace: 0 TFCTRflag=0, FINTERPflag=0 [NULL @ 0x12b7160] Display extended info: [NULL @ 0x12b7160] Display dimensions: 1920x1080 [NULL @ 0x12b7160] Aspect: 1:1 [NULL @ 0x12b7160] Entry point: 1ADFFCEF [NULL @ 0x12b7160] Entry point info: BrokenLink=0, ClosedEntry=0, PanscanFlag=0 RefDist=1, Postproc=1, FastUVMC=0, ExtMV=1 DQuant=1, VSTransform=1, Overlap=0, Qmode=3 [NULL @ 0x12b7160] Header: DBFE3BF2 [NULL @ 0x12b7160] Advanced Profile level 3: frmrtq_postproc=7, bitrtq_postproc=31 LoopFilter=1, ChromaFormat=1, Pulldown=1, Interlace: 0 TFCTRflag=0, FINTERPflag=0 [NULL @ 0x12b7160] Display extended info: [NULL @ 0x12b7160] Display dimensions: 1920x1080 [NULL @ 0x12b7160] Aspect: 1:1 [NULL @ 0x12b7160] Entry point: 1ADFFCEF [NULL @ 0x12b7160] Entry point info: BrokenLink=0, ClosedEntry=0, PanscanFlag=0 RefDist=1, Postproc=1, FastUVMC=0, ExtMV=1 DQuant=1, VSTransform=1, Overlap=0, Qmode=3 [mpegts @ 0x12b3080] Probe buffer size limit of 5000000 bytes reached [mpegts @ 0x12b3080] Stream #3: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x12b3080] Stream #4: not enough frames to estimate rate; consider increasing probesize [mpegts @ 0x12b3080] Could not find codec parameters for stream 3 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x12b3080] Could not find codec parameters for stream 4 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options [NULL @ 0x12b9020] start time is not set in estimate_timings_from_pts [NULL @ 0x12b9a60] start time is not set in estimate_timings_from_pts [mpegts @ 0x12b3080] PES packet size mismatch [mpegts @ 0x12b3080] File position after avformat_find_stream_info() is 0 Input #0, mpegts, from 'hdmv_pgs_subtitle_remux_fail.m2ts': Duration: 00:00:05.22, start: 65.986667, bitrate: 23524 kb/s Program 1 Stream #0:0[0x1011], 37, 1/90000: Video: vc1 (VC-1 / 0x312D4356), 1920x1080 [SAR 1:1 DAR 16:9], 1001/48000, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Stream #0:1[0x1100], 325, 1/90000: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, 5.1(side), s16, 4608 kb/s Stream #0:2[0x1101], 50, 1/90000: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s Stream #0:3[0x1200], 0, 1/90000: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Stream #0:4[0x1201], 0, 1/90000: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090) Successfully opened the file. At least one output file must be specified [AVIOContext @ 0x12bb7a0] Statistics: 5984400 bytes read, 3 seeks
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Change History (12)
comment:1 by , 12 years ago
Component: | FFmpeg → avformat |
---|---|
Keywords: | pgssub mpegts added; hdmv_pgs subtitle removed |
Status: | new → open |
comment:2 by , 10 years ago
comment:3 by , 10 years ago
comment:6 by , 6 years ago
bump - hdmv_pgs_subtitle copy stream support
- decoder is here: libavcodec / pgssubdec.c
- headers are missing - see partial patch
- encoder is missing - stream copy support would be enough due to format
also referenced here #7360
comment:7 by , 6 years ago
Also if this same command line didn't gave the same result with my samples, it copy the PGS stream as data stream so unusable.
Perhaps that the Carl patch will solve that?
https://patchwork.ffmpeg.org/patch/11186/
comment:9 by , 5 years ago
There is also https://github.com/justdan96/tsMuxer , in theory it might work (remux) with those subtitles, but I haven't tried this yet.
comment:10 by , 5 years ago
tried tsMuxer. it can remux PGS subtitles from MKV (for example from sample from comment №11 at https://trac.videolan.org/vlc/ticket/6324) into something xine/mplayer recognize as BD disk.
tsMuxer require either config file per run, or GUI (but I don't have qt5, so I just used command line)
My two attempts at using it at https://yadi.sk/d/_LYvNL4N0aSZuA
Mplayer may require -demuxer mpegts and/or "-lavdopts wait_keyframe" (from https://lists.mplayerhq.hu/pipermail/mplayer-users/2014-March/087262.html). May be my examples just too short for seeking working correctly by default?
comment:11 by , 5 years ago
comment:12 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Fixed by Marton Balint in 7f2649bb46e3dde691edfb03aeb42ba4ef183ab8
Not due particularly to pgssub , will not work with dvdsub because it comes from -f mpegts .m2ts, do same with -f matroska .mkv and it will work.