Linux – лицом к пользователю

В предыдущей статье я коротко, но надеюсь достаточно понятно описал, как можно установить Linux Mandriva One 2009 на устройство Asus Eeepc. Я даже не сомневаюсь, что обязательно найдутся люди, которые предпочтут использование Windows XP, а среди моих сзнакомых нашелся даже страдалец, предложивший установить на это устройство Windows Vista. Не сомненно он глубоко несчастный человек.
По поводу же Windows XP – помимо всеж достаточно большой громоздкости этой ОС (это на 20 Гб винта) – существует одно но – поддержка данной системы в настоящее время прекращена, и ее дистрибутивы в легальной продаже в настоящее время практически отсуствуют. Если это вас не особо волнует – Бог вам судья, и со своими задачами разбирайтесь сами.
Ну а мы наслаждаемся производительностью и удобством работы под KDE4. Надо сказать что система практически готова для работы с момента установки, и для решения большинства стандартных задач в ней все есть. Но задачи бывают и не стандартными. Например я столкнулся с одной такой – задача переконвертировать звуковой файл формата amr – в таком формате пишут ряд телефонных диктофонов в стандартный сжатый формат mp3.
Опять же, задача кажется нестандартной просто потому что я мало работаю со звуком и только поэтому. На самом деле существует огромное количество тем, посвященных данной проблеме, в особенности на французком и английском языках, но сложности тут добавляет то, что технологии сжатия amr не являются открытыми. Поэтому если вы хотите что бы ваша система могла нормально работать с таким звуком – вам прийдется приложить некоторые усилия.
Если вам просто нужно прослушивать звук в данном формате – вам в этом поможет RealPlayer – он вполне нормально воспроизводит данный формат.
Если же вам нужно выполнять конвертацию – то в таком случае вам будет нужно или же установить программу типа SoundKonverter (либо подобную ей – программ существует множество – но есть определенные проблемы – они зачастую требуют дополнительных связей и зависимостей, и я в конце концов решил не мучатся). Или же собрать вручную пару библиотек и пользоваться ими. Это оказалось проще всего.
И так – для того что бы вы могли собрать что-либо из исходных кодов, вам необходим инструмент – компилятор и линковщик. В LMO, как и в других юникс-подобных системах эту роль играет gcc. Для его нормальной работы необходимо 7 пакетов:
[code]

  1. gcc-4.3.2.-3mnb2.i586.rpm
  2. gcc-c++4.3.2-3mnb2.i586.rpm
  3. glibc-devel-2.8-1.20080520.5mnb2.i586.rpm
  4. kernel-headers-2.6.27.5-1mnb2.i586.rpm
  5. manbo-mandriva-files-gcc-4.3.2-1mnb2.i586.rpm
  6. manbo-mandriva-files-gcc-c++-4.3.2-1mnb.i586.rpm
  7. libstdc++-devel-4.3.2-3mnb2.i586.rpm

Не стоит пугаться непонятных названий, или стремится их учить наизусть - названия пакетов приведены здесь для примера и действительны только для моей версии LMO - это во первых. А во вторых, все что необходимо - за вас сделает исталлятор - ваша же задача только выбрать пакет, который вы хотите установить. Если же по какой либо причине у вас отсутсвует сетевое подключение к Интернету, то тоже ничего страшного - вы можете в компьютерном клубе, или где либо в другом месте закачать эти пакеты, скопировать их в папку /var/cache/urpmi/rpms - и все остальное система сделает за вас. Если же у вас есть подключение к интернету - то тогда проблемы вообще быть не должно. Актуальные на данный момент пакеты вы всегда найдете на ФТП-сервере - ftp://ftp.mandriva.ru
Скриншот Линукс1: Установка и удаление программСкриншот Линукс1: Установка и удаление программ
После того как у вас все успешно установилось - приступаем к сборке необходимых компонентов. Нам понадобятся:

  1. http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
  2. http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
  3. http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
  4. http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz
  5. http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
  6. http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2
  7. http://downloads.xiph.org/releases/theora/libtheora-1.0beta3.tar.gz

После того как вы закачали все указанное - распаковываем это все в директорию /usr/src/rpm/SOURCE(обратите внимание что все это нужно выполнять с правами root'а)

  • tar -xvf lame-3.97.tar.gz
  • tar -xvf libogg-1.1.3.tar.gz
  • tar -xvf libvorbis-1.2.0.tar.gz
  • tar -xvf essential-20071007.tar.bz2
  • tar -xvf amrnb-7.0.0.2.tar.bz2
  • tar -xvf amrwb-7.0.0.3.tar.bz2
  • tar -xvf libtheora-1.0beta3.tar.gz

Все это можно сделать и в графической оболочке - но только в консоли это гораздо проще.
Делаем директорию для кодеков

mkdir /usr/local/lib/codecs/

Копируем бинарные кодеки

  • mkdir /usr/local/lib/codecs
  • mv /usr/src/rpm/SOURCE/essential-20071007/* /usr/local/lib/codecs/
  • chmod -R 755 /usr/local/lib/codecs/

Инсталлируем lame

  • cd /usr/src/rpm/SOURCE/lame-3.97
  • ./configure
  • make && make install

Инсталируем последовательно кодеки для ogg,vorbis

  • cd /usr/src/rpm/SOURCE/libogg-1.1.3
  • ./configure && make && make install
  • cd /usr/src/rpm/SOURCE/libvorbis-1.2.0
  • ./configure && make && make install

Собираем mplayer

  • cd /usr/src/rpm/SOURCE/mplayer
  • ./configure --enable-jpeg
  • make && make install

  • Собираем библиотеки непосредственно отвечающие за формат amr

    • cd /usr/src/rpm/SOURCE/amrnb-7.0.0.2
    • ./configure
    • make && make install
    • cd /usr/src/rpm/SOURCE/amrwb-7.0.0.3
    • ./configure
    • make && make install

    И последней собираем библиотеку ffmpeg, создаем ссылки в системных каталогах и в принципе все.

    • ./configure --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared --enable-libamr-nb --enable-libamr-wb --enable-nonfree --enable-libtheora
    • make
    • make install
    • ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52
    • ln -s /usr/local/lib/libavformat.so.52 /usr/lib/libavformat.so.52
    • ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
    • ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
    • ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
    • ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51
    • ln -s /usr/local/lib/libamrnb.so.2 /usr/lib/libamrnb.so.2

    Теперь вы должны спокойно работать с нужными вам форматами.
    А перекодировку можно выполнять как в mplayer, так и при помощи обычного скрипта. Скрипт достаточно простой - и при необходимости вы вполне можете его улучшить

    • #! /bin/bash
    • SOURCE_IN = /home/nona/dirinput
    • FINALIWAV=/home/nona/dirwav
    • SUFFIX1=raw
    • SUFFIX2=wav
    • I=0;
    • for file in $SOURCE_IN/*.amr;
    • do
    • FILE=`echo $file |sed -e "s/.amr//"`;
    • /usr/local/bin/amrnb-decoder $file "$FILE.$SUFFIX1" > log.std 2 > log.err;
    • sox -r 8000 -s -2 "$FILE.$SUFFIX1" -t wav "$FILE.$SUFFIX2" > log.std 2 > log.err;
    • /usr/local/bin/lame "$FILE.$SUFFIX2" "$FINALWAV/$I.$SUFFIX2" --silent --tt $FILE --ta $USER
    • rm "$FILE.$SUFFIX2";
    • rm "$FILE.$SUFFIX1";
    • let "I=$I+1";
    • done

    Поділиться з друзями

    Ви можете залишити комментар, чи зробити посилання зі свого сайту.

    Залиште коментар

    Programmed by Varkon Ltd