Из инструмента, предназначенного для работы, компьютер постепенно превратился в центр развлечений, на котором можно посмотреть фильм и телевизионные передачи, послушать музыку или выйти в Интернет за последними новостями. Однако и этого недостаточно – пользователю уже нужна удобная и простая в использовании оболочка, которая сможет объединить разнородные по задачам инструменты с единым интерфейсом управления. Говоря о домашней мультимедийной станции, в первую очередь вспоминают о специализированных аппаратных решениях вроде TiVo, а из программных продуктов – о широко разрекламированном Windows XP Media Edition. В Linux также есть подобные решения.
Проект MythTV
Вдохновитель проекта Исаак Ричардс, начавший работу над MythTV в апреле 2002 года, мотивировал свой поступок отсутствием необходимых и удобных программ, которые бы позволяли не только смотреть видео, ТВ, слушать музыку, но и работать с почтой, просматривать новости. По этой же причине не подошел и набиравший популярность TiVo. Вот так просто и возник один из наиболее известных на сегодня проектов, позволяющих сделать компьютер еще и домашним кинотеатром.
MythTV представляет собой набор программ, позволяющих на обычном компьютере создать настоящую медиастанцию. Работает MythTV только на компьютере с установленной UNIX-подобной операционной системой, в качестве которой подойдут Linux, все BSD-сиситемы и даже Mac X OS.
Первоначальным назначением MythTV было наделить компьютер, имеющий ТВ-тюнер, функциональностью живого телевидения. Используя единое приложение, пользователь сможет смотреть телепередачи, записывать их по расписанию, пропускать рекламу, перематывать вперед/назад, делать паузу. В общем, система будет работать как обычный видеомагнитофон. В случае если на компьютере установлено несколько видеокарт, это только увеличит возможности, позволяя реализовать при просмотре режим «картинка в картинке», а при захвате записывать информацию сразу с нескольких источников. В качестве драйверов используется Video4Linux, поэтому следует серьезно подойти к выбору видеокарт. Еще попадаются решения, которые даже в Windows трудно заставить работать нормально. Изображение можно вывести на телевизор и управлять дистанционно, используя пакет LIRC, причем, как ни странно это звучит, последний поддерживает большее количество видов пультов, чем Windows XP Media Edition. Сначала основной упор был сделан именно на функцию захвата видео, которая тесно завязана со встроенным планировщиком MythTV. Готовые записи можно монтировать, вырезая ненужные фрагменты, таким образом сэкономив место на диске и свое время при просмотре рекламы. Идея понравилась, и через некоторое время с помощью дополнительных модулей MythTV научился воспроизводить видеофайлы, хранящиеся на жестком диске, и проигрывать DVD (рис. 3.14).
Рис. 3.14. Главное меню MythTV
С его помощью можно слушать музыку, разбирать по категориям и преобразовывать аудиофайлы MP3/Ogg/FLAC/CD, создавать плейлисты, просматривать изображения, веб-страницы в Интернете и читать RSS-каналы. Отдельные модули MythTV позволяют выводить информацию о погоде прямо в основное окно программы и разговаривать с компьютера по протоколу SIP. Для любителей игр MythTV тоже полезен, так как позволяет запускать игры как на PC, так и через эмуляторы MAME, NES, SNES и другие (поддерживается работа с 16 эмуляторами).
В первых версиях для просмотра DVD и видео использовались только внешние программы (MPlayer или Xine), однако сейчас доступен встроенный проигрыватель, что упрощает настройку и уменьшает количество дополнительных приложений. В MythTV использована клиент-серверная архитектура, поэтому серверный компонент можно разместить на более мощной машине и затем подключаться к нему по сети, прописав в свойствах клиента его параметры. Интерфейс легко меняется при помощи скинов (рис. 3.15). Популярно использование MythTV на баребоне-системах[1]; информации по этому вопросу много – достаточно набрать в Google запрос вроде VIA Epia M MythTV. По адресу http://bit.blkbk.com/ можно получить информацию об установке MythTV на приставку Xbox (правда, проект уже почти закрыл разработки).
Рис. 3.15. Один из скинов MythTV
Установка и настройка последних версий MythTV выполняются намного проще, чем раньше. Последней версией на момент написания данной книги является 0.20. Несмотря на то что номер еще далек от окончательного релиза, стоит заметить, что начиная с версии 0.16 MythTV можно считать работоспособным и стабильным приложением.
Это косвенно подтверждается и его включением в репозитарии пакетов многих дистрибутивов. Учитывая множественные зависимости, лучше устанавливать MythTV именно таким способом. Для Red Hat Linux/Fedora Core все необходимое следует искать на http://atrpms.net/topic/multimedia/, для Debian – на сайте http://debian.video.free.fr/, для Mandriva – на http://rpm.nyvalls.se/. Пользователи Slackware или дистрибутивов, использующих его пакеты, например Vector Linux, могут обратиться к ресурсу http://www.linuxpackages.net/. Для Debian доступен сценарий A.M.I.C.U.S. (Automatic Multimedia Installation Configuration Utility System) (http://sf.net/projects/amicus), задача которого – упростить процесс установки и получить функционирующий MythTV. В Kubuntu все необходимые пакеты можно найти, введя команду
$ sudo apt-cache search mythtv
В результате будет получен длинный список, включающий все модули в отдельных пакетах. Для минимальной установки достаточно ввести
$ sudo apt-get install mythtv mythplugins mythcontrols
В качестве зависимостей указан и GDM, поэтому в процессе установки будет выдан запрос, какой из менеджеров входа в систему использовать – KDM или GDM.
Можно оставить тот, который есть (KDM), тем более, что он удобнее. В Ubuntu есть пакет ubuntu-mythtv-frontend собственной разработки, который представляет собой фронт-энд к программе настройки mythtv-setup. После установки его ярлык появится в меню К → Настройка → MythTV Backend Setup (Внутренние настройки MythTV). Для первичной настройки выбираете этот ярлык или вводите команду в консоли. После ответа на все вопросы выходите из программы настройки, заносите параметры в базу данных, вызвав mythfilldatabase, и запускаете сервер mythbackend; когда все препятствия позади, запускаете фронт-энд:
$ mythfrontend
В результате рабочий стол будет заменен экраном управления, внешний вид которого зависит от выбранной темы.
Следует также отметить наличие модуля для Webmin (http://swaret.sf.net/files/mythtv.wbm.gz), устаревшего, но работоспособного, используя который можно настраивать MythTV через веб-интерфейс, хотя в состав MythTV входит плагин MythWeb (рис. 3.16), позволяющий управлять некоторыми настройками MythTV (в основном заданиями на запись трансляций) через обычный веб-браузер.
Для работы MythWeb потребуется веб-сервер с поддержкой PHP.
Рис. 3.16. Веб-интерфейс настройки MythTV
При отсутствии желания самостоятельно устанавливать и настраивать MythTV можно попробовать готовое решение. Например, дистрибутив MythDora (http://g-ding.tv/?q=MythDora) представляет собой сочетание Fedora Core 6 с полностью настроенным и готовым к употреблению MythTV. В дополнение идут все необходимые для работы тюнеров и видеокарт драйверы, в том числе и pfrhsnst, а также модули к MythTV. Пользователю фактически остается только установить Fedora обычным образом.
Попробовать MythTV без установки на жесткий диск можно, используя KnoppMyth (http://mysettopbox.tv/knoppmyth.html). Он построен на Live CD-дистрибутиве Knoppix, который корректно запускается на любом оборудовании.
Проект Freevo
Канадец Кристер Лагерстром был одним из тех, кому не нравилось текущее положение дел в работе с мультимедиа в Linux. Программа, созданная им на языке высокого уровня Python, называается Freevo. На момент выхода первой версии (май 2002 года) это был довольно примитивный вариант – после загрузки пользователь видел синий экран с простой системой меню.
Сейчас это не столько программа, сколько полноценная платформа для организации домашнего медиацентра. Поддержка плагинов позволяет существенно расширить ее возможности и даже превзойти некоторые известные аппаратные решения. Имеющиеся сейчас плагины не только позволяют изменить внешний вид системы, но и кодировать аудио и видео, записывать CD и DVD, отправлять и принимать почту, интегрироваться с iPod, получать информацию о погоде и многое другое. Freevo работает под управлением Linux, используя и некоторые другие свободные разработки. Среди его возможностей – просмотр любых видео-, аудиои графических файлов (рис. 3.17), расположенных на жестком диске компьютера и доступных через сеть. Телевизионные или спутниковые программы при необходимости сохраняются на диск. Программу телепередач, как и новостные RSS-потоки, можно просмотреть из основного окна программы. Сигнал может выводиться как на телевизор (через TV-выход графической карты), так и на монитор. Управление возможно как при помощи мыши и клавиатуры, так и с пульта дистанционного управления. Установив отдельный модуль (bluetooth.tar), можно управлять Freevo с мобильного телефона с поддержкой Bluetooth. Есть и веб-интерфейс управления (рис. 3.18).
Рис. 3.17. Просмотр рисунков в Freevo
Рис. 3.18. Веб-интерфейс управления Freevo
Freevo можно найти в портах Gentoo Linux, доступны rpm-пакеты для SUSE Linux, Mandriva, Fedora Core и других дистрибутивов. Есть Freevo и в Сизифе ALTLinux. В репозитарии Ubuntu Freevo, к сожалению, нет. За информацией и исходным текстом следует зайти на сайт проекта http://freevo.sourceforge.net/. При создании использовался Python, поэтому Freevo не требует компиляции при установке. Однако список зависимостей на странице превышает 30 приложений; чтобы не устанавливать их вручную, можно использовать репозитарий дистрибутива Debian. Для этого добавляете в /etc/apt/sources.list информацию о новом репозитарии:
deb http://freevo.sourceforge.net/debian unstable main
deb http://debian-multimedia.org sarge main
Импортируете GPG-ключ:
$ gpg –keyserver hkp://wwwkeys.eu.pgp.net –recv-keys 1F41B907
$ gpg –armor –export 1F41B907 | sudo apt-key add –
Обновляете базу sudo apt-get update и проверяете наличие нужных пакетов:
$ sudo apt-cache search freevo
freevo-plugin-weather – Enhanced Weather Plugin for Freevo
freevo-media – Themes and non-application data for Freevo
freevo – A Python based PVR/DVR Framework for Music and Movies
Обязательным является пакет freevo, freevo-media содержит в основном дополнительные темы, а freevo-plugin-weather относится к более ранней версии, поэтому устанавливаться он не будет. Устанавливаете:
$ sudo apt-get install freevo freevo-media
Дополнительно будет скачано 44 пакета общим объемом чуть меньше 14 Мбайт. На последнем этапе установки появляется мастер настройки пакетов Ubuntu, который поможет выставить некоторые базовые настройки. Рекомендуется пройтись по всем пунктам, чтобы потом меньше информации вводить вручную. Выбираете систему вывода (в большинстве случаев подойдет X11), разрешение экрана, устанавливаемое при работе Freevo, телевизионный стандарт (secam) и регион (europe-east). При возникновении трудностей мастер всегда можно запустить повторно, выполнив команду dpkg-reconfigure freevo или freevo setup.
После установки следует отредактировать конфигурационные файлы Freevo freevo.conf, freevo_config.py и local_conf.py.
Для того чтобы самостоятельно не устанавливать и не настраивать Freevo, можно использовать специализированные дистрибутивы, например, Freevo LiveCD (http://www.pegasos.org/downloads/torrents/freevo-live.torrent) или норвежский дистрибутив Wolvix Media Edition (http://wolvix.org/).
DJ-пульты
Кроме аудиопроигрывателей и медиацентров, есть еще целый класс программ, предназначенных для воспроизведения музыки, – виртуальные DJ-пульты.
Mixxx (http://mixxx.sourceforge.net/) – это первый проект такого рода, появившийся в 2001 году и активно развивающийся до сих пор. Это простой и понятный инструмент диджея, ориентированный как на любителей, так и на профессионалов. Примечательно, что кроме Linux Mixxx портирован под Mac OS Х (PPC и Intel) и Windows XP и Vista. Поддерживается работа с форматами WAV, MP3 и Ogg Vorbis. При наличии плейлистов в форматах M3U или PLS, созданных в других программах, их можно загрузить в Mixxx. Мелодии можно также просто перетаскивать кнопкой мыши в окно программы. На сайте проекта доступны как исходные тексты, так и скомпилированные пакеты. Для Linux предлагается два варианта, один – для всех дистрибутивов, второй – для Ubuntu 7.04. В репозитарии Mixxx есть, однако достаточно ввести sudo apt-get install mixxx – и можно начинать дискотеку. При первом запуске программа попросит указать каталог, в котором размещены музыкальные файлы. Этот каталог будет формировать плейлист в дальнейшем. Затем появится главное окно программы (рис. 3.19). Для воспроизведения звука Mixxx использует как OSS-, так и ALSA-драйверы.
Рис. 3.19. Инструмент диджея Mixxx
Все настройки Mixxx доступны через команду Options → Preferences (Параметры → Установки), здесь же на вкладке Playlist (Плейлист) можно изменить каталог с мелодиями. Пользователю доступны два окна, в каждое из которых можно загрузить свой музыкальный файл. При воспроизведении возможно задавать громкость источников звука и главного канала и изменять темп воспроизведения. Темп можно изменить двумя способами: при помощи кнопок или ползунка Temp (Темп) (постоянно) или щелкнув на красной линии в окне проигрываемой композиции (временно, перемещая мышь вперед и назад). Управлять Mixxx можно при помощи кнопки мыши и, что удобнее, используя внешнюю midi-клавиатуру. Все настройки записываются в конфигурационный файл ~ /.mixxx.cfg, образующийся в домашнем каталоге после первого запуска программы. В этом же каталоге можно просмотреть остальные настройки. Так, описание всех горячих клавиш приведено в файле /usr/share/mixxx/keyboard/Standard.kbd.cfg.
TerminatorX (http://terminatorx.org/) является звуковым синтезатором, работающим в режиме реального времени и умеющим создавать характерный для виниловой пластинки скрип при воспроизведении цифровых музыкальных файлов. Он распознает все популярные форматы – MP3, WAV, Ogg Vorbis, AU и другие. Поддерживает несколько проигрывателей (Turntable) с индивидуальной установкой параметров каждого и возможностью сохранения их в дальнейшем. Есть возможность создания эффектов в режиме реального времени, как встроенных, так и через LADSPA (Linux Audio Developer's Simple Plugin API, http://www.ladspa.org/), которые вызываются при нажатии кнопки FX.
Примечание
В случае если программа не может найти все LADSPA-плагины, которые могут быть разбросанны по нескольким каталогам, пропишите пути к ним в переменной LADSPA_PATH= /usr/lib/ladspa:/home/login/plugins и запишите эти строки в файл /etc/profile.
Кроме Linux, TerminatorX работает и под BSD-системами. Диджею доступен удобный, не перегруженный излишней информацией интерфейс GTK+ (рис. 3.20) с информативными всплывающими подсказками.
Рис. 3.20. Главное окно TerminatorX
TerminatorX имеет удобный режим, который позволяет при определенном навыке без особого труда управляться со множеством виртуальных проигрывателей с помощью мыши (Mouse Grub) и горячих клавиш. При этом есть возможность предварительного выбора эффектов, которые далее будут активироваться при определенных движениях мыши (вправо-влево и вверх-вниз) или при помощи специального меню. Для каждого виртуального проигрывателя можно задать свои, отличные от других, регулируемые эффекты, а используя горячие клавиши – быстро переключаться между проигрывателями. Перед запуском на воспроизведение можно нажать кнопку Record (Запись), тогда результат будет записан в файл.