[FFmpeg-trac] #1670(FFmpeg:new): -filter_complex doesn't handle well finite video + infinite audio

FFmpeg trac at avcodec.org
Tue Aug 21 22:11:24 CEST 2012


#1670: -filter_complex doesn't handle well finite video + infinite audio
---------------------------------------+--------------------------------
               Reporter:  ubitux       |                  Owner:
                   Type:  defect       |                 Status:  new
               Priority:  normal       |              Component:  FFmpeg
                Version:  unspecified  |               Keywords:
             Blocked By:               |               Blocking:
Reproduced by developer:  1            |  Analyzed by developer:  0
---------------------------------------+--------------------------------
 Given a 60 seconds video stream:

 {{{
 ./ffmpeg -v 0 -f lavfi -i testsrc=d=60 -y video.mp4
 }}}

 and a 5 seconds audio stream:

 {{{
 ./ffmpeg -v 0 -f lavfi -i 'aevalsrc=sin(440*2*PI*t)::d=5' -y audio.wav
 }}}

 We can make a video presentation of 60 seconds with the 5 seconds audio
 padded with silence with the following command line:

 {{{
 ./ffmpeg -f lavfi -i 'movie=video.mp4 [out0]; amovie=audio.wav [audio];
 aevalsrc=0 [silence]; [audio][silence] concat=v=0:a=1 [out1]' -y out.avi
 }}}

 Unfortunately, this doesn't work with the -filter_complex option:

 {{{
 % ./ffmpeg -i video.mp4 -i audio.wav -filter_complex 'aevalsrc=0
 [silence]; [1:0][silence] concat=v=0:a=1 [padded_audio]' -map 0:0 -map
 '[padded_audio]' -y out.avi
 ffmpeg version N-43791-g2c7a622 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Aug 21 2012 21:01:23 with gcc 4.7.1 (GCC) 20120721 (prerelease)
   configuration: --enable-gpl --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='ccache
 colorgcc' --samples=/home/ubitux/fate-samples --prefix=/tmp/ffinstall
   libavutil      51. 70.100 / 51. 70.100
   libavcodec     54. 54.100 / 54. 54.100
   libavformat    54. 25.104 / 54. 25.104
   libavdevice    54.  2.100 / 54.  2.100
   libavfilter     3. 13.100 /  3. 13.100
   libswscale      2.  1.101 /  2.  1.101
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf54.25.104
   Duration: 00:01:00.00, start: 0.000000, bitrate: 37 kb/s
     Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 /
 0x31637661), yuv444p, 320x240 [SAR 1:1 DAR 4:3], 34 kb/s, 25 fps, 25 tbr,
 25 tbn, 50 tbc
     Metadata:
       handler_name    : VideoHandler
 Guessed Channel Layout for  Input Stream #1.0 : mono
 Input #1, wav, from 'audio.wav':
   Duration: 00:00:05.01, bitrate: 705 kb/s
     Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono,
 s16, 705 kb/s
 Output #0, avi, to 'out.avi':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     ISFT            : Lavf54.25.104
     Stream #0:0(und): Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 320x240
 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 tbn, 25 tbc
     Metadata:
       handler_name    : VideoHandler
     Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, mono, s16
 Stream mapping:
   Stream #1:0 (pcm_s16le) -> concat:in0:a0 (graph 0)
   Stream #0:0 -> #0:0 (h264 -> mpeg4)
   concat (graph 0) -> Stream #0:1 (libmp3lame)
 Press [q] to stop, [?] for help
 frame= 1500 fps=177 q=9.6 Lsize=   13088kB time=00:01:00.00
 bitrate=1786.9kbits/s
 }}}

 This creates some kind of infinite loop, with fps slightly decreasing over
 time (+memory leak)

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1670>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list