Difference between revisions of "NeroAAC"

From Hydrogenaudio Knowledgebase
Redirect page
Jump to: navigation, search
(Supported metadata fields: comments)
m (redirect, admin will have to merge histories)
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
{{merge-to|Nero_AAC}}
+
#REDIRECT [[Nero AAC]]
 
+
[[category:Encoder/Decoder]]
+
{{Software Infobox
+
| name = Nero AAC Codec
+
| logo =
+
| screenshot =
+
| caption =
+
| maintainer = Nero AG
+
| stable_release = 1.5.4.0 (Feb 18. 2010)
+
| preview_release = n/a
+
| operating_system = Windows, Linux
+
| use = Encoder/Decoder
+
| license = see site for license
+
| website = [http://www.nero.com/enu/technologies-aac-codec.html Nero AAC Codec]
+
}}
+
 
+
The Nero AAC codec has been made freely available by Nero AG for personal non-commercial and/or technology-evaluation purposes. It is a commercial implementation of both LC AAC and HE AAC and provided as a set of three command-line tools that are used to encode, decode and apply tags to MP4 files. The download contains binaries for both Windows and Linux. It is the same codec that is used in Nero's other, commercial products.
+
 
+
It is generally percieved to have the highest quality [[VBR]] LC AAC implementation (although QuickTime bests it in [[CBR]] mode at 128kbps). The codec can also create HEv1/v2 AAC streams for extremely low bitrates and supports multi-channel surround sound encoding.
+
 
+
The three command-line tools are:
+
* neroAacEnc
+
* neroAacDec
+
* neroAacTag
+
 
+
 
+
== NeroAacEnc ==
+
 
+
This is the encoder command-line tool. It is currently at version 1.5.4.0 and was last updated Feb 18th, 2010. It is used to encode a [[RIFF_WAVE|.WAV]] file containing PCM data into an [[MP4|.MP4]] file containing an AAC stream.
+
 
+
=== Usage ===
+
 
+
Windows
+
<pre>neroAacEnc.exe [options] -if <input-file> -of <output-file></pre>
+
 
+
Linux:
+
<pre>./neroAacEnc [options] -if <input-file> -of <output-file></pre>
+
<small>Note: Make sure the binary is executable</small>
+
 
+
Where:
+
; <tt><input-file></tt>
+
:Path to source file to encode.<br>The file must be in Microsoft WAV format and contain PCM data.<br>Specify - to encode from stdin.<br>Note that multiple input files can be specified, they will be encoded together into a single output file with chapter marks indicating source file divisions.
+
; <tt><output-file></tt>
+
: Path to output file to encode to, in MP4 format.
+
 
+
==== Options: ====
+
===== Quality/bitrate control =====
+
; <tt>-q <number></tt>
+
: Enables "target quality" mode. (VBR)<br><tt><number></tt> is a floating-point number in 0...1 range. I.e. 0.5 or 0.75, etc. with 1 being the highest quality and thus also having the largest output file size.
+
; <tt>-br <number></tt>
+
: Specifies "target bitrate" mode. (ABR)<br><tt><number></tt> is target bitrate in bits per second ranging from 8000 to 400000.
+
; <tt>-cbr <number></tt>
+
: Specifies "target bitrate (streaming)" mode. (CBR)<br><tt><number></tt> is target bitrate in bits per second ranging from 8000 to 400000.
+
 
+
When neither of above quality/bitrate options is used, the encoder defaults to equivalent of <tt>-q 0.5</tt>
+
 
+
The following VBR quality settings result in the following average bitrates:
+
{| class="wikitable"
+
! Quality
+
! Bitrate (kbit/s)
+
|-
+
| 0.05
+
| 16
+
|-
+
| 0.15
+
| 33
+
|-
+
| 0.25
+
| 66
+
|-
+
| 0.35
+
| 100
+
|-
+
| 0.45
+
| 146
+
|-
+
| 0.55
+
| 192
+
|-
+
| 0.65
+
| 238
+
|-
+
| 0.75
+
| 285
+
|-
+
| 0.85
+
| 332
+
|-
+
| 0.95
+
| 381
+
|}
+
 
+
===== Multipass encoding =====
+
; <tt>-2pass</tt>
+
: Enables two-pass encoding mode.<br>Note that two-pass mode requires a physical file as input, rather than stdin.<br><small>Using two-pass encoding is not recommended when using VBR.</small>
+
; <tt>-2passperiod <number></tt>
+
: Overrides two-pass encoding bitrate averaging period, in milliseconds.<br>Specify zero to use least restrictive value possible (default).
+
 
+
===== Advanced features / troubleshooting =====
+
; <tt>-lc</tt>
+
: Forces use of LC AAC profile (HE features disabled). (LC = Low Complexity)
+
; <tt>-he</tt>
+
: Forces use of HE AAC profile (HEv2 features disabled). (HE = High Efficiency)
+
; <tt>-hev2</tt>
+
: Forces use of HEv2 AAC profile
+
 
+
''Note that the above switches (-lc, -he, -hev2) are not required and should normally not be used''. The optimal AAC profile is automatically determined from quality/bitrate settings when no override is specified. A scenario where using the switches might be useful is to force LC when you have a device that doesn’t support HE.
+
 
+
; <tt>-ignorelength</tt>
+
: Ignores length signaled by WAV headers of input file. Useful for certain frontends using stdin.
+
 
+
== NeroAacDec ==
+
 
+
NeroAacDec is the command-line decoder. It is currently at version 1.5.1.0 and was last updated Dec 17th, 2009. It decodes an [[MP4|.MP4]] file into a [[RIFF_WAVE|.WAV]] file
+
 
+
=== Usage ===
+
 
+
Windows:
+
<pre>neroAacDec.exe -if <input file> -of <output file> [-chapter <number>]</pre>
+
 
+
Where:
+
; <tt><input-file></tt>
+
: Path of source input file to decode, in MP4 format.
+
; <tt><output-file></tt>
+
: Path to decode the file to, in WAV format.<br>Specify - to decode to stdout.
+
 
+
==== Options ====
+
 
+
; <tt>-chapter <number></tt>
+
: Specify the chapter mark within the input MP4 file.
+
 
+
== NeroAacTag ==
+
 
+
NeroAacTag is used to list or edit an MP4 file's meta-data. It is currently at version 1.5.1.0 and was last updated Dec 17th, 2009. By default is writes iTunes-compatible tags.
+
 
+
=== Usage ===
+
 
+
Windows:
+
<pre>neroAacTag.exe <file.mp4> <command> [<command> [<command> ...]]</pre>
+
 
+
==== Available commands ====
+
; <tt>-list-meta</tt>
+
: Lists existing metadata entries.
+
; <tt>-meta:<name>=<value></tt>
+
: Sets specified metadata field to specified value. Eg. -meta:artist="Pink Floyd"
+
; <tt>-meta-user:<name>=<value></tt>
+
: Sets specified metadata field to specified value. Allows non-standard metadata fields to be added.<br>'''WARNING''': fields added using -meta-user are not guaranteed to be read back on all Nero Digital compliant software/hardware.
+
; <tt>-list-standard-meta</tt>
+
: Displays a list of field names usable with -meta command.
+
; <tt>-list-standard-itunes-meta</tt>
+
: Displays a list of iTunes field names. (Usable with -meta-user)
+
; <tt>-list-standard-memorystick-meta</tt>
+
: Displays a list of iTunes field names.
+
; <tt>-list-covers</tt>
+
: Lists cover art entries.
+
; <tt>-write-nd-covers</tt>
+
: Write cover art also to ND tags. Default is to write only to iTunes tags.
+
; <tt>-add-cover:<type>:<jpegfile></tt>
+
: Creates a cover art entry from specified JPEG file. <tt><type></tt> specifies type of cover art entry and can be "front" or "back". If specified cover art entry already exists, its contents are overwritten. Eg. <tt>-add-cover:back:hello.jpg</tt>
+
; <tt>-dump-cover:<type>:<jpegfile></tt>
+
: Dumps specified cover art entry contents to a JPEG file.
+
; <tt>-remove-cover:<type></tt>
+
: Removes specified cover art entry.
+
; <tt>-remove-cover:all</tt>
+
: Removes all cover art entries.
+
; <tt>-list-chapters</tt>
+
: Lists chapters present in the file.
+
; <tt>-chapter:<number></tt>
+
: Sets chapter index metadata edits apply to. Value of 0 (default state) applies edits to all present chapters. Also affects <tt>-list-meta</tt> output.
+
; <tt>-chapters-to-tracknumbers</tt>
+
: Generates track number metadata according to the chapter list.
+
 
+
=== Supported metadata fields ===
+
 
+
Strings are all encoded in utf8.
+
 
+
{| class="wikitable"
+
! Tag name !! Usage !! MP4 block modified !! Comment
+
|-
+
| title || -meta:title=<string> || ©nam
+
|-
+
| artist || -meta:artist=<string> || ©ART
+
|-
+
| year || -meta:year=<string> || ©day ||  Block actually supports full YYYY-MM-DD
+
|-
+
| album || -meta:album=<string> || ©alb
+
|-
+
| genre || -meta:genre=<string> || ©gen || This is the "User-defined" genre as opposed to the gnre block that stores ID3 integer genres
+
|-
+
| track || -meta:track=<int> || trkn
+
|-
+
| totaltracks || -meta:totaltracks=<int> || trkn
+
|-
+
| disc || -meta:disc=<int> || disk
+
|-
+
| totaldiscs || -meta:totaldiscs=<int> || disk
+
|-
+
| url || -meta:url=<string> ||
+
|-
+
| copyright || -meta:copyright=<string> ||
+
|-
+
| comment || -meta:comment=<string> ||
+
|-
+
| lyrics || -meta:lyrics=<string> ||
+
|-
+
| credits || -meta:credits=<string> ||
+
|-
+
| rating || -meta:rating=<?> ||
+
|-
+
| label || -meta:label=<string> ||
+
|-
+
| composer || -meta:composer=<string> ||
+
|-
+
| isrc || -meta:isrc=<?> ||
+
|-
+
| mood || -meta:mood=<?> ||
+
|-
+
| tempo || -meta:tempo=<int> || tmpo || Beats per minute
+
|-
+
| writer || -meta-user:writer=<string> ||
+
|-
+
| contentgroup || -meta-user:contentgroup=<string> ||
+
|-
+
| album artist || -meta-user:'album artist'=<string> || aART
+
|-
+
| description || -meta-user:description=<string> ||
+
|-
+
| network || -meta-user:network=<string> ||
+
|-
+
| show || -meta-user:show=<string> ||
+
|-
+
| season || -meta-user:season=<int> ||
+
|-
+
| episode || -meta-user:episode=<int> ||
+
|-
+
| episodename || -meta-user:episodename=<string> ||
+
|-
+
| sorttitle || -meta-user:sorttitle=<string> ||
+
|-
+
| sortalbum || -meta-user:sortalbum=<string> ||
+
|-
+
| sortartist || -meta-user:sortartist=<string> ||
+
|-
+
| sortband || -meta-user:sortband=<string> ||
+
|-
+
| sortwriter || -meta-user:sortwriter=<string> ||
+
|-
+
| sortshow || -meta-user:sortshow=<string> ||
+
|-
+
| itunescompilation || -meta-user:itunescompilation=<0,1> || cpil || iTunes only. More common to use something like "Various Artists" in the Album Artist field
+
|-
+
| itunespodcast || -meta-user:itunespodcast=<string> ||
+
|}
+
 
+
=== Notes ===
+
 
+
neroAacTag has a bug. Meta tag values that contain one or more semi-colons (;) will get split up into multiples of that tag.
+
 
+
For example, you run the following command:
+
 
+
<pre>
+
neroAacTag test.m4a -meta:artist="Artist A; Artist B; Artist C"
+
</pre>
+
 
+
Instead of having a single artist tag listing all three artists (<tt>artist="Artist A; Artist B; Artist C"</tt>), you get three artist tags with an artist listed in each (<tt>artist="Artist A" artist=" Artist B" artist=" Artist C"</tt>).
+
 
+
neroAacTag will show your tag as correctly applied but iTunes or Mp3tag will not see that. (Mp3tag will show you the duplicate tags in the Extended tags view.)
+
 
+
==Example EAC Settings==
+
 
+
The following settings are examples of what one might use for music and spoken word sources, respectively. Files will be tagged properly using these commands via neroaactag.exe. These commands do run ReplayGain on the files.
+
 
+
This is the syntax for older versions of EAC. For 1.0 beta 2 and above, variables have a changed syntax. See [[http://wiki.hydrogenaudio.org/index.php?title=EAC_and_AAC]]
+
 
+
===320kbps CBR AAC (Forced LC)===
+
'''Program, including path, used for compression''': C:\Windows\system32\cmd.exe<br>
+
'''Additional Command Line Options''': /c ""C:\path\to\neroaacenc.exe" -cbr 320000 -lc -if %s -of %d && "C:\path\to\Neroaactag.exe" %d -meta:artist="%a" -meta:album="%g" -meta:track="%n" -meta:title="%t" -meta:genre="%m" -meta:year="%y""
+
 
+
===Q0.3 VBR AAC (Forced HC)===
+
'''Program, including path, used for compression''': C:\Windows\system32\cmd.exe<br>
+
'''Additional Command Line Options''': /c ""C:\Program Files\Exact Audio Copy\neroaacenc.exe" -q 0.3 -hc -if %s -of %d && "C:\Program Files\Exact Audio Copy\Neroaactag.exe" %d -meta:artist="%a" -meta:album="%g" -meta:track="%n" -meta:title="%t" -meta:genre="%m" -meta:year="%y""
+
 
+
== Nero AAC in Foobar ==
+
 
+
The Nero AAC Codec can be used inside Foobar2000's convert function.
+
 
+
== References ==
+
 
+
[http://www.hydrogenaudio.org/forums/index.php?showtopic=44310 Recommended Settings Sticky]
+
 
+
[http://www.hydrogenaudio.org/forums/index.php?showtopic=44283 Discussion Thread for the Recommended Setting Sticky]
+

Latest revision as of 04:38, 23 July 2014