Opened 7 years ago

Closed 13 months ago

#7046 closed defect (duplicate)

Cannot select channel layout when loudnorm filter is used

Reported by: lkiesow Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

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

Change History (2)

comment:1 by JamesBond, 13 months ago

Comrades, this ticket was submitted 6 years ago, SIX! And still got no attention.
It reminds of 17 year old Firefox feature request fixed and Firefox tooltip bug fixed after 22 years.
Come on, FFMPEG community is better than that, isn't it?

comment:2 by Elon Musk, 13 months ago

Resolution: duplicate
Status: newclosed

Duplicate of #6638, which have been fixed.

Note: See TracTickets for help on using tickets.