Как преобразовать AC3 6ch аудио в HE-AAC? GUI решение?
Я хочу преобразовать звуковую дорожку файла MKV в HE-AAC (AAC+/AACplus). Аудио дорожка AC3. Но, кажется, нет графического интерфейса для кодирования HE-AAC? Я только узнал, что есть инструмент командной строки (CLI) от Nero, но я не знаю, может ли это сделать HE-AAC.
Любая помощь? Любая рекомендация для графического интерфейса, который может конвертировать AC3 в HE-AAC? Также должен уметь обрабатывать объемный звук (5.1/6 каналов).
2 ответа
Использование Nero AAC Encoder
neroAacEnc поддерживает HE-AAC и HE-AAC v2 через -he
а также -hev2
параметры.
Этот кодер (все еще?) Считается лучшим по качеству кодером. Nero предлагает его бесплатно, но не поддерживает его. Одна проблема, с которой вы столкнетесь с большими файлами, такими как 5.1 WAV, - это ограничение размера файла. Дело не в том, что этот кодер является программным обеспечением, а в том, как обрабатывать большие числа в программе. Чтобы обойти это, вам нужно передать вход с другой программой в кодировщик и использовать -ignorelength
параметр. Если вы ввели формат уже WAV, должно работать следующее:
cat $myfile | neroAacEnc -q 0.5 -he -ignorelength -if - -of $myencodedfile
Вы также можете использовать avconv
(ранее известный как ffmpeg
, теперь разветвленный и с переименованным инструментом CLI), чтобы сделать преобразование в WAV.
avconv -i $myfile -f wav - | neroAacEnc -q 0.3 -he -ignorelength -if - -of $myencodedfile
Обратите внимание, что результирующий файл представляет собой MP4 с потоком AAC в контейнере MP4, а не необработанный поток AAC. Вы можете извлечь сырой поток с MP4Box
от gpac
пакет, если вы хотите.
Настройка качества Nero AAC
Настройка качества зависит от используемого вами профиля. С LC-AAC вы можете подняться на -q 1.0
, HE-ACC ограничен -q 0.5
Я думаю, и HE-AAC v2 еще ниже. Это связано с методами, лежащими в основе этих профилей, которые сосредоточены вокруг низких битрейтов. С помощью -q 0.5
приведет к тому, что файл больше, чем обычный AC3 6ch аудио с DVD, используя -q 0.3
уменьшит размер файла пополам.
Советы по выбору кодека и качеству многоканального звука
Ситуация (все еще?) Действительно грязная, поэтому не существует такого простого в использовании графического интерфейса, как Handbrake. Наиболее эффективным кодеком является HE-AAC v2, но он не очень хорошо поддерживается в Ubuntu из-за проблем с лицензированием / патентами в некоторых странах. Ворбис тоже хорош, но менее эффективен. Многоканальное сопоставление должно быть исправлено в последней версии LTS (12.04, не было в 10.04). Оставив MP3, AC3 занимает третье место. FLAC является четвертым по эффективности и наиболее поддерживаемым форматом без потерь. DTS - полная неудача, и ее также следует исключить, например, MP3. Конвертируйте в FLAC, если можете.
Так что, если у вас есть звук в кодировке AC3, вы, вероятно, оставите это, если формат устройства и контейнера поддерживает это. Может быть полезна таблица поддерживаемых форматов мультимедиа на Android.
Приложение: файл справки 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.
Боюсь, командная строка всегда будет лучшим вариантом для этой работы. Если ваша копия FFmpeg скомпилирована с поддержкой fdkaac, вы можете создавать высококачественные высокоэффективные файлы AAC из файлов mkv/ac3.
Протестируйте свою копию FFmpeg следующим образом:
andrew@ilium~$ ffmpeg -encoders -hide_banner | grep libfdk_aac
A..... libfdk_aac Fraunhofer FDK AAC (codec aac)
andrew@ilium~$
В приведенном выше примере показано, что у меня есть кодировщик fdkaac (A=Audio).
Ниже приведены два примера необходимого синтаксиса, обратите внимание, что я просто скопировал предполагаемый видеопоток из исходного файла:
1. AAC-HE версия 1:
ffmpeg -i input.mkv \
-c:v copy \
-c:a libfdk_aac -profile:a aac_he \
-b:a 64k -movflags +faststart \
output.mkv
2. AAC-HE версия 2:
ffmpeg -i input.mkv \
-c:v copy \
-c:a libfdk_aac -profile:a aac_he_v2 \
-b:a 32k -movflags +faststart \
output.mkv
Насколько мне известно, нет приложения с графическим интерфейсом, которое могло бы позволить вам такой тонкий контроль над вашей командной строкой и позволить вам создавать выходные файлы именно так, как вы хотите.