update COPYING (patch from darealshinji)
[fdkaac.git] / README
1 % FDKAAC(1)
2 % nu774 <honeycomb77@gmail.com>
3 % November, 2013
4
5 NAME
6 ====
7
8 fdkaac - command line frontend for libfdk-aac encoder
9
10 SYNOPSIS
11 ========
12
13 **fdkaac** [OPTIONS] [FILE]
14
15 DESCRIPTION
16 ===========
17
18 **fdkaac** reads linear PCM audio in either WAV, raw PCM, or CAF format,
19 and encodes it into either M4A / AAC file.
20
21 If the input file is "-", data is read from stdin. Likewise, if the
22 output file is "-", data is written to stdout if one of streamable AAC
23 transport formats are selected by **-f**.
24
25 When CAF input and M4A output is used, tags in CAF file are copied into
26 the resulting M4A.
27
28 OPTIONS
29 =======
30
31 -h, --help
32 : Show command help
33
34 -o \<FILE\>
35 : Output filename.
36
37 -p, --profile \<n\>
38 : Target profile (MPEG4 audio object type, AOT)
39
40 2
41 : MPEG-4 AAC LC (default)
42
43 5
44 : MPEG-4 HE-AAC (SBR)
45
46 29
47 : MPEG-4 HE-AAC v2 (SBR+PS)
48
49 23
50 : MPEG-4 AAC LD
51
52 39
53 : MPEG-4 AAC ELD
54
55 129
56 : MPEG-2 AAC LC
57
58 132
59 : MPEG-2 HE-AAC (SBR)
60
61 156
62 : MPEG-2 HE-AAC v2 (SBR+PS)
63
64 -b, --bitrate \<n\>
65 : Target bitrate (for CBR)
66
67 -m, --bitrate-mode \<n\>
68 : Bitrate configuration mode. Available VBR quality value depends on
69 other parameters such as profile, sample rate, or number of
70 channels.
71
72 0
73 : CBR (default)
74
75 1-5
76 : VBR (higher value -\> higher bitrate)
77
78 -w, --bandwidth \<n\>
79 : Frequency bandwidth (lowpass cut-off frequency) in Hz. Available on
80 AAC LC only.
81
82 -a, --afterburner \<n\>
83 : Configure afterburner mode. When enabled, quality is increased at
84 the expense of additional computational workload.
85
86 0
87 : Off
88
89 1
90 : On (default)
91
92 -L, --lowdelay-sbr \<n\>
93 : Configure SBR activity on AAC ELD.
94
95 -1
96 : Use ELD SBR auto configuration
97
98 0
99 : Disable SBR on ELD (default)
100
101 1
102 : Enable SBR on ELD
103
104 -s, --sbr-ratio \<n\>
105 : Controls activation of downsampled SBR.
106
107 0
108 : Use lib default (default)
109
110 1
111 : Use downsampled SBR (default for ELD+SBR)
112
113 2
114 : Use dual-rate SBR (default for HE-AAC)
115
116 Dual-rate SBR is what is normally used for HE-AAC, where AAC is
117 encoded at half the sample rate of SBR, hence "dual rate". On the
118 other hand, downsampled SBR uses same sample rate for both of AAC
119 and SBR (single rate), therefore downsampled SBR typically consumes
120 more bitrate.
121
122 Downsampled SBR is newly introduced feature in FDK encoder library
123 version 3.4.12. When libfdk-aac in the system doesn't support this,
124 dual-rate SBR will be used. When available, dual-rate SBR is the
125 default for HE-AAC and downsampled SBR is the default for ELD+SBR.
126
127 Note that downsampled HE-AAC is not so common as dual-rate one. When
128 downsampled HE-AAC is selected, **fdkaac** is forced to choose
129 explicit hierarchical SBR signaling, which (at least) iTunes doesn't
130 accept.
131
132 -f, --transport-format \<n\>
133 : Transport format. Tagging and gapless playback is only available on
134 M4A. Streaming to stdout is only available on others.
135
136 0
137 : M4A (default)
138
139 1
140 : ADIF
141
142 2
143 : ADTS
144
145 6
146 : LATM MCP=1
147
148 7
149 : LATM MCP=0
150
151 10
152 : LOAS/LATM (LATM within LOAS)
153
154 -C, --adts-crc-check
155 : Add CRC protection on ADTS header.
156
157 -h, --header-period \<n\>
158 : StreamMuxConfig/PCE repetition period in the transport layer.
159
160 -G, --gapless-mode \<n\>
161 : Method to declare amount of encoder delay (and padding) in M4A
162 container. These values are mandatory for proper gapless playback on
163 player side.
164
165 0
166 : iTunSMPB (default)
167
168 1
169 : ISO standard (edts and sgpd)
170
171 2
172 : Both
173
174 --include-sbr-delay
175 : When specified, count SBR decoder delay in encoder delay.
176
177 This is not iTunes compatible and will lead to gapless playback
178 issue on LC only decoder, but this is the default behavior of FDK
179 library.
180
181 Whether counting SBR decoder delay in encoder delay or not result in
182 incompatibility in gapless playback. You should pick which one will
183 work for your favorite player.
184
185 However, it's better not to choose SBR at all if you want gapless
186 playback. LC doesn't have such issues.
187
188 -I, --ignorelength
189 : Ignore length field of data chunk in input WAV file.
190
191 -S, --silent
192 : Don't print progress messages.
193
194 --moov-before-mdat
195 : Place moov box before mdat box in M4A container. This option might
196 be important for some hardware players, that are known to refuse
197 moov box placed after mdat box.
198
199 -R, --raw
200 : Regard input as raw PCM.
201
202 --raw-channels \<n\>
203 : Specify number of channels of raw input (default: 2)
204
205 --raw-rate \<n\>
206 : Specify sample rate of raw input (default: 44100)
207
208 --raw-format \<spec\>
209 : Specify sample format of raw input (default: "S16L"). **Spec** is as
210 the following (case insensitive):
211
212 1st char -- type of sample
213 : **S** (igned) | **U** (nsigned) | **F** (loat)
214
215 2nd part (in digits)
216 : bits per channel
217
218 Last char -- endianness (can be omitted)
219 : **L** (ittle, default) | **B** (ig)
220
221 --title \<string\>
222 : Set title tag.
223
224 --artist \<string\>
225 : Set artist tag.
226
227 --album \<string\>
228 : Set album tag.
229
230 --genre \<string\>
231 : Set genre tag.
232
233 --date \<string\>
234 : Set date tag.
235
236 --composer \<string\>
237 : Set composer tag.
238
239 --grouping \<string\>
240 : Set grouping tag.
241
242 --comment \<string\>
243 : Set comment tag.
244
245 --album-artist \<string\>
246 : Set album artist tag.
247
248 --track \<number[/total]\>
249 : Set track tag, with or without number of total tracks.
250
251 --disk \<number[/total]\>
252 : Set disk tag, with or without number of total discs.
253
254 --tempo \<n\>
255 : Set tempo (BPM) tag.
256
257 --tag \<fcc\>:\<value\>
258 : Set iTunes predefined tag with explicit fourcc key and value. See
259 [https://code.google.com/p/mp4v2/wiki/iTunesMetadata](https://code.google.com/p/mp4v2/wiki/iTunesMetadata)
260 for known predefined keys. You can omit first char of **fcc** when
261 it is the copyright sign.
262
263 --tag-from-file \<fcc\>:\<filename\>
264 : Same as --tag, but set content of file as tag value.
265
266 --long-tag \<name\>:\<value\>
267 : Set arbitrary tag as iTunes custom metadata. Stored in
268 com.apple.iTunes field.
269
270 --tag-from-json \<filename[?dot\_notation]\>
271 : Read tags from JSON. By default, tags are assumed to be direct
272 children of the root object in JSON. Optionally you can specify
273 arbitrary dot notation to locate the object containing tags.
274
275
276 EXAMPLES
277 ========
278
279 Encode WAV file into a M4A file. MPEG4 AAC LC, VBR quality 3:
280
281 fdkaac -m3 foo.wav
282
283 Encode WAV file into a M4A file. MPEG4 HE-AAC, bitrate 64kbps:
284
285 fdkaac -p5 -b64 foo.wav
286
287 Piping from **ffmpeg** (you need version supporting CAF output):
288
289 ffmpeg -i foo.flac -f caf - | fdkaac -b128 - -o foo.m4a
290
291 Import tags via json:
292
293 ffprobe -v 0 -of json -show_format foo.flac >foo.json
294
295 flac -dc foo.flac | \
296 fdkaac - -ox.m4a -m2 --import-tag-from-json=foo.json?format.tags
297
298 NOTES
299 =====
300
301 Upto 32bit integer or 64bit floating point format is supported as input.
302 However, FDK library is implemented based on fixed point math and only
303 supports 16bit integer PCM. Therefore, be wary of clipping. You might
304 want to dither/noise shape beforehand when your input has higher
305 resolution.
306
307 Following channel layouts are supported by the encoder.
308
309 1ch
310 : C
311
312 2ch
313 : L R
314
315 3ch
316 : C L R
317
318 4ch
319 : C L R Cs
320
321 5ch
322 : C L R Ls Rs
323
324 5.1ch
325 : C L R Ls Rs LFE
326
327 7.1ch (front)
328 : C Lc Rc L R Ls Rs LFE
329
330 7.1ch (rear)
331 : C L R Ls Rs Rls Rrs LFE
332
This page took 0.031446 seconds and 4 git commands to generate.