#2989(avformat:new): broken remuxing DVB subtitles from MPEG-TS to MPEG-TS
#2989: broken remuxing DVB subtitles from MPEG-TS to MPEG-TS -------------------------------------+------------------------------------- Reporter: ubitux | Owner: Type: defect | Status: new Priority: normal | Component: avformat Version: git- | Keywords: master | mpegts,dvb_subtitles Blocked By: | Blocking: Reproduced by developer: 0 | Analyzed by developer: 0 -------------------------------------+------------------------------------- {{{ [~/src/ffmpeg]☭ ./ffmpeg -v verbose -i ~/samples/stream.TS -c copy -map 0:0 -map 0:5 -y test.ts ffmpeg version N-56570-gf8e8932 Copyright (c) 2000-2013 the FFmpeg developers built on Sep 22 2013 20:54:45 with gcc 4.8.1 (GCC) 20130725 (prerelease) configuration: --enable-gpl --enable-version3 --enable-fontconfig --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable- libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable- x11grab --enable-libopenjpeg --enable-libass --enable-libmodplug --enable- libv4l2 --cc=colorgcc --samples=/home/ubitux/fate-samples --prefix=/tmp/ffinstall --disable-runtime-cpudetect --enable-libcelt --enable-libopencv --enable-frei0r --enable-libcaca --enable-libiec61883 --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-libopus --enable-libpulse --enable-libspeex --enable-libquvi --assert-level=2 --enable-libzmq --enable-libschroedinger --cpu=native libavutil 52. 46.100 / 52. 46.100 libavcodec 55. 33.100 / 55. 33.100 libavformat 55. 18.102 / 55. 18.102 libavdevice 55. 3.100 / 55. 3.100 libavfilter 3. 87.100 / 3. 87.100 libswscale 2. 5.100 / 2. 5.100 libswresample 0. 17.103 / 0. 17.103 libpostproc 52. 3.100 / 52. 3.100 [mpegts @ 0x2c65400] parser not found for codec dvb_teletext, packets or times may be invalid. Last message repeated 1 times [mpeg2video @ 0x2c7f5e0] Invalid frame dimensions 0x0. Last message repeated 10 times [mpegts @ 0x2c65400] max_analyze_duration 5000000 reached at 5000000 microseconds [NULL @ 0x2c855c0] start time is not set in estimate_timings_from_pts [mpegts @ 0x2c65400] PES packet size mismatch Last message repeated 3 times Input #0, mpegts, from '/home/ubitux/samples/stream.TS': Duration: 00:01:44.00, start: 31021.622067, bitrate: 5535 kb/s Program 1537 Metadata: service_name : TF1 service_provider: SMR6 Stream #0:0[0x78]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x82](fra): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s Stream #0:2[0x83](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 kb/s Stream #0:3[0x85](qad): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 kb/s Stream #0:4[0x8c](fra): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006) Stream #0:5[0x96](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired) Stream #0:6[0x97](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) [mpegts @ 0x2c8a520] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts Output #0, mpegts, to 'test.ts': Metadata: encoder : Lavf55.18.102 Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, max. 15000 kb/s, 25 fps, 90k tbn, 25 tbc Stream #0:1(fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired) Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:5 -> #0:1 (copy) Press [q] to stop, [?] for help [mpegts @ 0x2c65400] Correcting start time by 200000 No more output streams to write to, finishing. frame= 2582 fps=0.0 q=-1.0 Lsize= 64164kB time=00:01:43.72 bitrate=5067.8kbits/s video:59246kB audio:0kB subtitle:116 global headers:0kB muxing overhead 8.089452% }}} The mapped DVB subtitle stream is visible in VLC, mplayer, mpv, with the original file. After remuxing, the subtitles are not visible anymore (likely nothing is remuxed in the destination stream). Sample is available here: http://lucy.pkh.me/samples/fr-tv-dvd-sub-and- teletext.ts (~69M) -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2989> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#2989: broken remuxing DVB subtitles from MPEG-TS to MPEG-TS -------------------------------------+------------------------------------- Reporter: ubitux | Owner: Type: defect | Status: new Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: mpegts | Blocked By: dvbsub | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by cehoyos): * keywords: mpegts,dvb_subtitles => mpegts dvbsub -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2989#comment:1> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#2989: broken remuxing DVB subtitles from MPEG-TS to MPEG-TS -------------------------------------+------------------------------------- Reporter: ubitux | Owner: Type: defect | Status: new Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: mpegts | Blocked By: dvbsub | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by ubitux): I just realized this might be a duplicate of #2024. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2989#comment:2> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#2989: broken remuxing DVB subtitles from MPEG-TS to MPEG-TS -------------------------------------+------------------------------------- Reporter: ubitux | Owner: Type: defect | Status: new Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: mpegts | Blocked By: dvbsub | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by mrlika): Hi, I know the issue of the problem but I need FFmpeg expert advice in choosing a way of fixing it. Description of the issue: DVB subtitles have the following format in MPEG-TS stream: data_identifier 8bit - always set to 0x20 subtitle_stream_id 8bit - always set to 0x00 subtitling_segments - actual payload end_of_PES_data_field_makrer 8bit - always set to 0xFF MPEG-TS demuxer throws everything except subtitling_segments and produces AVPacket.data in FORMAT 1: subtitling_segments - actual payload DVB subtitles decoder also expects AVPacket.data in FORMAT 1. DVB subtitles encoder produces AVPacket.data in FORMAT 2: subtitle_stream_id 8bit - always set to 0x00 subtitling_segments - actual payload end_of_PES_data_field_makrer 8bit - always set to 0xFF MPEG-TS muxer expects AVPacket.data to be in FORMAT 2 also. So we have problem: from one hand demuxed and decoder work with AVPacket.data in FORMAT 1, from other hand encoder and muxer work with AVPacket data in FORMAT 2. That is why when you copy subtitles directly from demuxer into muxer you get incorrect subtitles stream. I see three possible ways of fixing the issue: 1) Use FORMAT 1 everywhere (i.e. fix DVB subtitles encoder and all muxers that support DVB subtitles to use FORMAT 1) 2) Use FORMAT 2 everywhere (i.e. fix DVB subtitles decoder and all demuxers that produce DVB subtitles to user FORMAT 2) 3) Use some other format for AVPacket.data with DVB subtitles and fix all the components to work with it. Can you please advice the correct way of solving the issue? Regards, Andriy Lysnevych -- Ticket URL: <https://trac.ffmpeg.org/ticket/2989#comment:3> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#2989: broken remuxing DVB subtitles from MPEG-TS to MPEG-TS -------------------------------------+------------------------------------- Reporter: ubitux | Owner: Type: defect | Status: new Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: mpegts | Blocked By: dvbsub | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by ubitux): Replying to [comment:3 mrlika]:
[...] Can you please advice the correct way of solving the issue?
I think someone is looking at this issue, you might want to follow this thread: http://ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152174.html and eventually participate. -- Ticket URL: <https://trac.ffmpeg.org/ticket/2989#comment:4> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#2989: broken remuxing DVB subtitles from MPEG-TS to MPEG-TS -------------------------------------+------------------------------------- Reporter: ubitux | Owner: Type: defect | Status: new Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: mpegts | Blocked By: dvbsub | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by mrlika): This issue should be fixed with https://github.com/FFmpeg/FFmpeg/commit/c917cde9cc52ad1ca89926a617f847bc9861... commit. Also this bug is duplicate of third problem from ticket #2024. -- Ticket URL: <https://trac.ffmpeg.org/ticket/2989#comment:5> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
#2989: broken remuxing DVB subtitles from MPEG-TS to MPEG-TS -------------------------------------+------------------------------------- Reporter: ubitux | Owner: Type: defect | Status: closed Priority: normal | Component: avformat Version: git-master | Resolution: fixed Keywords: mpegts | Blocked By: dvbsub | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by cehoyos): * status: new => closed * resolution: => fixed Comment: Fixed by Serhii Marchuk in c917cde9 -- Ticket URL: <https://trac.ffmpeg.org/ticket/2989#comment:6> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker
participants (1)
-
FFmpeg