пятница, мая 04, 2007

Easytag с поддержкой MP4/AAC в *ubuntu


Вчера попали ко мне аудиофайлы *.m4a.
$ file '01 United States Of Russia.m4a'
01 United States Of Russia.m4a: ISO Media, MPEG v4 system, version 2
$
Надо было поправить тэги, но любимый редактор тэгов с ними не смог работать. Возможно, есть какой-нибудь плейер с поддержкой редактирования тэгов таких файлов (хотя сомневаюсь - убунтостроителям религия не позволяет собирать такие пакеты), да не по-джыдайски это как-то. Решил поискать способ заставить easytag редактировать тэги этих файлов. За 5 минут нашёл.
Рецепт отсюда.
Для включения поддержки нужно пересобирать easytag, но, в свою очередь, это повлечёт необходимость пересборки mpeg4ip (той версии, что в Ubuntu) и далее по цепочке зависимостей. Дешевле пропатчить исходники easytag на предмет совместимости с той библиотекой libmp4v2, что идёт в дистрибутиве. Патч прикреплён к вышеуказанному посту в форуме ubuntu, для скачивания которого нужно зарегистрироваться на форуме, или его же можно скачать отсюда.
Как пишет автор
The patch is a bit of a hack, but i have tested it against all types of m4a created using faac and iTunes (OSX), and it seems to work fine, of course the responsibility is all yours.
этот патч используйте на свой страх и риск.
Нужно доустановить несколько *-dev пакетов (libgtk2.0-dev,libogg-dev,libvorbis-dev, libflac-dev, libid3-3.8.3-dev, libmp4v2-dev), если чего-то не хватает, в процессе работы скрипта configure всё увидите и доустановите. Патч был сделан для easytag 1.99.13, но прекрасно подходит и для текущей версии 2.0, так как патчится 1 файл - src/mp4_header.c. Скачанные ubuntu-easytag.patch.bz2 и easytag-2.0.tar.bz2 положить в один каталог и далее:
$ tar jxf easytag-2.0.tar.bz2
$ cd easytag-2.0
$ bzip2 -c -d ../ubuntu-easytag.patch.bz2 | patch -p1
$ ./configure --prefix=/usr
$ make
$ sudo checkinstall
Результат работы configure должен быть приблизительно такой:
Configuration for easytag 2.0 :
--------------------------------
Source code location ....: .
Host System Type ........: i686-pc-linux-gnu
Preprocessor ............: gcc
Compiler ................: gcc -g -O2 -Wall
Linker ..................: gcc -lmp4v2 -lm -lz -lstdc++ -lid3 -lFLAC -lm -lvorbisfile -lvorbis -logg -lm
GTK2 version ............: 2.8.20
MP3 file support ........: yes (id3lib-3.8.3)
Ogg Vorbis file support .: yes
FLAC file support .......: yes (flac-1.1.2)
MP4 file support ........: yes (mpeg4ip-)
NLS/gettext .............: yes
Install path ............: /usr
Now type make to build easytag 2.0,
and then make install for installation.

Я использую checkinstall вместо make install - таким образом собирается deb (или rpm, если используете rpm дистрибутив) пакет без прописывания зависимостей под конкретную конфигурацию ОС и устанавливается. Всё-таки всем устанавливаемым софтом должен заведовать штатный менеджер управления пакетами.
Всё это проделано на даппере, не знаю как с этим дело обстоит на эджи или фейсти - наверное, должно быть так же.

Комментариев нет: