[FFmpeg-trac] #5179(undetermined:new): Native AAC encoder does not respect channelmap assignments
FFmpeg
trac at avcodec.org
Fri Jan 22 14:36:35 CET 2016
#5179: Native AAC encoder does not respect channelmap assignments
-------------------------------------+-------------------------------------
Reporter: mulvya | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Tried to generate a 4-channel AAC stream with `quad(side)` layout, but the
output MP4 reports stream layout as `4.0`. WAV is generated with correct
layout. Using Zeranoe static binary.
----
Generation of dummy stereo source.
{{{
ffmpeg -f lavfi -i "aevalsrc=0|0:d=5" null0.mp4 -report 2> null0.log
ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
--enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
--enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
--enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
--enable-zlib
libavutil 55. 12.100 / 55. 12.100
libavcodec 57. 21.100 / 57. 21.100
libavformat 57. 21.101 / 57. 21.101
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 23.100 / 6. 23.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, lavfi, from 'aevalsrc=0|0:d=5':
Duration: N/A, start: 0.000000, bitrate: 5644 kb/s
Stream #0:0: Audio: pcm_f64le, 44100 Hz, stereo, dbl, 5644 kb/s
Output #0, mp4, to 'null0.mp4':
Metadata:
encoder : Lavf57.21.101
Stream #0:0: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz,
stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc57.21.100 aac
Stream mapping:
Stream #0:0 -> #0:0 (pcm_f64le (native) -> aac (native))
Press [q] to stop, [?] for help
size= 3kB time=00:00:05.01 bitrate= 4.7kbits/s speed=79.6x
video:0kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 122.289612%
[aac @ 00000000003ad8c0] Qavg: 65536.000
}}}
----
Generation of 4 channel AAC in MP4
{{{
ffmpeg -i null0.mp4 -lavfi
"[0]asplit[a][b];[a][b]amerge[o];[o]channelmap=0|1|2|3:quad(side)[out]"
-map "[out]" null1.mp4 2> null1.log
ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
--enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
--enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
--enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
--enable-zlib
libavutil 55. 12.100 / 55. 12.100
libavcodec 57. 21.100 / 57. 21.100
libavformat 57. 21.101 / 57. 21.101
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 23.100 / 6. 23.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'null0.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf57.21.101
Duration: 00:00:05.04, start: 0.023220, bitrate: 4 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
stereo, fltp, 2 kb/s (default)
Metadata:
handler_name : SoundHandler
[Parsed_amerge_1 @ 00000000029a3cc0] No channel layout for input 1
[Parsed_amerge_1 @ 00000000029a3cc0] Input channel layouts overlap: output
layout will be determined by the number of distinct input channels
Output #0, mp4, to 'null1.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf57.21.101
Stream #0:0: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz,
quad(side), fltp, 128 kb/s (default)
Metadata:
encoder : Lavc57.21.100 aac
Stream mapping:
Stream #0:0 (aac) -> asplit
channelmap -> Stream #0:0 (aac)
Press [q] to stop, [?] for help
size= 4kB time=00:00:05.03 bitrate= 7.1kbits/s speed=46.7x
video:0kB audio:3kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 56.716942%
[aac @ 00000000029a22c0] Qavg: 65536.000
ffprobe null1.mp4
=================
ffprobe version N-77715-gfc703f5 Copyright (c) 2007-2016 the FFmpeg
developers
built with gcc 5.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
--enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
--enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
--enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
--enable-zlib
libavutil 55. 12.100 / 55. 12.100
libavcodec 57. 21.100 / 57. 21.100
libavformat 57. 21.101 / 57. 21.101
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 23.100 / 6. 23.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'null1.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf57.21.101
Duration: 00:00:05.06, start: 0.023220, bitrate: 7 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, 4.0,
fltp, 4 kb/s (default)
Metadata:
handler_name : SoundHandler
}}}
----
Generation of 4-channel WAV
{{{
ffmpeg -i null0.mp4 -lavfi
"[0]asplit[a][b];[a][b]amerge[o];[o]channelmap=0|1|2|3:quad(side)[out]"
-map [out] null1.wav 2> null1wav.log
ffmpeg version N-77715-gfc703f5 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
--enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
--enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
--enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
--enable-zlib
libavutil 55. 12.100 / 55. 12.100
libavcodec 57. 21.100 / 57. 21.100
libavformat 57. 21.101 / 57. 21.101
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 23.100 / 6. 23.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'null0.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf57.21.101
Duration: 00:00:05.04, start: 0.023220, bitrate: 4 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
stereo, fltp, 2 kb/s (default)
Metadata:
handler_name : SoundHandler
[Parsed_amerge_1 @ 0000000002613c20] No channel layout for input 1
[Parsed_amerge_1 @ 0000000002613c20] Input channel layouts overlap: output
layout will be determined by the number of distinct input channels
Output #0, wav, to 'null1.wav':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
ISFT : Lavf57.21.101
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz,
quad(side), s16, 2822 kb/s (default)
Metadata:
encoder : Lavc57.21.100 pcm_s16le
Stream mapping:
Stream #0:0 (aac) -> asplit
channelmap -> Stream #0:0 (pcm_s16le)
Press [q] to stop, [?] for help
size= 1736kB time=00:00:05.03 bitrate=2822.6kbits/s speed= 157x
video:0kB audio:1736kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.005738%
ffprobe null1.wav
=================
ffprobe version N-77715-gfc703f5 Copyright (c) 2007-2016 the FFmpeg
developers
built with gcc 5.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
--enable-gnutls --enable-iconv --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
--enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
--enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-
libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs
--enable-libxvid --enable-libzimg --enable-lzma --enable-decklink
--enable-zlib
libavutil 55. 12.100 / 55. 12.100
libavcodec 57. 21.100 / 57. 21.100
libavformat 57. 21.101 / 57. 21.101
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 23.100 / 6. 23.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, wav, from 'null1.wav':
Metadata:
encoder : Lavf57.21.101
Duration: 00:00:05.04, bitrate: 2822 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz,
quad(side), s16, 2822 kb/s
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5179>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list