29.01.2009 г.
25.04.2009 г.
10.02.2010 г.
Для кодирования звука в формат Nero AAC в linux надо скачать и распаковать в любой каталог из PATH ("echo $PATH") содержимое файла neroAac.tar.bz2. К сожалению, источник, откуда я взял этот файл, мною утерян. Нашёл http://www.nero.com/eng/downloads-nerodigital-nero-aac-codec.php
Кроме этого поставим пакет lame
(он пригодится для перекодирования):
sudo apt-get install lame
Можно кодировать
"neroAacEnc -help
" поможет Вам разобраться в назначении ключей и опций. Для прослушивания копозиций на плеере, я использую битрейт 64kb/s. Вот только не надо! 64kb/s aac ≈ 196kb/s mp3 по звучанию, а по размеру поменьше будет!
Итак, для прослушивания копозиций на плеере, я использую битрейт 64kb/s. Команда выглядит следующим образом:
neroAacEnc -br 64000 -if input.wav -of output.m4a
Где:
-
br 64000" = 64kb/s;-
if" − входной файл в формате wav;-
of" − выходной файл в формета Nero AAC;
Более детальное описание команд смотрите с помощью "neroAacEnc -help
"
В общем, имея в наличии wav-файл, мы легко превращаем его в m4a с соответствующим перекодированием. Однако, у меня, к примеру, не храняться файлы в этом формате. Они лежат в mp3 с bitrate 320kb/s. Алгоритм сжатия при этом битрейте - математический, без использования психоаккустического алгоритма сжатия, а значит - с минимальными потерями. И вот понадобилось мне записать на плеер все пару компоизиций группы "Ария", а они в mp3. Как быть в этом случае? Да, очень просто. На помощь нам придёт lame. Использовать его в связке с neroAac можно следующим образом:
lame --decode input.mp3 - | neroAacEnc -br 64000 -if - -of output.m4a
С этими ключами neroAacEnc уже познакоимились выше. Исключение составляет "-if -", что означает принимать со стандартного устройства ввода. Для lame:
-
-
decode" − декодировать входной файл input.mp3 в wav;-
" − выводить результат на стандартное устройство вывода. Не используйте этот ключ без перенаправления - долго ждать придётся. :)Итак, lame получает имя файла, начинает его декодировать и результат выводить на стандартное устройство вывода, которое через pipe (|) перенаправляется в neroAacEnc. neroAacEnc получает поток со стандартного устройства ввода, жмёт его и выводит в output.m4a. Всё просто!
Однако, у меня случалось большое количество файлов, которые я хотел пережать. Файлы лежат, обычно, так:
Artist1\ Album1\ song1 ... songN ... AlbumN\ song1 ... songN ... ArtistN\ Album1\ song1 ... songN ... AlbumN\ song1 ... songN
И я решил, что лучше использовать скрипт, который сам бы за меня перекодировал. Для работы скрипта надо доставить:
sudo apt-get install id3 mpeg4ip-utils
А сам скрипт можно взять здесь.
Скрипту надо подать на вход каталог, например, Artist1, а результат он выложит в каталог, из которого был запущен. Скрипт расчитан на работу только в структуре каталогов, описанной выше. Кроме прочего, скрипт считывает id3 тэги из mp3 файла и заполняет соответствующие поля в m4a-файле. Если необходимо изменить битрейт - поправьте в скрипте значение ключа -br с "64000" на нужное Вам.
Модифицировал скрипт:
Удачи! Если что, пишите по адресу, указанному вверху страницы. Постараюсь ответить.