[FFmpeg-trac] #6013(undetermined:new): XSUBs end time ignored when overlaying as Hard Subs
FFmpeg
trac at avcodec.org
Sat Dec 10 22:55:47 EET 2016
#6013: XSUBs end time ignored when overlaying as Hard Subs
-------------------------------------+-------------------------------------
Reporter: edumj | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
When I convert XSUB to Hard Subs, they stay all the time on the screen,
and only disappear when a new subtitle appears.
It seems that "end time" for subtitles are ignored, so each subtitle is
visible until next subtitle comes up (except with the last subtitle).
It happens with XSUBs made with ffmpeg and also with DivxMux.
You can reproduce it with this .divx sample:
[https://samples.ffmpeg.org/sub/small.divx]
and also converting this VOBs (with DVDSubs) to AVI (with XSUBs), and then
overlay those XSUBs:
[https://samples.ffmpeg.org/MPEG-VOB/ClosedCaptions/Starship_Troopers.vob]
[https://samples.ffmpeg.org/sub/starwarssub2.vob]
ffmpeg to make XSUBs (still off the screen with PAL VOBs...):
{{{
"%~dps0\ffmpeg" -palette
"000000,444444,ffffff,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000,000000"
-i "%~1" -map 0:v -map 0:a:0 -map 0:s:0 -scodec xsub -f avi -c:v libxvid
-b:v 1500k -vtag XVID -c:a libmp3lame -b:a 128k "%~dps0\%~n1 XSUB.avi"
}}}
Full Output:
{{{
ffmpeg version N-81696-gd38dff8e Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-
bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-
gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b
--enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm
--enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-
libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex
--enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-
libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 29.100 / 55. 29.100
libavcodec 57. 57.100 / 57. 57.100
libavformat 57. 49.100 / 57. 49.100
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 62.100 / 6. 62.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, mpeg, from 'C:\Users\Edumj\Videos\Pa Probar\VOB (NTSC) con
Closed Captions\Starship_Troopers.vob':
Duration: 00:00:51.30, start: 1986.626100, bitrate: 4618 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480
[SAR 32:27 DAR 16:9], Closed Captions, 29.97 fps, 59.94 tbr, 90k tbn,
59.94 tbc
Stream #0:1[0x83]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:2[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:4[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:5[0x20]: Subtitle: dvd_subtitle
Stream #0:6[0x22]: Subtitle: dvd_subtitle
[avi @ 03037500] Using AVStream.codec to pass codec parameters to muxers
is deprecated, use AVStream.codecpar instead.
Last message repeated 2 times
[null @ 02fa2380] Using AVStream.codec to pass codec parameters to muxers
is deprecated, use AVStream.codecpar instead.
Last message repeated 1 times
Output #0, avi, to 'C:\_CONVE~1\FFMPEG~2\XSUBAH~1\\Starship_Troopers
XSUB.avi':
Metadata:
ISFT : Lavf57.49.100
Stream #0:0: Video: mpeg4 (libxvid) (XVID / 0x44495658), yuv420p,
720x480 [SAR 32:27 DAR 16:9], q=2-31, 1500 kb/s, 29.97 fps, 29.97 tbn,
29.97 tbc
Metadata:
encoder : Lavc57.57.100 libxvid
Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz,
stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc57.57.100 libmp3lame
Stream #0:2: Subtitle: xsub (DXSB / 0x42535844)
Metadata:
encoder : Lavc57.57.100 xsub
Output #1, null, to 'nul':
Metadata:
encoder : Lavf57.49.100
Stream #1:0: Video: wrapped_avframe, yuv420p, 720x480 [SAR 32:27 DAR
16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
Metadata:
encoder : Lavc57.57.100 wrapped_avframe
Stream #1:1: Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s
Metadata:
encoder : Lavc57.57.100 pcm_s16le
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> mpeg4 (libxvid))
Stream #0:1 -> #0:1 (ac3 (native) -> mp3 (libmp3lame))
Stream #0:5 -> #0:2 (dvd_subtitle (dvdsub) -> xsub (native))
Stream #0:0 -> #1:0 (mpeg2video (native) -> wrapped_avframe (native))
Stream #0:4 -> #1:1 (ac3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[ac3 @ 05731760] frame sync error
Error while decoding stream #0:1: Invalid data found when processing input
[ac3 @ 0549a4e0] frame sync error
Error while decoding stream #0:4: Invalid data found when processing input
[libmp3lame @ 0549c720] Queue input is backward in time
[null @ 02fa2380] Application provided invalid, non monotonically
increasing dts to muxer in stream 1: 1891 >= 1891
frame= 105 fps=0.0 q=4.0 q=-0.0 size= 14kB time=00:00:04.33 bitrate=
26.3kbits/s speed=8.62x
frame= 207 fps=206 q=7.0 q=-0.0 size= 14kB time=00:00:08.60 bitrate=
13.2kbits/s speed=8.58x
[mpeg @ 02f88a00] New subtitle stream 0:7 at pos:8497166 and DTS:1999.51s
frame= 313 fps=208 q=4.0 q=-0.0 size= 2300kB time=00:00:13.06
bitrate=1442.4kbits/s speed=8.68x
frame= 439 fps=219 q=5.0 q=-0.0 size= 2729kB time=00:00:18.28
bitrate=1222.4kbits/s speed=9.12x
frame= 546 fps=218 q=7.0 q=-0.0 size= 2729kB time=00:00:22.75 bitrate=
982.4kbits/s speed=9.07x
frame= 662 fps=220 q=10.0 q=-0.0 size= 4187kB time=00:00:27.59
bitrate=1243.1kbits/s speed=9.17x
frame= 779 fps=222 q=4.0 q=-0.0 size= 4187kB time=00:00:32.48
bitrate=1055.8kbits/s speed=9.26x
frame= 904 fps=225 q=5.0 q=-0.0 size= 6164kB time=00:00:37.67
bitrate=1340.4kbits/s speed=9.39x
frame= 1023 fps=227 q=5.0 q=-0.0 size= 6735kB time=00:00:42.64
bitrate=1293.9kbits/s speed=9.45x
frame= 1147 fps=229 q=5.0 q=-0.0 size= 7628kB time=00:00:47.81
bitrate=1306.9kbits/s speed=9.54x
[mpeg2video @ 057311c0] ac-tex damaged at 3 27
[mpeg2video @ 057311c0] Warning MVs not available
[mpeg2video @ 057311c0] concealing 135 DC, 135 AC, 135 MV errors in I
frame
[ac3 @ 05731760] incomplete frame
[ac3 @ 0549a4e0] incomplete frame
frame= 1229 fps=229 q=6.0 Lq=-0.0 size= 8740kB time=00:00:51.31
bitrate=1395.1kbits/s speed=9.57x
video:8279kB audio:29601kB subtitle:20kB other streams:0kB global
headers:0kB muxing overhead: unknown
}}}
ffmpeg to overlay XSUBs:
{{{
"%~dps0\ffmpeg" -i "%~dps0\%~n1 XSUB.avi" -filter_complex
"[0:v][0:s:0]overlay[out]" -map "[out]" -map 0:a:0 -f avi -c:v
libxvid -b:v 1500k -vtag XVID -c:a libmp3lame -b:a 128k "%~dps0\%~n1 XSUB
to Hard Subs.avi"
}}}
Full Output:
{{{
ffmpeg version N-81696-gd38dff8e Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-
bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-
gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b
--enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm
--enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-
libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex
--enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-
libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 29.100 / 55. 29.100
libavcodec 57. 57.100 / 57. 57.100
libavformat 57. 49.100 / 57. 49.100
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 62.100 / 6. 62.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
[avi @ 049f81a0] scale/rate is 0/0 which is invalid. (This file has been
generated by broken software.)
[avi @ 049f81a0] non-interleaved AVI
Input #0, avi, from 'C:\_CONVE~1\FFMPEG~2\XSUBAH~1\\Starship_Troopers
XSUB.avi':
Metadata:
encoder : Lavf57.49.100
Duration: 00:00:51.32, start: 0.000000, bitrate: 1395 kb/s
Stream #0:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658),
yuv420p, 720x480 [SAR 32:27 DAR 16:9], 1248 kb/s, 29.97 fps, 29.97 tbr,
29.97 tbn, 29.97 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p,
128 kb/s
Stream #0:2: Subtitle: xsub (DXSB / 0x42535844), 539 kb/s
[avi @ 049f81a0] sub2video: using 720x480 canvas
[avi @ 04abfa40] Using AVStream.codec to pass codec parameters to muxers
is deprecated, use AVStream.codecpar instead.
Last message repeated 1 times
[null @ 04a36020] Using AVStream.codec to pass codec parameters to muxers
is deprecated, use AVStream.codecpar instead.
Last message repeated 1 times
Output #0, avi, to 'C:\_CONVE~1\FFMPEG~2\XSUBAH~1\\Starship_Troopers XSUB
to Hard Subs.avi':
Metadata:
ISFT : Lavf57.49.100
Stream #0:0: Video: mpeg4 (libxvid) (XVID / 0x44495658), yuv420p,
720x480 [SAR 32:27 DAR 16:9], q=2-31, 1500 kb/s, 29.97 fps, 29.97 tbn,
29.97 tbc (default)
Metadata:
encoder : Lavc57.57.100 libxvid
Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz,
stereo, s16p, 128 kb/s
Metadata:
encoder : Lavc57.57.100 libmp3lame
Output #1, null, to 'nul':
Metadata:
encoder : Lavf57.49.100
Stream #1:0: Video: wrapped_avframe, yuv420p, 720x480 [SAR 32:27 DAR
16:9], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc
Metadata:
encoder : Lavc57.57.100 wrapped_avframe
Stream #1:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Metadata:
encoder : Lavc57.57.100 pcm_s16le
Stream mapping:
Stream #0:0 (mpeg4) -> overlay:main (graph 0)
Stream #0:2 (xsub) -> overlay:overlay (graph 0)
overlay (graph 0) -> Stream #0:0 (libxvid)
Stream #0:1 -> #0:1 (mp3 (native) -> mp3 (libmp3lame))
Stream #0:0 -> #1:0 (mpeg4 (native) -> wrapped_avframe (native))
Stream #0:1 -> #1:1 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 87 fps=0.0 q=5.0 q=-0.0 size= 625kB time=00:00:03.93
bitrate=1299.9kbits/s speed=7.81x
frame= 173 fps=172 q=5.0 q=-0.0 size= 1231kB time=00:00:07.51
bitrate=1342.2kbits/s speed=7.46x
frame= 265 fps=176 q=7.0 q=-0.0 size= 1955kB time=00:00:11.35
bitrate=1410.5kbits/s speed=7.53x
frame= 369 fps=184 q=4.0 q=-0.0 size= 2710kB time=00:00:15.69
bitrate=1414.4kbits/s speed=7.82x
frame= 470 fps=187 q=11.0 q=-0.0 size= 3551kB time=00:00:19.89
bitrate=1462.2kbits/s speed=7.93x
frame= 567 fps=188 q=11.0 q=-0.0 size= 4280kB time=00:00:23.95
bitrate=1463.7kbits/s speed=7.96x
frame= 666 fps=190 q=12.0 q=-0.0 size= 5001kB time=00:00:28.05
bitrate=1460.2kbits/s speed=7.99x
frame= 764 fps=190 q=6.0 q=-0.0 size= 5574kB time=00:00:32.13
bitrate=1420.9kbits/s speed=8.01x
frame= 869 fps=193 q=5.0 q=-0.0 size= 6222kB time=00:00:36.52
bitrate=1395.4kbits/s speed=8.09x
frame= 973 fps=194 q=5.0 q=-0.0 size= 6914kB time=00:00:40.87
bitrate=1385.8kbits/s speed=8.15x
frame= 1076 fps=195 q=5.0 q=-0.0 size= 7637kB time=00:00:45.19
bitrate=1384.4kbits/s speed=8.19x
frame= 1181 fps=196 q=6.0 q=-0.0 size= 8360kB time=00:00:49.56
bitrate=1381.9kbits/s speed=8.23x
frame= 1230 fps=196 q=8.0 Lq=-0.0 size= 8790kB time=00:00:55.35
bitrate=1300.9kbits/s speed=8.82x
video:8351kB audio:10413kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6013>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list