[FFmpeg-user] Sticky subtiles when hardcoding them with -filter_complex

Tim Hughes tim at twistedfury.com
Thu Nov 29 16:39:05 CET 2012


Hi,

I've been attempting to use the experimental ffmpeg feature to burn
bitmap subtitles following the example in the doc. Here's my commandline:

ffmpeg.exe -probesize 1G -analyzeduration 200M -i VTS_01_1.VOB  -t 600 \
  -fix_sub_duration -filter_complex "[0:6] negate [sub] ; [0:0] [sub] overlay" \
  -vcodec mpeg4 -b:v 3000k -b:a 160k -map 0:2 -ac 2 output.mp4

It works correctly, apart from the problem that the subtitles never
disappear during silence.  Each subtitle stays on screen until it is
finally replaced by the next.  I've tried with and without the
fix_sub_duration option, and the negate filter.

Anyone know what I'm doing wrong?

Thanks in advance

Tim


>>>>>

ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov 25 2012 12:25:21 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-pthreads
--enable-runtime-cpudetect --enable-avisynth --enable-bzlib
--enable-frei0r --enable-libass --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libfreetype --enable-libgsm
--enable-libmp3lame --enable-libnut --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libutvideo
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid
--enable-zlib
  libavutil      52.  9.100 / 52.  9.100
  libavcodec     54. 77.100 / 54. 77.100
  libavformat    54. 37.100 / 54. 37.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 23.102 /  3. 23.102
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 17.101 /  0. 17.101
  libpostproc    52.  2.100 / 52.  2.100
[mpeg @ 000000000034eca0] max_analyze_duration 200000000 reached at 200000000
Input #0, mpeg, from 'VTS_01_1.VOB':
  Duration: 01:36:36.40, start: 0.280000, bitrate: 7112 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576
[SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x83]: Audio: ac3, 48000 Hz, stereo, s16, 224 kb/s
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), s16, 448 kb/s
    Stream #0:3[0x82]: Audio: ac3, 48000 Hz, 5.1(side), s16, 448 kb/s
    Stream #0:4[0x89]: Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s
    Stream #0:5[0x21]: Subtitle: dvd_subtitle
    Stream #0:6[0x20]: Subtitle: dvd_subtitle
[mpeg @ 000000000034eca0] sub2video: using 720x576 canvas
Output #0, mp4, to 'output.mp4':
  Metadata:
    encoder         : Lavf54.37.100
    Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 720x576
[SAR 64:45 DAR 16:9], q=2-31, 3000 kb/s, 12800 tbn, 25 tbc
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz,
stereo, s16, 160 kb/s
Stream mapping:
  Stream #0:0 (mpeg2video) -> overlay:main (graph 0)
  Stream #0:6 (dvdsub) -> negate (graph 0)
  overlay (graph 0) -> Stream #0:0 (mpeg4)
  Stream #0:2 -> #0:1 (ac3 -> libvo_aacenc)
Press [q] to stop, [?] for help
[mpeg2video @ 000000000034f7a0] warning: first frame is no keyframe
frame=15000 fps= 97 q=2.0 Lsize=  231879kB time=00:10:00.00
bitrate=3165.9kbits/s dup=6 drop=1
video:219824kB audio:11720kB subtitle:0 global headers:0kB muxing
overhead 0.145019%


More information about the ffmpeg-user mailing list