Домашний сервер: медиацентр

originally posted at http://habrahabr.ru/blogs/linux/37864/ by penpen 23.08.2008

Т.к. на домашнем сервере хранится файловый архив (видео, музыка, фотографии), захотелось реализовать медиацентр для просмотра содержимого с помощью телевизора/монитора прямо с сервера.

Программные решения для медиацентра на базе Linux

Elisa

Elisa

медиацентр написанный на языке Python, что позволяет легко расширять его плагинами. Есть плагины для просмотра видео с YouTube, фотографий с flickr, Picasa, прослушивания потокового радио SHOUTcast. Довольно приятный дизайн, чем-то похожий на Apple FrontRow. Т.к. базируется на GStreamer, то есть поддержка большинства популярных медиа форматов, но у меня например почему-то не захотел читать VOB файлы от DVD, хотя превью показал. Управление возможно как с клавиатуры, так и с мышки (очень удобно в случае с беспроводной мышью), так же есть интеграция с LIRC для управления пультом, можно настроить и использовать тачскрин. Настройка происходит в основном в конфигурационном файле, через меню можно лишь менять темы. Для первоначальной настройки достаточно лишь добавить адреса каталогов в которых хранятся медиа файлы в секции [xmlmenu:locations_builder], переменная locations, должна принимать вид python массива с путями: ['file:///stuff', 'file:///home/ftp/incoming'], конфигурационный файл создается в ~/.elisa/elisa.conf после первого запуска. Данный медиацентр имеет огромное количество настроек, но все они находятся в конфигурационном файле. Есть например, такая интересная возможность как синхронизация с F-Spot.

XBMC

XBMC

Очень интересный медиацентр, изначально написанный под xbox, но позже портированный на Linux, Mac OS X, Windows. Имеет множество красивых тем, и большое множество готовых скриптов. Скрипты представляют собой Python код и WindowXML (фреймворк для создания графического интерфейса на основе XML). Среди скриптов есть как простые плагины для сервисов, так и довольно сложние приложения, например почтовый клиент, разнообразные игры. Есть поддержка DVD, в том числе вроде как с меню. Управление клавиатурой, мышкой (т.к. курсор используется свой и довольно большой, пользоваться мышкой довольно удобно), также можно использовать LIRC. Все настройки находятся в меню, и их довольно много, кроме настроек через стандартное меню есть веб интерфейс, но использовать его мне не удалось. Есть поддержка субтитров, красивая визуализиция текущей песни, есть синхронизация с Last.fm. В целом данный медиацентр оставил очень приятные впечатления завершенного продукта, но иногда есть проблемы со стабильностью. Внимание: в текущей сборки под ubuntu проблемы с разрешением экрана, нужно использовать SVN сборку.

MythTV

MythTV

Наверное, самый известный медиацентр для linux. Довольно тяжеловесное решние, т.к. в ubuntu тянет очень много зависимостей. Умеет работать с tv-тюнером, вести записи передач. Необходима база данных MySQL. Управление с клавиатур и через LIRC, управления мышью нет. Довольно сложен в настройке, но имеет поддержку DVB карт (спутниковое телевидение, кабельное, и т.д.). Поддерживает распределение на множество серверов, кодирование видео. На самом деле довольно избыточное решение, как мне кажется, т.к. запись/кодирование видео легко настраивается по крону. Имеет большое количество плагинов.

Установка и настройка

Первоначально нам понадобится X.org сервер, т.к. изначально в ubuntu-server его нет:

apt-get install xorg

Далее устанавливаем понравившийся медиацентр:

apt-get install elisa(xbmc/mythtv)

внимание: для XBMC необходимо использовать сторонний репозиторий, желательно с SVN сборками, т.к. в обычной сборке есть проблема с разрешением экрана

Создаем в домашней директории пользователя, от которого будет запускатся медиацентр файл .xinitrc и пишем в него: exec elisa (или xbmc/mythtv)

Теперь нужно настроить автоматический запуск иксов из под пользователя, без запроса пароля, для этого добавляем в /etc/rc.local строку до exit 0:

su - имя_пользователя -c startx

Если появится ошибка X: user not authorized to run the X server, aborting. при загрузке, то необходимо изменить настройки X11:

dpkg-reconfigure x11-common

И разрешить запускать X11 сервер кому-угодно.

Внимание: т.к. это потенциальная дыра в безопасноти, то нужно запретить удаленные подключения к X11 серверу

Вот собственно и все, теперь медиацентр запускается автоматически после перезагрузки.