(ffmpeg-utils)2.8. Syntax | Channel LayoutΒΆ
- doc
Official documentation says:
A channel layout specifies the spatial disposition of the channels in a multi-channel audio stream. To specify a channel layout, FFmpeg makes use of a special syntax.
Individual channels are identified by an id, as given by the table below:
id
meaning
FL
front left
FR
front right
FC
front center
LFE
low frequency
BL
back left
BR
back right
FLC
front left-of-center
FRC
front right-of-center
BC
back center
SL
side left
SR
side right
TC
top center
TFL
top front left
TFC
top front center
TFR
top front right
TBL
top back left
TBC
top back center
TBR
top back right
DL
downmix left
DR
downmix right
WL
wide left
WR
wide right
SDL
surround direct left
SDR
surround direct right
LFE2
low frequency 2
Standard channel layout compositions can be specified by using the following identifiers:
id
meaning
mono
FC
stereo
FL+FR
2.1
FL+FR+LFE
3.0
FL+FR+FC
3.0(back)
FL+FR+BC
4.0
FL+FR+FC+BC
quad
FL+FR+BL+BR
quad(side)
FL+FR+SL+SR
3.1
FL+FR+FC+LFE
5.0
FL+FR+FC+BL+BR
5.0(side)
FL+FR+FC+SL+SR
4.1
FL+FR+FC+LFE+BC
5.1
FL+FR+FC+LFE+BL+BR
5.1(side)
FL+FR+FC+LFE+SL+SR
6.0
FL+FR+FC+BC+SL+SR
6.0(front)
FL+FR+FLC+FRC+SL+SR
hexagonal
FL+FR+FC+BL+BR+BC
6.1
FL+FR+FC+LFE+BC+SL+SR
6.1
FL+FR+FC+LFE+BL+BR+BC
6.1(front)
FL+FR+LFE+FLC+FRC+SL+SR
7.0
FL+FR+FC+BL+BR+SL+SR
7.0(front)
FL+FR+FC+FLC+FRC+SL+SR
7.1
FL+FR+FC+LFE+BL+BR+SL+SR
7.1(wide)
FL+FR+FC+LFE+BL+BR+FLC+FRC
7.1(wide-side)
FL+FR+FC+LFE+FLC+FRC+SL+SR
octagonal
FL+FR+FC+BL+BR+BC+SL+SR
hexadecagonal
FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR
downmix
DL+DR
A custom channel layout can be specified as a sequence of terms, separated by
+
or|
. Each term can be:
the name of a standard channel layout (e.g.
mono
,stereo
,4.0
,quad
,5.0
, etc.)the name of a single channel (e.g.
FL
,FR
,FC
,LFE
, etc.)a number of channels, in decimal, followed by
c
, yielding the default channel layout for that number of channels (see the functionav_get_default_channel_layout
). Note that not all channel counts have a default layout.a number of channels, in decimal, followed by
C
, yielding an unknown channel layout with the specified number of channels. Note that not all channel layout specification strings support unknown channel layouts.a channel layout mask, in hexadecimal starting with
0x
(see theAV_CH_*
macros inlibavutil/channel_layout.h
.Before libavutil version 53 the trailing character
c
to specify a number of channels was optional, but now it is required, while a channel layout mask can also be specified as a decimal number (if and only if not followed byc
orC
).See also the function
av_get_channel_layout
defined inlibavutil/channel_layout.h
.
[me@host: ~]$ # specify channel layout to anullsrc
[me@host: ~]$ ffplay -f lavfi anullsrc=r=48000:cl=stereo
[me@host: ~]$ # pan audio
[me@host: ~]$ ffplay audio.wav -af "pan='stereo|FL=FR|FR=FL'"