mirror of
https://github.com/nu774/fdkaac.git
synced 2025-06-05 23:29:14 +02:00
Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
a7c4895534 | |||
209130e887 | |||
b6ab92a9e7 | |||
e18fe91a40 | |||
472e82e42f | |||
ce0833f8e5 | |||
661f883dce | |||
b815f858d0 |
22
ChangeLog
22
ChangeLog
@ -1,14 +1,30 @@
|
|||||||
2013-11-04 nu774 <honeycomb77@gmail.com>
|
2013-11-08 nu774 <honeycomb77@gmail.com>
|
||||||
|
|
||||||
* update ChangeLog [HEAD]
|
* update ChangeLog [HEAD]
|
||||||
|
|
||||||
|
* bump version [v0.5.1]
|
||||||
|
|
||||||
|
* fix to use libFDKAAC signaling mode 1
|
||||||
|
|
||||||
|
2013-11-05 nu774 <honeycomb77@gmail.com>
|
||||||
|
|
||||||
|
* fix README
|
||||||
|
|
||||||
|
2013-11-04 nu774 <honeycomb77@gmail.com>
|
||||||
|
|
||||||
|
* rename README.md -> README
|
||||||
|
|
||||||
|
* Update README -> README.md, generate groff manpage from README.md
|
||||||
|
|
||||||
|
* update ChangeLog
|
||||||
|
|
||||||
* update git2changelog to accept non-ascii output
|
* update git2changelog to accept non-ascii output
|
||||||
|
|
||||||
* add manpage
|
* add manpage
|
||||||
|
|
||||||
2013-11-03 nu774 <honeycomb77@gmail.com>
|
2013-11-03 nu774 <honeycomb77@gmail.com>
|
||||||
|
|
||||||
* fix gcc warnings [origin/master]
|
* fix gcc warnings
|
||||||
|
|
||||||
* Merge pull request #7 from rbrito/misc-fixes
|
* Merge pull request #7 from rbrito/misc-fixes
|
||||||
|
|
||||||
@ -66,7 +82,7 @@
|
|||||||
|
|
||||||
2013-10-26 nu774 <honeycomb77@gmail.com>
|
2013-10-26 nu774 <honeycomb77@gmail.com>
|
||||||
|
|
||||||
* re-fix #ifdef cond for lrint()
|
* re-fix #ifdef cond for lrint() [old]
|
||||||
|
|
||||||
* tag mapping: add recorded date and tempo, remove performer->artist
|
* tag mapping: add recorded date and tempo, remove performer->artist
|
||||||
|
|
||||||
|
10
README
10
README
@ -5,7 +5,7 @@
|
|||||||
NAME
|
NAME
|
||||||
====
|
====
|
||||||
|
|
||||||
fdkaac - command line frontend for libfdk-aac encoder
|
fdkaac - command line frontend for libfdk-aac encoder
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
========
|
========
|
||||||
@ -23,7 +23,7 @@ output file is "-", data is written to stdout if one of streamable AAC
|
|||||||
transport formats are selected by **-f**.
|
transport formats are selected by **-f**.
|
||||||
|
|
||||||
When CAF input and M4A output is used, tags in CAF file are copied into
|
When CAF input and M4A output is used, tags in CAF file are copied into
|
||||||
the resulting M4A.
|
the resulting M4A.
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
@ -75,8 +75,8 @@ OPTIONS
|
|||||||
1-5
|
1-5
|
||||||
: VBR (higher value -\> higher bitrate)
|
: VBR (higher value -\> higher bitrate)
|
||||||
|
|
||||||
-w, --bandwith \<n\>
|
-w, --bandwidth \<n\>
|
||||||
: Frequency bandwith (lowpass cut-off frequency) in Hz. Available on
|
: Frequency bandwidth (lowpass cut-off frequency) in Hz. Available on
|
||||||
AAC LC only.
|
AAC LC only.
|
||||||
|
|
||||||
-a, --afterburner \<n\>
|
-a, --afterburner \<n\>
|
||||||
@ -271,7 +271,7 @@ OPTIONS
|
|||||||
: Read tags from JSON. By default, tags are assumed to be direct
|
: Read tags from JSON. By default, tags are assumed to be direct
|
||||||
children of the root object in JSON. Optionally you can specify
|
children of the root object in JSON. Optionally you can specify
|
||||||
arbitrary dot notation to locate the object containing tags.
|
arbitrary dot notation to locate the object containing tags.
|
||||||
|
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
========
|
========
|
||||||
|
2
genman.sh
Executable file
2
genman.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
pandoc -s -f markdown -t man README >fdkaac.1 && mv -f fdkaac.1 man/fdkaac.1
|
162
man/fdkaac.1
162
man/fdkaac.1
@ -1,85 +1,84 @@
|
|||||||
.TH FDKAAC 1 "November, 2013"
|
.TH FDKAAC 1 "November, 2013"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
.PP
|
.PP
|
||||||
fdkaac - command line frontend for libfdk-aac encoder \
|
fdkaac \- command line frontend for libfdk\-aac encoder
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.PP
|
.PP
|
||||||
\f[B]fdkaac\f[] [OPTIONS] [FILE]
|
\f[B]fdkaac\f[] [OPTIONS][FILE]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.PP
|
.PP
|
||||||
\f[B]fdkaac\f[] reads linear PCM audio in either WAV, raw PCM, or CAF
|
\f[B]fdkaac\f[] reads linear PCM audio in either WAV, raw PCM, or CAF
|
||||||
format, and encodes it into either M4A / AAC file.
|
format, and encodes it into either M4A / AAC file.
|
||||||
.PP
|
.PP
|
||||||
If the input file is "-", data is read from stdin.
|
If the input file is "\-", data is read from stdin.
|
||||||
Likewise, if the output file is "-", data is written to stdout if one of
|
Likewise, if the output file is "\-", data is written to stdout if one
|
||||||
streamable AAC transport formats is selected by \f[B]-f\f[].
|
of streamable AAC transport formats are selected by \f[B]\-f\f[].
|
||||||
.PP
|
.PP
|
||||||
When CAF input and M4A output is used, tags in CAF file are copied into
|
When CAF input and M4A output is used, tags in CAF file are copied into
|
||||||
the resulting M4A.
|
the resulting M4A.
|
||||||
\
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.TP
|
.TP
|
||||||
.B -h, --help
|
.B \-h, \-\-help
|
||||||
Show command help
|
Show command help
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -o <FILE>
|
.B \-o <FILE>
|
||||||
Output filename.
|
Output filename.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -p, --profile <n>
|
.B \-p, \-\-profile <n>
|
||||||
Target profile (MPEG4 audio object type, AOT)
|
Target profile (MPEG4 audio object type, AOT)
|
||||||
.RS
|
.RS
|
||||||
.TP
|
.TP
|
||||||
.B 2
|
.B 2
|
||||||
MPEG-4 AAC LC (default)
|
MPEG\-4 AAC LC (default)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 5
|
.B 5
|
||||||
MPEG-4 HE-AAC (SBR)
|
MPEG\-4 HE\-AAC (SBR)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 29
|
.B 29
|
||||||
MPEG-4 HE-AAC v2 (SBR+PS)
|
MPEG\-4 HE\-AAC v2 (SBR+PS)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 23
|
.B 23
|
||||||
MPEG-4 AAC LD
|
MPEG\-4 AAC LD
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 39
|
.B 39
|
||||||
MPEG-4 AAC ELD
|
MPEG\-4 AAC ELD
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 129
|
.B 129
|
||||||
MPEG-2 AAC LC
|
MPEG\-2 AAC LC
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 132
|
.B 132
|
||||||
MPEG-2 HE-AAC (SBR)
|
MPEG\-2 HE\-AAC (SBR)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 156
|
.B 156
|
||||||
MPEG-2 HE-AAC v2 (SBR+PS)
|
MPEG\-2 HE\-AAC v2 (SBR+PS)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -b, --bitrate <n>
|
.B \-b, \-\-bitrate <n>
|
||||||
Target bitrate (for CBR)
|
Target bitrate (for CBR)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -m, --bitrate-mode <n>
|
.B \-m, \-\-bitrate\-mode <n>
|
||||||
Bitrate configuration mode.
|
Bitrate configuration mode.
|
||||||
Available VBR quality value depends on other parameters such as profile,
|
Available VBR quality value depends on other parameters such as profile,
|
||||||
sample rate, or number of channels.
|
sample rate, or number of channels.
|
||||||
@ -90,19 +89,19 @@ CBR (default)
|
|||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 1-5
|
.B 1\-5
|
||||||
VBR (higher value -> higher bitrate)
|
VBR (higher value \-> higher bitrate)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -w, --bandwith <n>
|
.B \-w, \-\-bandwidth <n>
|
||||||
Frequency bandwith (lowpass cut-off frequency) in Hz.
|
Frequency bandwidth (lowpass cut\-off frequency) in Hz.
|
||||||
Available on AAC LC only.
|
Available on AAC LC only.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -a, --afterburner <n>
|
.B \-a, \-\-afterburner <n>
|
||||||
Configure afterburner mode.
|
Configure afterburner mode.
|
||||||
When enabled, quality is increased at the expense of additional
|
When enabled, quality is increased at the expense of additional
|
||||||
computational workload.
|
computational workload.
|
||||||
@ -119,11 +118,11 @@ On (default)
|
|||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -L, --lowdelay-sbr <n>
|
.B \-L, \-\-lowdelay\-sbr <n>
|
||||||
Configure SBR activity on AAC ELD.
|
Configure SBR activity on AAC ELD.
|
||||||
.RS
|
.RS
|
||||||
.TP
|
.TP
|
||||||
.B -1
|
.B \-1
|
||||||
Use ELD SBR auto configuration
|
Use ELD SBR auto configuration
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
@ -139,7 +138,7 @@ Enable SBR on ELD
|
|||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -s, --sbr-ratio <n>
|
.B \-s, \-\-sbr\-ratio <n>
|
||||||
Controls activation of downsampled SBR.
|
Controls activation of downsampled SBR.
|
||||||
.RS
|
.RS
|
||||||
.TP
|
.TP
|
||||||
@ -154,30 +153,30 @@ Use downsampled SBR (default for ELD+SBR)
|
|||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B 2
|
.B 2
|
||||||
Use dual-rate SBR (default for HE-AAC)
|
Use dual\-rate SBR (default for HE\-AAC)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
Dual-rate SBR is what is normally used for HE-AAC, where AAC is encoded
|
Dual\-rate SBR is what is normally used for HE\-AAC, where AAC is
|
||||||
at half the sample rate of SBR, hence "dual rate".
|
encoded at half the sample rate of SBR, hence "dual rate".
|
||||||
On the other hand, downsampled SBR uses same sample rate for both of AAC
|
On the other hand, downsampled SBR uses same sample rate for both of AAC
|
||||||
and SBR (single rate), therefore downsampled SBR typically consumes more
|
and SBR (single rate), therefore downsampled SBR typically consumes more
|
||||||
bitrate.
|
bitrate.
|
||||||
.PP
|
.PP
|
||||||
Downsampled SBR is newly introduced feature in FDK encoder library
|
Downsampled SBR is newly introduced feature in FDK encoder library
|
||||||
version 3.4.12.
|
version 3.4.12.
|
||||||
When libfdk-aac in the system doesn\[aq]t support this, dual-rate SBR
|
When libfdk\-aac in the system doesn\[aq]t support this, dual\-rate SBR
|
||||||
will be used.
|
will be used.
|
||||||
When available, dual-rate SBR is the default for HE-AAC and downsampled
|
When available, dual\-rate SBR is the default for HE\-AAC and
|
||||||
SBR is the default for ELD+SBR.
|
downsampled SBR is the default for ELD+SBR.
|
||||||
.PP
|
.PP
|
||||||
Note that downsampled HE-AAC is not so common as dual-rate one.
|
Note that downsampled HE\-AAC is not so common as dual\-rate one.
|
||||||
When downsampled HE-AAC is selected, \f[B]fdkaac\f[] is forced to choose
|
When downsampled HE\-AAC is selected, \f[B]fdkaac\f[] is forced to
|
||||||
explicit hierarchical SBR signaling, which (at least) iTunes doesn\[aq]t
|
choose explicit hierarchical SBR signaling, which (at least) iTunes
|
||||||
accept.
|
doesn\[aq]t accept.
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -f, --transport-format <n>
|
.B \-f, \-\-transport\-format <n>
|
||||||
Transport format.
|
Transport format.
|
||||||
Tagging and gapless playback is only available on M4A.
|
Tagging and gapless playback is only available on M4A.
|
||||||
Streaming to stdout is only available on others.
|
Streaming to stdout is only available on others.
|
||||||
@ -214,17 +213,17 @@ LOAS/LATM (LATM within LOAS)
|
|||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -C, --adts-crc-check
|
.B \-C, \-\-adts\-crc\-check
|
||||||
Add CRC protection on ADTS header.
|
Add CRC protection on ADTS header.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -h, --header-period <n>
|
.B \-h, \-\-header\-period <n>
|
||||||
StreamMuxConfig/PCE repetition period in transport layer.
|
StreamMuxConfig/PCE repetition period in the transport layer.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -G, --gapless-mode <n>
|
.B \-G, \-\-gapless\-mode <n>
|
||||||
Method to declare amount of encoder delay (and padding) in M4A
|
Method to declare amount of encoder delay (and padding) in M4A
|
||||||
container.
|
container.
|
||||||
These values are mandatory for proper gapless playback on player side.
|
These values are mandatory for proper gapless playback on player side.
|
||||||
@ -246,7 +245,7 @@ Both
|
|||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --include-sbr-delay
|
.B \-\-include\-sbr\-delay
|
||||||
When specified, count SBR decoder delay in encoder delay.
|
When specified, count SBR decoder delay in encoder delay.
|
||||||
.RS
|
.RS
|
||||||
.PP
|
.PP
|
||||||
@ -262,44 +261,44 @@ playback.
|
|||||||
LC doesn\[aq]t have such issues.
|
LC doesn\[aq]t have such issues.
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -I, --ignorelength
|
.B \-I, \-\-ignorelength
|
||||||
Ignore length field of data chunk in input WAV file.
|
Ignore length field of data chunk in input WAV file.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -S, --silent
|
.B \-S, \-\-silent
|
||||||
Don\[aq]t print progress messages.
|
Don\[aq]t print progress messages.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --moov-before-mdat
|
.B \-\-moov\-before\-mdat
|
||||||
Place moov box before mdat box in M4A container.
|
Place moov box before mdat box in M4A container.
|
||||||
This option might be important for some hardware players, that are known
|
This option might be important for some hardware players, that are known
|
||||||
to refuse moov box placed after mdat box.
|
to refuse moov box placed after mdat box.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B -R, --raw
|
.B \-R, \-\-raw
|
||||||
Regard input as raw PCM.
|
Regard input as raw PCM.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --raw-channels <n>
|
.B \-\-raw\-channels <n>
|
||||||
Specify number of channels of raw input (default: 2)
|
Specify number of channels of raw input (default: 2)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --raw-rate <n>
|
.B \-\-raw\-rate <n>
|
||||||
Specify sample rate of raw input (default: 44100)
|
Specify sample rate of raw input (default: 44100)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --raw-format <spec>
|
.B \-\-raw\-format <spec>
|
||||||
Specify sample format of raw input (default: "S16L").
|
Specify sample format of raw input (default: "S16L").
|
||||||
\f[B]Spec\f[] is as the following (case insensitive):
|
\f[B]Spec\f[] is as the following (case insensitive):
|
||||||
.RS
|
.RS
|
||||||
.TP
|
.TP
|
||||||
.B 1st char -- type of sample
|
.B 1st char \-\- type of sample
|
||||||
\f[B]S\f[] (igned) | \f[B]U\f[] (nsigned) | \f[B]F\f[] (loat)
|
\f[B]S\f[] (igned) | \f[B]U\f[] (nsigned) | \f[B]F\f[] (loat)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
@ -309,102 +308,99 @@ bits per channel
|
|||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B Last char -- endianness (can be ommited)
|
.B Last char \-\- endianness (can be omitted)
|
||||||
\f[B]L\f[] (ittle, default) | \f[B]B\f[] (ig)
|
\f[B]L\f[] (ittle, default) | \f[B]B\f[] (ig)
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --title <string>
|
.B \-\-title <string>
|
||||||
Set title tag.
|
Set title tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --artist <string>
|
.B \-\-artist <string>
|
||||||
Set artist tag.
|
Set artist tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --album <string>
|
.B \-\-album <string>
|
||||||
Set album tag.
|
Set album tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --genre <string>
|
.B \-\-genre <string>
|
||||||
Set genre tag.
|
Set genre tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --date <string>
|
.B \-\-date <string>
|
||||||
Set date tag.
|
Set date tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --composer <string>
|
.B \-\-composer <string>
|
||||||
Set composer tag.
|
Set composer tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --grouping <string>
|
.B \-\-grouping <string>
|
||||||
Set grouping tag.
|
Set grouping tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --comment <string>
|
.B \-\-comment <string>
|
||||||
Set comment tag.
|
Set comment tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --album-artist <string>
|
.B \-\-album\-artist <string>
|
||||||
Set album artist tag.
|
Set album artist tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --track <number[/total]>
|
.B \-\-track <number[/total]>
|
||||||
Set track tag, with or without number of total tracks.
|
Set track tag, with or without number of total tracks.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --disk <number[/total]>
|
.B \-\-disk <number[/total]>
|
||||||
Set disk tag, with or without number of total discs.
|
Set disk tag, with or without number of total discs.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --tempo <n>
|
.B \-\-tempo <n>
|
||||||
Set tempo (BPM) tag.
|
Set tempo (BPM) tag.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --tag <fcc>:<value>
|
.B \-\-tag <fcc>:<value>
|
||||||
Set iTunes predefined tag with explicit fourcc key and value.
|
Set iTunes predefined tag with explicit fourcc key and value.
|
||||||
See
|
See <https://code.google.com/p/mp4v2/wiki/iTunesMetadata> for known
|
||||||
https://code.google.com/p/mp4v2/wiki/iTunesMetadata (https://code.google.com/p/mp4v2/wiki/iTunesMetadata)
|
predefined keys.
|
||||||
for known predefined keys.
|
|
||||||
You can omit first char of \f[B]fcc\f[] when it is the copyright sign.
|
You can omit first char of \f[B]fcc\f[] when it is the copyright sign.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --tag-from-file <fcc>:<filename>
|
.B \-\-tag\-from\-file <fcc>:<filename>
|
||||||
Same as --tag, but set content of file as tag value.
|
Same as \-\-tag, but set content of file as tag value.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --long-tag <name>:<value>
|
.B \-\-long\-tag <name>:<value>
|
||||||
Set arbitrary tag as iTunes custom metadata.
|
Set arbitrary tag as iTunes custom metadata.
|
||||||
Stored in com.apple.iTunes field.
|
Stored in com.apple.iTunes field.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B --tag-from-json <filename[?dot_notation]>
|
.B \-\-tag\-from\-json <filename[?dot_notation]>
|
||||||
Read tags from JSON.
|
Read tags from JSON.
|
||||||
By default, tags are assumed to be direct children of the root object in
|
By default, tags are assumed to be direct children of the root object in
|
||||||
JSON.
|
JSON.
|
||||||
Optionary you can speficy arbitrary dot notation to locate the object
|
Optionally you can specify arbitrary dot notation to locate the object
|
||||||
containing tags.
|
containing tags.
|
||||||
.RS
|
.RS
|
||||||
.RE
|
.RE
|
||||||
.PP
|
|
||||||
\
|
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
.PP
|
.PP
|
||||||
Encode WAV file into a M4A file.
|
Encode WAV file into a M4A file.
|
||||||
@ -412,16 +408,16 @@ MPEG4 AAC LC, VBR quality 3:
|
|||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
fdkaac\ -m3\ foo.wav
|
fdkaac\ \-m3\ foo.wav
|
||||||
\f[]
|
\f[]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Encode WAV file into a M4A file.
|
Encode WAV file into a M4A file.
|
||||||
MPEG4 HE-AAC, bitrate 64kbps:
|
MPEG4 HE\-AAC, bitrate 64kbps:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
fdkaac\ -p5\ -b64\ foo.wav
|
fdkaac\ \-p5\ \-b64\ foo.wav
|
||||||
\f[]
|
\f[]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
@ -429,7 +425,7 @@ Piping from \f[B]ffmpeg\f[] (you need version supporting CAF output):
|
|||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
ffmpeg\ -i\ foo.flac\ -f\ caf\ -\ |\ fdkaac\ -b128\ -\ -o\ foo.m4a
|
ffmpeg\ \-i\ foo.flac\ \-f\ caf\ \-\ |\ fdkaac\ \-b128\ \-\ \-o\ foo.m4a
|
||||||
\f[]
|
\f[]
|
||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
@ -437,10 +433,10 @@ Import tags via json:
|
|||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
ffprobe\ -v\ 0\ -of\ json\ -show_format\ foo.flac\ >foo.json
|
ffprobe\ \-v\ 0\ \-of\ json\ \-show_format\ foo.flac\ >foo.json
|
||||||
|
|
||||||
flac\ -dc\ foo.flac\ |\ \\
|
flac\ \-dc\ foo.flac\ |\ \\
|
||||||
fdkaac\ -\ -ox.m4a\ -m2\ --import-tag-from-json=foo.json?format.tags
|
fdkaac\ \-\ \-ox.m4a\ \-m2\ \-\-import\-tag\-from\-json=foo.json?format.tags
|
||||||
\f[]
|
\f[]
|
||||||
.fi
|
.fi
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
@ -448,7 +444,7 @@ fdkaac\ -\ -ox.m4a\ -m2\ --import-tag-from-json=foo.json?format.tags
|
|||||||
Upto 32bit integer or 64bit floating point format is supported as input.
|
Upto 32bit integer or 64bit floating point format is supported as input.
|
||||||
However, FDK library is implemented based on fixed point math and only
|
However, FDK library is implemented based on fixed point math and only
|
||||||
supports 16bit integer PCM.
|
supports 16bit integer PCM.
|
||||||
Therefore, be careful of clipping.
|
Therefore, be wary of clipping.
|
||||||
You might want to dither/noise shape beforehand when your input has
|
You might want to dither/noise shape beforehand when your input has
|
||||||
higher resolution.
|
higher resolution.
|
||||||
.PP
|
.PP
|
||||||
|
@ -225,6 +225,7 @@ pcm_reader_t *caf_open(pcm_io_context_t *io,
|
|||||||
memcpy(&reader->io, io, sizeof(pcm_io_context_t));
|
memcpy(&reader->io, io, sizeof(pcm_io_context_t));
|
||||||
reader->tag_callback = tag_callback;
|
reader->tag_callback = tag_callback;
|
||||||
reader->tag_ctx = tag_ctx;
|
reader->tag_ctx = tag_ctx;
|
||||||
|
memcpy(reader->chanmap, "\000\001\002\003\004\005\006\007", 8);
|
||||||
|
|
||||||
if (caf_parse(reader, &data_length) < 0) {
|
if (caf_parse(reader, &data_length) < 0) {
|
||||||
free(reader);
|
free(reader);
|
||||||
|
Reference in New Issue
Block a user