[FFmpeg-trac] #7046(undetermined:new): Cannot select channel layout when loudnorm filter is used

FFmpeg trac at avcodec.org
Tue Feb 27 14:33:17 EET 2018


#7046: Cannot select channel layout when loudnorm filter is used
-------------------------------------+-------------------------------------
             Reporter:  lkiesow      |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Using a loudnorm and an aresample filter in a chain results in:

 ''Cannot select channel layout for the link between filters
 Parsed_aresample_1 and format_out_0_1.
 Error reinitializing filters!''

 I would expect FFmpeg to use the input channel layout for output like it
 usually does.

 A simple example command to test this:

 {{{
 %ffmpeg -y -i test.mp4 -filter:a loudnorm,aresample=44100 -c:v copy -c:a
 aac out.mp4                                                [1]
 ffmpeg version N-45155-gb6652f510-static https://johnvansickle.com/ffmpeg/
 Copyright (c) 2000-2018 the FFmpeg developers
   built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
   configuration: --enable-gpl --enable-version3 --enable-static --disable-
 debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
 --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-
 gray --enable-libfribidi --enable-libass --enable-libfreetype --enable-
 libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
 libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex
 --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab
 --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264
 --enable-libx265 --enable-libxvid --enable-libzimg
   libavutil      56.  7.101 / 56.  7.101
   libavcodec     58. 12.102 / 58. 12.102
   libavformat    58.  9.100 / 58.  9.100
   libavdevice    58.  2.100 / 58.  2.100
   libavfilter     7. 12.100 /  7. 12.100
   libswscale      5.  0.101 /  5.  0.101
   libswresample   3.  0.101 /  3.  0.101
   libpostproc    55.  0.100 / 55.  0.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'norm-test-enc.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf57.83.100
   Duration: 00:02:00.02, start: 0.000000, bitrate: 1217 kb/s
     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1920x1080, 1079 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
     Metadata:
       handler_name    : VideoHandler
     Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 128 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (aac (native) -> aac (native))
 Press [q] to stop, [?] for help
 [Parsed_aresample_1 @ 0x5a86040] Cannot select channel layout for the link
 between filters Parsed_aresample_1 and format_out_0_1.
 Error reinitializing filters!
 Failed to inject frame into filter network: Invalid argument
 Error while processing the decoded data for stream #0:1
 Conversion failed!
 }}}

 The same command works if I set a fixed channel layout:

 {{{
 ffmpeg -i in.mp4 -filter:a loudnorm,aresample=44100 -c:v copy -c:a aac -ac
 2 out.mp4
 }}}

 Setting no fixed channel layout but removing the loadnorm filter works
 fine as well:

 {{{
 ffmpeg -i in.mp4 -filter:a aresample=44100 -c:v copy -c:a aac out.mp4
 }}}

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


More information about the FFmpeg-trac mailing list