Подписаться  на наше издание быстро и дешевле чем где-либо Вы можете прямо сейчас! Подписаться! 

 

 

Разнообразие Linux может быть как преимуществом, так и недостатком. Например, такой популярный формат аудиофайлов, как mp3, можно слушать разными способами — если получится.

 

КТО-ТО СКАЗАЛ, что говорить о Linux-десктопе не придется, скорее, будут подразумеваться GNOME- или KDE-персональные компьютеры. Действительно, Linux — это только ядро, и большинство пользователей с ним напрямую не работает. Поражает то, что в пресловутом Windows инсталлятор до сих пор текстовый, как был в NT 4.0, а в Linux инсталлятор графический уже много лет. Так скоро дойдет до того, что установить "шапку" будет проще, чем XP.


Но сегодня речь пойдет об одной из библиотек, которой должны пользоваться "гномовские" программы для воспроизведения популярных аудиоформатов, в том числе и проприетарного mp3. Как известно, после стандартной установки Linux большинство аудиоплееров отказываются озвучивать файлы в этом кодеке и сообщают об отсутствии необходимого плагина. Из соображений лицензирования пользователь должен установить его самостоятельно. Для xmms все просто — нужно найти пакет xmms-mp3 и установить его. Спору нет, это хороший аудиоплеер, по интерфейсу похожий на WinAMP, простой и понятный в использовании. Но здесь возникают проблемы различий чистой X11/KDE/GNOME.


Если говорить о рабочем окружении GNOME, то у него есть две функции, значительно облегчающие взаимодействие его программ с сетевым окружением Windows. В первую очередь, это обозреватель сети, в некоторых реализациях (например, Ubuntu 5.10) работающий даже быстрее "натурального" варианта. Так что можно "побродить" по локальной сети, найти компьютер с "расшаренной" музыкой и... Вот именно, как этот сетевой ресурс вложить в плей-лист WinAMP? Да никак. Нужно какой-то третьей утилитой или командой smbmount подключать ресурс к файловой системе. Но когда работаешь в GNOME, хочется забыть о разных утилитах и приемах. Это окружение ориентировано на интуитивно понятный интерфейс.


Другое дело — плееры, включенные в эту среду, — Totem, Banshee, Rythmbox. Как и любая "правильная" программа GNOME, они поддерживают VFS (виртуальную файловую систему), которая является второй полезной функцией. Это означает, что любой файловый или сетевой ресурс можно идентифицировать простым drag-and-drop. Хотя вообще дело не в конкретном плеере. Все перечисленные аудиопрограммы для воспроизведения используют общую библиотеку. Это может быть xine или gstreamer, о которой и пойдет речь.

 

Берега G-потока


В середине января этого года появилась новая версия библиотеки gstreamer, предоставляющей программам видео- и аудиоинтерфейс для создания мультимедийных эффектов. Проект выпускается под LGPL-лицензией, а это значит, что он может быть включен даже в системы с закрытым кодом. Это позволило портировать его код в Solaris x86 и SPARC, MacOSX, Microsoft Windows, IBM OS/400. Текущая версия библиотеки – 10.2. Главными характеристиками gstreamer являются основанная на GLib 2.0 объектная модель, небольшой размер (меньше 150 кб для ядра), простой API для создания модулей независимыми разработчиками, система динамической загрузки плагинов, средства отладки и мониторинга системы. Что касается структуры этой библиотеки, то ее можно описать следующим образом:

  • gstreamer. Это собственно ядро, которое в зависимости от дистрибутива и сборки будет установлено в /lib/gstreamer-x.x или /usr/local/lib/gstreamer-x.x;
  • gst-plugins-base – модуль, содержащий плагины, которые обеспечивают базовую функциональность. К ним относится поддержка ALSA, конвертор аудио в различные форматы (aydioconvert), cdparanoia, поддержка VFS (gnomevfs), поддержка ogg, реализация передачи потока поверх TCP-протокола, работа с видео посредством Video4Linux, воспроизведение видео благодаря стандартной библиотеке Xlib и ее xv расширению;
  • gst-plugins-good содержит плагины для работы с альфа-каналом видео, средства автоматического определения формата аудио-/видеопотока, поддержку avi, элементы для тестирования и отладки, поддержку серверов звука oss и esd. Он также содержит утилиту для выбора мультимедийной схемы GNOME (gconfelements);
  • gst-plugins-ugly – это реализация mp3 посредством библиотеки lame, декодирование mp3 с помощью библиотеки mad, манипулирование id3-тэгами, mpeg2-декодер;
  • /var/cache/gstreamer-x.x/registry.xml – это общий обработанный список установленных плагинов;
  • $HOME/.gstreamer-x.x/registry.xml – список плагинов, доступных пользователю.

Стоит обратить внимание на то, что в предыдущих версиях gstreamer пользователь был вынужден генерировать реестр плагинов командой gst-registry. Теперь в этом нет необходимости – он будет создан автоматически при первом обращении программы к библиотеке.

 

Таким образом, чтобы заставить видео- и аудиоплееры работать в GNOME, нам придется скомпилировать gstreamer с поддержкой нужных нам форматов.

 

Для выбора и проверки мультимедийной системы в GNOME есть специальная утилита


На этом этапе надо сделать выбор – переходить на новую версию библиотеки или использовать плагины для установленной в системе библиотеки. Скорее всего, у вас будет версия gstreamer-8.x. В большинстве случаев нет необходимости радикально ее обновлять, достаточно перекомпилировать модули. Конечно, чтобы во всем разобраться, стоит пройти процедуру установки gstreamer полностью. Для этого необходимо зайти на http://gstreamer.freedesktop.org/src/ и скачать нужные пакеты. Это gstreamer-0.10.2.tar.gz, gst-plugins-base-0.10.2.tar.gz, gst-plugins-good-0.10.1.tar.gz, gst-plugins-ugly-0.10.1.tar.gz.


Прежде чем устанавливать новую библиотеку, следует избавиться от предыдущей. Главное – не забыть о параметрах. Начинать, естественно, нужно с ядра библиотеки.


cd ~
tar -xvzf gstreamer-0.10.2.tar.gz
cd gstreamer-0.10.2
./configure; make; sudo make install;


Здесь все должно быть просто. В крайнем случае, можно изучить config.log и узнать, по какой причине возникает ошибка компиляции.


Более сложный процесс – установка плагинов. Как правило, необходимо доставить в систему заголовочные файлы пакетов gnome-gui, X, glib и других. В этом случае снова надо изучить подсказки configure и лог-файл. Иногда бывает удобно запускать команду не непосредственно, а через небольшой скрипт:


#!/bin/bash
#экспортируем общие переменные
# export
#экспортируем переменные компиляции CCONFIG и LDCONFIG
# export CCONFIG=$CCONFIG;
# export LDCONFIG=$LDCONFIG
# ./configure --with-plugins=, , , --enable-FEATURES


Здесь следует подправить параметры --with-plugins и --enable-FEATURES.


Для плагина gst-plugins-base надо выбрать следующие параметры:
--with-plugins=alsa,audioconvert,audioresample,audiotestsrc,gnomevfs,ogg,tcp,volume,vorbis,ximagesink,xvimagesink.

По умолчанию большинство этих плагинов будет подключено автоматически, притом скрипт конфигурирования сообщит вам, какие плагины будут созданы, а какие – нет. Нужно только добавить недостающие в список параметра with-plugins.


Подобным образом нужно скомпилировать и два оставшихся пакета. Для gst-plugins-good важны модули autodetect, avi, esdsink, gconfelements, ossaudio. Поддержка mp3-формата осуществляется в gst-plugins-ugly посредством модулей lame и mad. Они, в свою очередь, требуют присутствия в системе библиотек lame и id3tag, так что вначале нужно инсталлировать их.


Итак, все сводится к стандартным в Unix средствам установки. Теперь можно запустить аудиоплеер и попробовать воспроизвести какой-то файл. Если получится – прекрасно, а если нет, то можно обратиться к сайту разработчика (http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-troubleshooting.html). Алгоритм нахождения ошибок прост. Сначала проверяем, установлены ли нужные нам плагины, а потом проверяем работу самих плагинов. Надо учитывать, что плагин audiotestsrc создает простой тестовый сигнал. Именно его вы слышите, когда GNOME предлагает вам выбрать подходящий звуковой сервер. Используя команду gst-inspect, выводим список всех доступных модулей – gst-inspect module даст информацию о конкретном модуле.


Для начала следует проверить работоспособность выбранного в среде звукового сервера. Если указан ESD, тип установленного сервера можно узнать, открыв конфигурацию GNOME и загрузив аплет "Выбор мультимедийной системы". Далее надо проверить один из следующих плагинов: osssink, esdsink, artsdsink, alsasink. Например, gst-inspect esdsink выдаст информацию о модуле для сервера ESound. После этого попробуйте выполнить команду gst-launch audiotestsrc ! esdsink, чтобы  услышать тестовый сигнал. Пока вы его не услышите, нет смысла добиваться чего-нибудь от аудиоплеера. Обратите внимание на "пайп", используемый в командной строке, – звук проходит цепочку преобразований.

 

Библиотека gstreamer включает и утилиту компоновки модулей gstBeditor


С другой стороны, воспроизведение простого сигнала еще не означает, что будут слышны mp3-файлы. Поэтому следующим шагом должна быть "разведка боем":


gst-launch filesrc location=thesong.mp3 ! mad ! audioconvert ! audioresample ! esdsink


Только после этого можно с уверенностью сказать, что gstreamer установлена правильно.

 

Народные инструменты GNOME-среды


Еще в прошлой версии плеера Totem можно было найти предпочтения для настройки внешних модулей. Теперь таких возможностей нет – разработчики графической среды GNOME держат слово и старательно упрощают пользовательский интерфейс. Это означает только одно: система должна воспроизводить звук и видео посредством внутренних механизмов, а мультимедиа-утилиты должны этими средствами пользоваться по умолчанию. Однако gstreamer успешно справляется с mpeg-кодеком, а Totem – нет. Это говорит о том, что в конкретной реализации плеер настроен на использование xine-lib, а не gstreamer. Выбирать вам – настроить ли правильно xine-lib или пересобрать Totem с поддержкой gstreamer. Делается это командой ./configure –enable-gstreamer.


Таким образом, в Linux во многом можно добиться той же функциональности, что и в других ОС, но иногда для этого приходится прикладывать слишком много усилий. С другой стороны, если нет желания тратить время на компиляцию нужных библиотек, можно поискать уже готовые сборки, любезно предоставленные другими пользователями в общее использование.


Конвертируем mp3

Если вам некогда учить систему воспроизводить музыку, закодированную в mpeg, можно конвертировать файлы mp3 в какой-то некоммерческий формат, понятный программам Totem и Rhytmbox. Для перекодировки можно воспользоваться утилитами Windows или инструментами Linux. Например, утилитой oggenc из библиотеки vorbis. Также понадобится простой консольный медиаплеер mpg123 (или mpg321). Им мы воспользуемся для преобразования mp3 в промежуточный формат: mpg123 -w file.wav file.mp3. Этот код преобразует файл file.mp3 в аудиоформат wav. Теперь можно применить oggenc: oggenc -o file.ogg file.wav. Поместить два этапа преобразования формата в одной строчке кода можно используя "пайп": mpg123 -w - file.mp3 | oggenc -o file.ogg -. Обратите внимание на знаки "-", отмеченные красным, – они предписывают использовать стандартный поток stdin и stdout для ввода-вывода звука.

2006.04.28
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".