[FFmpeg-trac] #3217(FFmpeg:new): Audio filter produce broken output when used with '-map'

FFmpeg trac at avcodec.org
Wed Dec 11 01:28:34 CET 2013


#3217: Audio filter produce broken output when used with '-map'
--------------------------------+--------------------------------------
             Reporter:  Selur   |                     Type:  defect
               Status:  new     |                 Priority:  normal
            Component:  FFmpeg  |                  Version:  git-master
             Keywords:          |               Blocked By:
             Blocking:          |  Reproduced by developer:  0
Analyzed by developer:  0       |
--------------------------------+--------------------------------------
 Trying to fix a positive delay in an ac3 stream I stumbled over the
 problem, that as soon as I use '-map 0:1' (to make sure the correct audio
 stream is used) the output is broken.

 call 1 (broken output):
 {{{
 ffmpeg -y -threads 8 -analyzeduration 100M -probesize 100M -i
 "H:\Output\cut.m2ts" -map 0:1 -vn -filter_complex
 "aevalsrc=0:0:0:0:0:0::d=0.138:sample_rate=48000[silence];[silence][0:a]concat=n=2:v=0:a=1[out]"
 -map [out]  -c:a ac3 -ab 384000 -map_metadata -1 "H:\Output\broken.ac3"
 }}}
 output 1:
 {{{
 ffmpeg version N-58961-g3af9d82 Copyright (c) 2000-2013 the FFmpeg
 developers  built on Dec 10 2013 22:26:27 with gcc 4.8.2 (rev0, Built by
 MinGW-W64 project)
   configuration: --arch=x86_64 --prefix=/local64 --extra-
 cflags='-DPTW32_STATIC_LIB -DLIBTWOLAME_STATIC' --extra-libs='-lxml2 -lz
 -liconv -lws2_32 -lstdc++ -lpng -lm -lpthread -lwsock32' --disable-debug
 --enable-gpl --enable-version3 --enable-postproc --enable-w32threads
 --enable-runtime-cpudetect --enable-memalign-hack --disable-shared
 --enable-static --enable-avfilter --enable-bzlib --enable-zlib --enable-
 librtmp --enable-gnutls --enable-avisynth --enable-frei0r --enable-
 filter=frei0r --enable-libbluray --enable-libcaca --enable-libopenjpeg
 --enable-fontconfig --enable-libfreetype --enable-libass --enable-libgsm
 --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-
 libschroedinger --enable-libsoxr --enable-libtwolame --enable-libutvideo
 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvo-
 aacenc --enable-libopus --enable-libvidstab --enable-libvpx --enable-
 libxavs --enable-libx264 --enable-libxvid --enable-libzvbi
   libavutil      52. 58.100 / 52. 58.100
   libavcodec     55. 45.100 / 55. 45.100
   libavformat    55. 22.100 / 55. 22.100
   libavdevice    55.  5.102 / 55.  5.102
   libavfilter     3. 92.100 /  3. 92.100
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
 [h264 @ 000000000075cd80] SEI type 1 size 56 truncated at 53
 [h264 @ 000000000075cd80] mmco: unref short failure
     Last message repeated 1 times
 [h264 @ 000000000075cd80] number of reference frames (0+4) exceeds max (3;
 probably corrupt input), discarding one
 [h264 @ 000000000075cd80] SEI type 1 size 56 truncated at 53
     Last message repeated 38 times
 Input #0, mpegts, from 'H:\Output\cut.m2ts':
   Duration: 00:00:30.11, start: 4292.050000, bitrate: 7719 kb/s
   Program 1
     Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448),
 yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn,
 50 tbc
     Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
 5.1(side), fltp, 384 kb/s
 [Parsed_aevalsrc_0 @ 0000000006bc05e0] This syntax is deprecated. Use '|'
 to separate the list items.
 Output #0, ac3, to 'H:\Output\broken.ac3':
   Metadata:
     encoder         : Lavf55.22.100
     Stream #0:0: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:1: Audio: ac3, 48000 Hz, 5.1, fltp, 384 kb/s
 Stream mapping:
   Stream #0:1 (ac3) -> concat:in1:a0 (graph 0)
   Stream #0:1 -> #0:0 (ac3 -> ac3)
   concat (graph 0) -> Stream #0:1 (ac3)
 Press [q] to stop, [?] for help
 size=    2828kB time=00:00:30.23 bitrate= 766.1kbits/s
 video:0kB audio:2828kB subtitle:0 global headers:0kB muxing overhead
 0.000000%
 }}}

 call 2 (working output):
 {{{
 ffmpeg -y -threads 8 -analyzeduration 100M -probesize 100M -i
 "H:\Output\cut.m2ts" -vn -filter_complex
 "aevalsrc=0:0:0:0:0:0::d=0.138:sample_rate=48000[silence];[silence][0:a]concat=n=2:v=0:a=1[out]"
 -map [out]  -c:a ac3 -ab 384000 -map_metadata -1 "H:\Output\working.ac3"
 }}}
 output 2:
 {{{
 ffmpeg version N-58961-g3af9d82 Copyright (c) 2000-2013 the FFmpeg
 developers built on Dec 10 2013 22:26:27 with gcc 4.8.2 (rev0, Built by
 MinGW-W64 project)
   configuration: --arch=x86_64 --prefix=/local64 --extra-
 cflags='-DPTW32_STATIC_LIB -DLIBTWOLAME_STATIC' --extra-libs='-lxml2 -lz
 -liconv -lws2_32 -lstdc++ -lpng -lm -lpthread -lwsock32' --disable-debug
 --enable-gpl --enable-version3 --enable-postproc --enable-w32threads
 --enable-runtime-cpudetect --enable-memalign-hack --disable-shared
 --enable-static --enable-avfilter --enable-bzlib --enable-zlib --enable-
 librtmp --enable-gnutls --enable-avisynth --enable-frei0r --enable-
 filter=frei0r --enable-libbluray --enable-libcaca --enable-libopenjpeg
 --enable-fontconfig --enable-libfreetype --enable-libass --enable-libgsm
 --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-
 libschroedinger --enable-libsoxr --enable-libtwolame --enable-libutvideo
 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvo-
 aacenc --enable-libopus --enable-libvidstab --enable-libvpx --enable-
 libxavs --enable-libx264 --enable-libxvid --enable-libzvbi
   libavutil      52. 58.100 / 52. 58.100
   libavcodec     55. 45.100 / 55. 45.100
   libavformat    55. 22.100 / 55. 22.100
   libavdevice    55.  5.102 / 55.  5.102
   libavfilter     3. 92.100 /  3. 92.100
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
 [h264 @ 000000000078cc40] SEI type 1 size 56 truncated at 53
 [h264 @ 000000000078cc40] mmco: unref short failure
     Last message repeated 1 times
 [h264 @ 000000000078cc40] number of reference frames (0+4) exceeds max (3;
 probably corrupt input), discarding one
 [h264 @ 000000000078cc40] SEI type 1 size 56 truncated at 53
     Last message repeated 38 times
 Input #0, mpegts, from 'H:\Output\cut.m2ts':
   Duration: 00:00:30.11, start: 4292.050000, bitrate: 7719 kb/s
   Program 1
     Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448),
 yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn,
 50 tbc
     Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
 5.1(side), fltp, 384 kb/s
 [Parsed_aevalsrc_0 @ 000000000078d560] This syntax is deprecated. Use '|'
 to separate the list items.
 Output #0, ac3, to 'H:\Output\working.ac3':
   Metadata:
     encoder         : Lavf55.22.100
     Stream #0:0: Audio: ac3, 48000 Hz, 5.1, fltp, 384 kb/s
 Stream mapping:
   Stream #0:1 (ac3) -> concat:in1:a0
   concat -> Stream #0:0 (ac3)
 Press [q] to stop, [?] for help
 size=    1418kB time=00:00:30.23 bitrate= 384.1kbits/s
 video:0kB audio:1418kB subtitle:0 global headers:0kB muxing overhead
 0.000000%
 }}
 Problem:
 "call 1" produces a broken output, where as "call 2" works fine.
 The only difference between these calls is the "-map 0:1" part, which
 often is required to select the correct audio stream which should be
 processed.

 Uploaded the source and the two outputs to:
 http://www.embedupload.com/?d=8GIXBAL0NC

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


More information about the FFmpeg-trac mailing list