Uso do codificador Nero AAC
O neroAacEnc suporta HE-AAC e HE-AAC v2 através dos parâmetros -he
e -hev2
.
Este codificador é (ainda?) considerado o melhor codificador de qualidade. O Nero oferece gratuitamente, mas não dá suporte para isso. Um problema que você encontrará em arquivos grandes como o 5.1 WAV é a limitação do tamanho do arquivo. Não é devido a este codificador ser crippleware, mas como lidar com grandes números em um programa. Para contornar isso, você precisa canalizar a entrada com outro programa para o codificador e usar o parâmetro -ignorelength
. Se você digitar o formato já é WAV, o seguinte deve funcionar:
cat $myfile | neroAacEnc -q 0.5 -he -ignorelength -if - -of $myencodedfile
Você também pode usar avconv
(anteriormente conhecido como ffmpeg
, agora bifurcado e com a ferramenta CLI sendo renomeada) para fazer a conversão para WAV.
avconv -i $myfile -f wav - | neroAacEnc -q 0.3 -he -ignorelength -if - -of $myencodedfile
Observe que o arquivo resultante é um MP4 com um fluxo AAC em um contêiner MP4, não um fluxo AAC bruto. Você pode extrair o fluxo bruto com MP4Box
do pacote gpac
, se desejar.
Configuração de qualidade do Nero AAC
A configuração de qualidade depende do perfil que você usa. Com o LC-AAC, você pode ir até -q 1.0
. O HE-ACC está limitado a -q 0.5
, eu acho, e HE-AAC v2 ainda menor. Isso se deve às técnicas por trás desses perfis centrados em taxas de bits baixas. Usar -q 0.5
resultará em um arquivo maior que o áudio AC3 de 6 canais de um DVD, usando -q 0.3
para reduzir o tamanho do arquivo pela metade.
Conselhos para codec e escolha de qualidade em áudio multicanal
A situação é (ainda?) realmente confusa, e é por isso que não existe uma GUI fácil de usar como o Handbrake . O codec mais eficiente é HE-AAC v2, mas não é bem suportado no Ubuntu, devido a problemas de licenciamento / patente em alguns países. Vorbis também é bom, mas menos eficiente. O mapeamento multicanal deve ser corrigido na versão mais recente do LTS (12.04, não estava em 10.04). Deixando de lado o MP3, o AC3 vem em terceiro lugar. O FLAC é o 4º em eficiência e o formato sem perdas mais suportado. O DTS é um completo mais solto e deve ser deixado de fora, como o MP3. Converta para FLAC, se puder.
Portanto, se você tiver áudio codificado em AC3, provavelmente o deixará assim, se o formato do dispositivo e do contêiner oferecer suporte a ele. O gráfico para formatos de mídia compatíveis no Android pode ser útil.
Apêndice: arquivo de ajuda do neroAacEnc
Usage:
neroAacEnc [options] -if <input-file> -of <output-file>
Where:
<input-file> : Path to source file to encode.
The file must be in Microsoft WAV format and contain PCM data.
Specify - to encode from stdin.
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.
<output-file> : Path to output file to encode to, in MP4 format.
==== Available options: ====
Quality/bitrate control:
-q <number> : Enables "target quality" mode.
<number> is a floating-point number in 0...1 range.
-br <number> : Specifies "target bitrate" mode.
<number> is target bitrate in bits per second.
-cbr <number> : Specifies "target bitrate (streaming)" mode.
<number> is target bitrate in bits per second.
When neither of above quality/bitrate options is used,
the encoder defaults to equivalent of -q 0.5
Multipass encoding:
-2pass : Enables two-pass encoding mode.
Note that two-pass more requires a physical file as input,
rather than stdin.
-2passperiod : Overrides two-pass encoding bitrate averaging period,
<number> : in milliseconds.
: Specify zero to use least restrictive value possible (default).
Advanced features / troubleshooting:
-lc : Forces use of LC AAC profile (HE features disabled).
-he : Forces use of HE AAC profile (HEv2 features disabled).
-hev2 : Forces use of HEv2 AAC profile
Note that the above switches (-lc, -he, -hev2) should not be
used; optimal AAC profile is automatically determined from
quality/bitrate settings when no override is specified.
-ignorelength : Ignores length signaled by WAV headers of input file.
Useful for certain frontends using stdin.