#4200 closed defect (fixed)
ffmpeg wont display/decode dvbsubs
Reported by: | gentian | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | git-master | Keywords: | dvbsub |
Cc: | Michael Niedermayer | Blocked By: | |
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
I have been trying to burn live dvbsub subtitles into HLS stream but it is not working. The encoding starts fine but there are no subtitles on the video. sometimes you can see them only for a second and then nothing is shown except some clicks and freezes on the video. what could be wrong?
ffmpeg -i 'udp://@232.1.1.1:5500?fifo_size=1000000&overrun_nonfatal=1' -filter_complex "[0:p:1002:0][0:p:1002:2]overlay[v]" -map [v] -map 0:p:1002:1 -c:v libx264 -preset superfast -b:v 3024k -maxrate 3024k -bufsize 1024k -c:a copy -async 1 -deinterlace -f tee [hls_time=10:hls_list_size=2:hls_wrap=4:start_number=1]/var/www/html/test.m3u8
ffmpeg version git-2014-12-19-c89751a Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 19 2014 05:46:34 with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-16)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libx264 --enable-libx265 --enable-libfreetype --enable-fontconfig --enable-iconv
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 16.100 / 56. 16.100
libavformat 56. 16.101 / 56. 16.101
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 4.100 / 5. 4.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[h264 @ 0x2496600] non-existing SPS 0 referenced in buffering period
[h264 @ 0x2496600] non-existing PPS 0 referenced
[h264 @ 0x2496600] non-existing SPS 0 referenced in buffering period
[h264 @ 0x2496600] non-existing PPS 0 referenced
[h264 @ 0x2496600] decode_slice_header error
[h264 @ 0x2496600] no frame!
Input #0, mpegts, from 'udp://@232.1.1.1:5500?fifo_size=1000000&overrun_nonfatal=1':
Duration: N/A, start: 2117.316033, bitrate: N/A
Program 1002
Metadata:
service_name : Film
service_provider: TEST
Stream #0:0[0x3fd]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x3fe](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 160 kb/s
Stream #0:2[0x401](alb): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:3[0x402](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
[mpegts @ 0x247b360] sub2video: using 1920x1080 canvas
[libx264 @ 0x26c8420] using SAR=1/1
[libx264 @ 0x26c8420] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x26c8420] profile High, level 4.0
Output #0, tee, to '[hls_time=10:hls_list_size=2:hls_wrap=4:start_number=1]/var/www/html/test.m3u8':
Metadata:
encoder : Lavf56.16.101
Stream #0:0: Video: h264 (libx264), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 3024 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
encoder : Lavc56.16.100 libx264
Stream #0:1(eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, 160 kb/s
Stream mapping:
Stream #0:0 (h264) -> overlay:main
Stream #0:2 (dvbsub) -> overlay:overlay
overlay -> Stream #0:0 (libx264)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, ? for help
[h264 @ 0x33a0f20] reference picture missing during reorder
[h264 @ 0x33a0f20] Missing reference picture, default is 2147483647
[h264 @ 0x24fc7c0] mmco: unref short failure
[h264 @ 0x24fc7c0] reference picture missing during reorder
[h264 @ 0x24fc7c0] Missing reference picture, default is 65600
[h264 @ 0x47aed60] mmco: unref short failure
[h264 @ 0x26155e0] mmco: unref short failure
[mpegts @ 0x247b360] PES packet size mismatch
Last message repeated 10 times
[mpegts @ 0x247b360] PES packet size mismatch0:03.33 bitrate=N/A dup=56 drop=0
frame= 162 fps= 40 q=-1.0 Lsize=N/A time=00:00:06.40 bitrate=N/A dup=56 drop=0
Attachments (2)
Change History (19)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
I have been trying for almost a year , constantly trying updates from master, to achive this but no luck. The maximum i achive is 1 or 2 subtitles for the first 3-4 seconds then i see nothing, while the video has some small glitches and freezes (which i believe they happen at the time when subtitles are burned)...So for me is not a regression because i never could achieve a live burning of dvbsub subtitles to hls...
I always tried HLS with tee muxer. I tried -an but nothing changes, audio does not play any role with it. Never tried other codec as i only need H264 and HLS output.
comment:3 by , 10 years ago
Keywords: | overlay subtitles burning removed |
---|---|
Priority: | important → normal |
Please provide a dump of the input stream.
comment:6 by , 10 years ago
I have also feedback from other companies that deliver OTT services using ffmpeg/HLS that they can not support dvbsub subtitles and could not burn them for live channels. only by using proprietary encoding appliances they could achieve this feature.
if there is someone from ffmpeg community who has done this please contribute with a fix or let us know as i believe there are many others who desperately need this feature to work with ffmpeg.
comment:7 by , 10 years ago
Please ask other companies if they reported this issue to FFmpeg / how they believe that issues may be fixed without a report...
(Trac does not report file uploads as ticket updates, I didn't know you provided a sample until now.)
comment:8 by , 10 years ago
ok, i did not know that trac was not reporting file upload.
not sure, but i have checked their service in two cases and there are no subs. and i have seen some tickets with dvbsub-burning issue so i have a feeling there is a general problem with that. if it only with me then is better cause then there would be a solution :)
comment:9 by , 10 years ago
service_name and service_provider differ between your console output and the uploaded sample: How did you produce the uploaded sample?
Please upload a dump of the input stream, not a file created with remuxing the input stream with FFmpeg.
comment:10 by , 10 years ago
i used ffmpeg -i <mulitcast> -map 0:p:1002 -c copy to sample.ts,
tell me what do you need me to use for the dumping process?
comment:12 by , 10 years ago
I just uploaded a sample with similar problems (https://trac.ffmpeg.org/attachment/ticket/4200/dvbsub-sample.ts). I extracted it with mplayer -dumpstream
.
No subtitles are shown in FFplay/FFmpeg but VLC shows subtitles without a problem.
Is there a solution for this?
Thank you.
follow-up: 14 comment:13 by , 9 years ago
Reproduced by developer: | set |
---|---|
Status: | new → open |
Summary: | dvbsub burning overlay not working → ffmpeg wont display/decode dvbsubs |
ffmpeg -i dvbsub-sample.ts -filter_complex "[0:v][0:s]overlay[v]" -map "[v]" -map 0:a out.mkv
does indeed fail to burn subs.
subs also do not appear in ffplay using 't' key.
subs display in vlc 3.0.0 nb
H:\>d:\ffmpeg -i dvbsub-sample.ts -filter_complex "[0:v][0:s]o
verlay[v]" -map "[v]" -map 0:a -an out.mkv -y
ffmpeg version N-73541-g944a1aa Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzli
b --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu
ray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enab
le-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger
--enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --ena
ble-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --en
able-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
libavutil 54. 28.100 / 54. 28.100
libavcodec 56. 47.100 / 56. 47.100
libavformat 56. 40.100 / 56. 40.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 21.100 / 5. 21.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] non-existing SPS 0 referenced in buffering period
[h264 @ 0320d9e0] non-existing PPS 0 referenced
[h264 @ 0320d9e0] decode_slice_header error
[h264 @ 0320d9e0] no frame!
[NULL @ 031f3300] start time for stream 3 is not set in estimate_timings_from_pts
[mpegts @ 031f0340] PES packet size mismatch
Last message repeated 1 times
Input #0, mpegts, from 'dvbsub-sample.ts':
Duration: 04:22:55.12, start: 85235.728911, bitrate: 1 kb/s
Program 21
Metadata:
service_name : Tring Max
service_provider: tring tv
Stream #0:0[0x514]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg), 720x576 [
SAR 16:11 DAR 20:11], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x51e](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 128 kb/s
Stream #0:2[0x200](alb): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:3[0x202](und): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
[mpegts @ 031f0340] sub2video: using 720x576 canvas
[libx264 @ 034ea800] using SAR=16/11
[libx264 @ 034ea800] using cpu capabilities: MMX2 SSE2 SSE3 Cache64
[libx264 @ 034ea800] profile High, level 3.0
[libx264 @ 034ea800] 264 - core 146 r2538 121396c - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - ht
tp://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subm
e=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,
11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 i
nterlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 we
ightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc
=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'out.mkv':
Metadata:
encoder : Lavf56.40.100
Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 720x576 [SAR 16:11 DAR 20:11],
q=-1--1, 25 fps, 1k tbn, 25 tbc (default)
Metadata:
encoder : Lavc56.47.100 libx264
Stream mapping:
Stream #0:0 (h264) -> overlay:main
Stream #0:2 (dvbsub) -> overlay:overlay
overlay -> Stream #0:0 (libx264)
Press [q] to stop, ? for help
[h264 @ 03330a40] Found reference and non-reference fields in the same frame, which is not implement
ed. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means tha
t your file has a feature which has not been implemented.
[h264 @ 03330a40] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incom
ing/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[h264 @ 03330a40] decode_slice_header error
[h264 @ 03ee1680] reference picture missing during reorder
[h264 @ 03ee1680] Missing reference picture, default is 2147483647
[h264 @ 03330a40] mmco: unref short failure
Last message repeated 1 times
[h264 @ 034be8a0] mmco: unref short failure
Last message repeated 1 times
[mpegts @ 031f0340] PES packet size mismatchime=00:00:08.04 bitrate= 467.8kbits/s
[h264 @ 03ee1680] error while decoding MB 22 14, bytestream -7
frame= 245 fps= 13 q=-1.0 Lsize= 573kB time=00:00:10.16 bitrate= 461.7kbits/s dup=0 drop=7
video:570kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.419933%
[libx264 @ 034ea800] frame I:3 Avg QP:16.44 size: 17370
[libx264 @ 034ea800] frame P:66 Avg QP:20.30 size: 4940
[libx264 @ 034ea800] frame B:176 Avg QP:24.00 size: 1165
[libx264 @ 034ea800] consecutive B-frames: 1.2% 4.9% 12.2% 81.6%
[libx264 @ 034ea800] mb I I16..4: 32.1% 56.3% 11.6%
[libx264 @ 034ea800] mb P I16..4: 0.9% 3.7% 0.7% P16..4: 30.3% 10.0% 4.4% 0.0% 0.0% skip:
49.9%
[libx264 @ 034ea800] mb B I16..4: 0.1% 0.2% 0.0% B16..8: 26.7% 1.9% 0.2% direct: 0.6% skip:
70.4% L0:41.3% L1:53.3% BI: 5.5%
[libx264 @ 034ea800] 8x8 transform intra:63.9% inter:80.8%
[libx264 @ 034ea800] coded y,uvDC,uvAC intra: 51.6% 64.2% 25.6% inter: 6.1% 10.4% 0.1%
[libx264 @ 034ea800] i16 v,h,dc,p: 57% 23% 8% 12%
[libx264 @ 034ea800] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 18% 19% 4% 6% 9% 5% 9% 5%
[libx264 @ 034ea800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 31% 15% 4% 6% 7% 5% 6% 5%
[libx264 @ 034ea800] i8c dc,h,v,p: 50% 19% 23% 8%
[libx264 @ 034ea800] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 034ea800] ref P L0: 64.3% 13.3% 17.1% 5.3%
[libx264 @ 034ea800] ref B L0: 93.5% 5.3% 1.1%
[libx264 @ 034ea800] ref B L1: 97.0% 3.0%
[libx264 @ 034ea800] kb/s:474.16
comment:14 by , 9 years ago
Replying to compn:
ffmpeg -i dvbsub-sample.ts -filter_complex "[0:v][0:s]overlay[v]" -map "[v]" -map 0:a out.mkv
does indeed fail to burn subs.
subs also do not appear in ffplay using 't' key.
They used to be shown (incorrectly!) with older versions of ffmpeg (?) and ffplay - it may make sense to bisect to know which change completely removed them.
Please consider using Code Blocks to make the console output slightly more readable and please avoid using external libraries if they are not needed to reproduce an issue - in many cases, this makes understanding the issues more difficult.
comment:15 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Fixed in 42aa02418e43802b4ebcca373d2413ab63a0307e
Note, still might be interresting to bisect
comment:16 by , 9 years ago
Cc: | added |
---|
Do you believe this is a regression?
Is the issue only reproducible with hls output or also with file output?
Is the issue only reproducible with the tee muxer or also without?
Is audio required to reproduce the issue or is it also reproducible with
-an
?Is using an external library like
libx264
required to reproduce the issue or is it reproducible with a native (internal) encoder?And most important: Is the issue reproducible with file input?