[FFmpeg-trac] #11016(undetermined:new): -channel_layout input flag stopped working

FFmpeg trac at avcodec.org
Thu May 16 23:52:05 EEST 2024


#11016: -channel_layout input flag stopped working
-------------------------------------+-------------------------------------
             Reporter:  Derek        |                     Type:  defect
  Prestegard                         |
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  7.0
  undetermined                       |
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:
 I deal with wacky QuickTime MOVs with lots of different combinations of
 audio tracks. Often I need to extract 2 or 6 channels and use the amerge
 filter to make a multi-channel track to pass downstream for AAC encoding
 etc.

 Sometimes the channel layouts of these input files are wrong, and
 sometimes they use labels that FFmpeg doesn't understand. So, several
 years ago I found that simply adding "-channel_layout mono" prior to the
 input file was a nice way to make ffmpeg just treat each channel as "mono"
 which avoided chaos downstream with amerge.

 However, this seems to have broken recently. I'm on 7.0 (also tried a
 recent build from git head) and it doesn't seem to have any effect.

 How to reproduce:
 {{{
 % ffmpeg -channel_layout mono -i sample_24_track_crazy.mov
 -filter_complex "[0:18][0:18]amerge=inputs=2[aout]" -map "[aout]" -c:a
 pcm_s24le foo.wav

 ffmpeg version N-115032-g127e7e4249-gb7debef3cc+1 Copyright (c) 2000-2024
 the FFmpeg developers
   built with gcc 13.2.0 (Rev6, Built by MSYS2 project)
   configuration:  --pkg-config=pkgconf --cc='ccache gcc' --cxx='ccache
 g++' --ld='ccache g++' --extra-cxxflags=-fpermissive --extra-cflags=-Wno-
 int-conversion --disable-autodetect --enable-amf --enable-bzlib --enable-
 cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv
 --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --enable-
 ffnvcodec --enable-nvdec --enable-cuda-llvm --enable-libmp3lame --enable-
 libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-
 libx265 --enable-libdav1d --enable-libaom --disable-debug --enable-libfdk-
 aac --enable-fontconfig --enable-libass --enable-libbluray --enable-
 libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy
 --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame
 --enable-libvidstab --enable-libvo-amrwbenc --enable-libwebp --enable-
 libxml2 --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth
 --enable-libxvid --enable-libopenmpt --enable-version3 --enable-librav1e
 --enable-libsrt --enable-libgsm --enable-libvmaf --enable-libsvtav1
 --enable-decklink --enable-libcdio --enable-libfribidi --enable-librist
 --enable-librtmp --enable-librubberband --enable-libzvbi --enable-openal
 --enable-libcodec2 --enable-ladspa --enable-libglslang --enable-vulkan
 --enable-libplacebo --enable-libjxl --enable-opencl --enable-opengl
 --enable-libnpp --enable-openssl --extra-cflags=-DLIBTWOLAME_STATIC
 --extra-libs=-lstdc++ --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv
 --disable-w32threads --enable-nonfree --extra-
 cflags='-IC:/PROGRA~1/NVIDIA~2/CUDA/v12.4/include' --extra-
 ldflags='-LC:/PROGRA~1/NVIDIA~2/CUDA/v12.4/lib/x64' --extra-
 cflags=-DAL_LIBTYPE_STATIC --extra-cflags='-IC:/media-
 autobuild_suite/local64/include' --extra-cflags='-IC:/media-
 autobuild_suite/local64/include/AL'
   libavutil      59. 16.101 / 59. 16.101
   libavcodec     61.  5.103 / 61.  5.103
   libavformat    61.  3.103 / 61.  3.103
   libavdevice    61.  2.100 / 61.  2.100
   libavfilter    10.  2.101 / 10.  2.101
   libswscale      8.  2.100 /  8.  2.100
   libswresample   5.  2.100 /  5.  2.100
   libpostproc    58.  2.100 / 58.  2.100
 [aist#0:2/pcm_s24le @ 000001c76394e340] Guessed Channel Layout: mono
 [aist#0:6/pcm_s24le @ 000001c76392a840] Guessed Channel Layout: mono
 [aist#0:17/pcm_s24le @ 000001c763951340] Guessed Channel Layout: mono
 [aist#0:20/pcm_s24le @ 000001c763950e00] Guessed Channel Layout: mono
 [aist#0:21/pcm_s24le @ 000001c763950fc0] Guessed Channel Layout: mono
 [aist#0:24/pcm_s24le @ 000001c7639516c0] Guessed Channel Layout: mono
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample_24_track_crazy.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 537134592
     compatible_brands: qt
     creation_time   : 2024-05-16T20:37:59.000000Z
     encoder         : Telestream Media Framework Local 999999
     encoder-eng     : Telestream Media Framework Local 999999
     com.apple.quicktime.software: Telestream Media Framework Local 999999
     timecode        : 00:00:00:00
   Duration: 00:00:00.88, start: 0.000000, bitrate: 31912 kb/s
   Stream #0:0[0x1](eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         handler_name    : Time Code Media Handler
         reel_name       : Unnamed
         timecode        : 00:00:00:00
   Stream #0:1[0x2](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1
 channels (TBC), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:2[0x3](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 mono, s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:3[0x4](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1
 channels (FLC), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:4[0x5](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1
 channels (TC), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:5[0x6](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1
 channels (TC), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:6[0x7](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 mono, s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:7[0x8](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1
 channels (FR), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:8[0x9](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1
 channels (SL), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:9[0xa](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1
 channels (TC), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:10[0xb](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (LFE), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:11[0xc](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (FR), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:12[0xd](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 mono, s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:13[0xe](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (FL), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:14[0xf](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (SR), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:15[0x10](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (TBR), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:16[0x11](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (TBC), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:17[0x12](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 mono, s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:18[0x13](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (UNSD), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:19[0x14](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (DL), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:20[0x15](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 mono, s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:21[0x16](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 mono, s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:22[0x17](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 mono, s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:23[0x18](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 1 channels (FR), s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
   Stream #0:24[0x19](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz,
 mono, s32 (24 bit), 1152 kb/s (default)
       Metadata:
         creation_time   : 2024-05-16T20:37:59.000000Z
         vendor_id       : [0][0][0][0]
 File 'foo.wav' already exists. Overwrite? [y/N] y
 Stream mapping:
   Stream #0:18 (pcm_s24le) -> amerge
   Stream #0:18 (pcm_s24le) -> amerge
   amerge:default -> Stream #0:0 (pcm_s24le)
 Press [q] to stop, [?] for help
 [Parsed_amerge_0 @ 000001c763949140] No channel layout for input 1
 [fc#0 @ 000001c7638ffb80] Error while filtering: Cannot allocate memory
 [fc#0 @ 000001c7638ffb80] Task finished with error code: -12 (Cannot
 allocate memory)
 [fc#0 @ 000001c7638ffb80] Terminating thread with return code -12 (Cannot
 allocate memory)
 [aost#0:0/pcm_s24le @ 000001c76391d140] Could not open encoder before EOF
 [aost#0:0/pcm_s24le @ 000001c76391d140] Task finished with error code: -22
 (Invalid argument)
 [aost#0:0/pcm_s24le @ 000001c76391d140] Terminating thread with return
 code -22 (Invalid argument)
 [out#0/wav @ 000001c76394eac0] Nothing was written into output file,
 because at least one of its streams received no packets.
 size=       0KiB time=N/A bitrate=N/A speed=N/A
 Conversion failed!
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11016>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list