[FFmpeg-trac] #3160(undetermined:new): ac3 silently chooses 5.1(side) channel layout
FFmpeg
trac at avcodec.org
Thu Nov 21 22:52:21 CET 2013
#3160: ac3 silently chooses 5.1(side) channel layout
-------------------------------------+-------------------------------------
Reporter: llogan | Owner:
Type: defect | Status: new
Priority: minor | Component:
Version: git- | undetermined
master | Keywords: ac3
Blocked By: | Blocking:
Reproduced by developer: 0 | Analyzed by developer: 0
-------------------------------------+-------------------------------------
According to the AC-3 standards[1], as far as I can tell, AC-3 supports
5.1(side) [FL+FR+FC+LFE+SL+SR] but not 5.1 [FL+FR+FC+LFE+BL+BR] channel
layout. The standards show "L, C, R, SL, SR", but no reference to any back
or rear channels such as BL and BR.
ffmpeg will silently choose 5.1(side) even if 5.1 is attempted:
{{{
$ ffmpeg -f lavfi -i aevalsrc=0:d=1 -filter_complex
"[0:a]asplit=6[fl][fr][fc][lfe][bl][br];[fl][fr][fc][lfe][bl][br]amerge=inputs=6,channelmap=0|1|2|3|4|5:channel_layout=5.1"
out.ac3
ffmpeg version N-58330-g6a7980e Copyright (c) 2000-2013 the FFmpeg
developers
built on Nov 21 2013 12:42:31 with gcc 4.8.2 (GCC)
configuration: --enable-gpl
libavutil 52. 53.100 / 52. 53.100
libavcodec 55. 44.100 / 55. 44.100
libavformat 55. 21.100 / 55. 21.100
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 91.100 / 3. 91.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Input #0, lavfi, from 'aevalsrc=0:d=1':
Duration: N/A, start: 0.000000, bitrate: 2822 kb/s
Stream #0:0: Audio: pcm_f64le, 44100 Hz, mono, dbl, 2822 kb/s
[Parsed_amerge_1 @ 0x344fd00] No channel layout for input 1
[Parsed_amerge_1 @ 0x344fd00] Input channel layouts overlap: output layout
will be determined by the number of distinct input channels
Output #0, ac3, to 'out.ac3':
Metadata:
encoder : Lavf55.21.100
Stream #0:0: Audio: ac3, 44100 Hz, 5.1, fltp, 448 kb/s
Stream mapping:
Stream #0:0 (pcm_f64le) -> asplit
channelmap -> Stream #0:0 (ac3)
Press [q] to stop, [?] for help
size= 57kB time=00:00:01.03 bitrate= 450.5kbits/s
video:0kB audio:57kB subtitle:0 global headers:0kB muxing overhead
0.000000%
}}}
{{{
$ ffmpeg -i out.ac3
ffmpeg version N-58330-g6a7980e Copyright (c) 2000-2013 the FFmpeg
developers
built on Nov 21 2013 12:42:31 with gcc 4.8.2 (GCC)
configuration: --enable-gpl
libavutil 52. 53.100 / 52. 53.100
libavcodec 55. 44.100 / 55. 44.100
libavformat 55. 21.100 / 55. 21.100
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 91.100 / 3. 91.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
[ac3 @ 0x1f33100] Estimating duration from bitrate, this may be inaccurate
Input #0, ac3, from 'out.ac3':
Duration: 00:00:01.04, start: 0.000000, bitrate: 448 kb/s
Stream #0:0: Audio: ac3, 44100 Hz, 5.1(side), fltp, 448 kb/s
At least one output file must be specified
}}}
The output file is correct, in my opinion, but an informative message
indicating that 5.1(side) will be used instead is probably a good idea,
and/or for the encoding command the console output should show 5.1(side)
instead of 5.1.
[1] http://www.atsc.org/cms/standards/a_52-2010.pdf (page 40, table 5.8)
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/3160>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list