Mediatomb

Материал из ALT Linux Wiki

Введение

Mediatomb-(DLNA-сервер, протокол upnp) — система организации и хранения медийных форматов,медиатека, поддерживает просмотр видио, музыкы и рисунков. Клиентами Mediatomb сервера, выступают DLNA-клиенты, медиа плеера и проигрыватели встроенные практически во все операционные системы, в ОС Linux это клиент VLC, в ОС Windows проигрыватель Windows Media, поддерживаются также в качестве клиента и современные телевизоры имеющие соответствующие подключения. С помощью Mediatomb можно организовать удобный сервис для обучения и просмотра различного рода видио материалов на предприятиях, учебных и медицинских учреждениях с доставкой их непосредственно в медио проигрыватели рабочих станций пользователей, без привлечения дополнительных средств для установки, обучения и работе пользователей с медио проигрывателями. В домашних условиях Mediatomb интересен для организации домашнего медийного сервера с последующей раздачей медийного материала на домашние устройства: планшет, телефон, ПК, телевизор. Таким образом сервис DLNA-Mediatomb, может включён в портфель малого\домашнего офиса. Mediatomb обеспечивает работу двух режимах: без включения транскодера и с включеным транскодером "тяжёлый" режим.

Режим транскодера, преобразует видио формат в формат медиа проигрывателя пользователя на "лету".
Основной материал взят отсюда [1]]

Остановимся на особенностях установки, настройки и эксплуатации сервиса Mediatomb применительно к ALT Linux.

Подготовка:

5ynm2=== Оборудование;=== ALT Linux Xxxx Centaurus x64 (рекомендуется) с последними обновлениями.

ОЗУ >4Гб — 32Гб (зависит от количества пользователей)
HDD1 — выделенный массив RAID1(необязательно)

Программы:

Установить Apache2 [2]] [3]
Установить MySQL [4]]

Установка

root@media home]# apt-get install mediatomb 

Основные каталоги mediatomb:

/var/lib/mediatomb/data/config.xml
/etc/sysconfig/mediatomb

Создаём папку для хранения медийных файлов и устанавливаем права на неё:

root@media home]# mkdir media
root@media home]# chown -R _mediatomb:_mediatomb /home/media

Вносим изменения в конфигурацию, приведены блоки которые правились:

root@media home]# /var/lib/mediatomb/data/config.xml
.............................................................
    <ui enabled="yes" show-tooltips="yes">                        // для подключения по HTTP
      <accounts enabled="yes" session-timeout="30">
        <account user="mediatomb" password="mediatomb"/>          // HTTP Пользователь и пароль 
      </accounts>
    </ui>
    <name>Наше Media</name>                                       //Название медио беблиотеки отображаемое в клиентах 
    <udn>uuid:65999079-6aa9-429a-bcf6-419be2510e3d</udn>
    <home>/home/media/</home>                                     // Каталог хранения файлов
    <webroot>/usr/share/mediatomb/web</webroot>
    <storage>
      <sqlite3 enabled="no">                                      // БД установленная по умолчанию
        <database-file>mediatomb.db</database-file>
      </sqlite3>
      <mysql enabled="yes">                                       // БД сервера
        <host>localhost</host>
        <username>root</username>
        <password>tomb</password>
        <database>mediatomb</database>
      </mysql>
    </storage>
    ...............................................
  <import hidden-files="yes">                                      //Поддержка кодировки.
          <filesystem-charset>UTF-8</filesystem-charset>
              <metadata-charset>UTF-8</metadata-charset>
                  <playlist-charset>UTF-8</playlist-charset>
    <scripting script-charset="UTF-8">
Пояснения по БД: по умолчанию база данных создаётся при установке mediatomb, называется sqlite3, при желании можно перейти на MySQL, что мы и сделали в привёдёном примере.

Открываем файл сетевых настроек добавляем наш сетевой интерфейс:

root@media home]# vim /etc/sysconfig/mediatomb
## This is a configuration file for the MediaTomb daemon script
## By default the configuration will be created
in /var/lib/mediatomb/dat
## Network interface on which the server will run, you need to edit
this!
MT_INTERFACE="eth0"                                                        //добавить свой
## User defined command line options that may be passed to the server
MT_OPTIONS=""
## MediaTomb will be started on port 50500
MT_PORT="50500"                                                           //порт HTTP для удалённого доступа                     
## MediaTomb will run as mediatomb
MT_USER="_mediatomb"
MT_GROUP="_mediatomb"
## Location of the config file/database
MT_HOME="/var/lib/mediatomb"
MT_CFGDIR="data"

Запускаем Mediatomb server:

root@media home]# service mediatomb start
root@media home]# chkconfig mediatomb on

Управление

Управление медиатекой сводится к простым дествиям-наполнению кталога медийным контентом,добавлению каталога в список "видимых" для установленной БД и настройки индексации при появлении новых файлов в её хранилище. Всё это можно сделать локально, находясь в консоле сервера или удалённо. Надо отметить, что сама медиатека не требует постоянного вмешательства в её настройки, достаточно один раз поставить нужные значения и этим ограничится, для примера выполним вход на наш DLNA сервер по ssh (т.к к серверу идти лень) протоколу и выполним:

root@media home]# mediatomb  
MediaTomb UPnP Server version 0.12.1 - http://mediatomb.cc/
Copyright 2005-2010 Gena Batsyan, Sergey Bostandzhyan, Leonhard Wimmer.
MediaTomb is free software, covered by the GNU General Public License
version 2
2015-11-17 15:26:27 INFO: Loading configuration
from: /root/.mediatomb/config.xml
2015-11-17 15:26:27 INFO: Checking configuration...
2015-11-17 15:26:27 INFO: Setting filesystem import charset to UTF-8
2015-11-17 15:26:27 INFO: Setting metadata import charset to UTF-8
2015-11-17 15:26:27 INFO: Setting playlist charset to UTF-8
2015-11-17 15:26:27 WARNING: You enabled the YouTube feature, which
allows you
                             to watch YouTube videos on your UPnP
device!
                             Please check http://www.youtube.com/t/terms
                             By using this feature you may be violating
YouTube
                             service terms and conditions!

2015-11-17 15:26:27 INFO: Configuration check succeeded.
2015-11-17 15:26:27 INFO: Initialized port: 49152
2015-11-17 15:26:27 INFO: Server bound to: 192.168.122.1
2015-11-17 15:26:28 INFO: MediaTomb Web UI can be reached by
following this link:
2015-11-17 15:26:28 INFO: http://192.168.122.1:49152/ 

Простым и ясным английским языком нам предлагается набрать в браузере некий локальный http адрес, причём браузер тоже должен быть запущен локально.

root@media home]$ firefox 

По адресу http://192.168.122.1(localhost):49152/ открывается графическое меню управления медиатекой. Для удалённого доступа к меню необходимо в брузере ввести http://media:50500, зарегестрироватся

user mediatomb //теоретически логин\пароль можно менять см.выше
password mediatomb

Перед нами открывается страница менеджера управления медиа-контентом, разделённого на два фрейма:

левый имеет кнопки
[Database]
[Filesyste]
правый имеет кнопки
[X крестик]
[X крестик в круге]

Краткий порядок таков, тыкаем кнопку [Filesystem]-левй фрейм, находим /home/media, тыкаем кнопу [X]-правый фрейм,добавляем все файлы в каталог /home/media для индексирования, тыкаем кнопку, [X в круге]-правый фрейм, выбираем режим сканирования, здесь нам предлагается выбор способа сканирования папки медиатеки, мы выберим самый простой и надёжный сценарий индексации:

[Timed],[Full],[Recursive], время исправляемм на 600сек, нажимаем [Set].

Нажимаем [Database](левый фрейм) и проверяем результат сканирования папки /home/media, всё в порядке все файлы проиндексированы и видны. Следует отметить, что у каждого файла стоит кнопка [X крестик]-для удаления файла из медиотки и кнопка [перо\блокнот]- для редактирования файла в медиатеке. Предупреждение: не следует тиражировать несколько папок с файлами тедиотеки,возможны дублирования названий в клиентской части.

Клиенты Mediatomb DLNA-сервера

В качестве клиентов DLNA-сервера рассмотрим популярные проигрыватели VLC и Windows Media поддерживающих upnp протокол. Надо отметить, что в VLC проигрывателе, plugin-upnp по умолчанию не установлен, выполняем:

root@media home]# apt-get update
root@media home]# apt-get install vlc
root@media home]# apt-get install vlc-plugin-upnp

mig