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

Posted by

В ходе поиска необходимой информации в интернете все чаще и чаще стало встречаться упоминание -сервер — это Digital Living Network Alliance. Решив что для моей локальной сети такой сервис не помешает, мною было принято решение развернуть, так называемый своеобразный набор для обмена медиаконтентом с совместимыми устройствами, а таких устройств только на август 2009 года поддерживается более 5 тысяч. Так что мои устройства уже точно входят в пополняемый список таких устройств. Суть DLNA позволить легко и безобидно получить доступ к мультимедийному содержимому сети с любого устройства (будь то телевизор, планшет. ноутбук и другие мультимедийные устройства) не задумываясь о технической стороне , работа сводится к словам понятным в любом окружении: музыка, видео, изображения.

Задача: в локальной сети поднять DLNA-сервер для обмена медиаконтетом для совместимых устройств:

  • Рабочая станция на базе Windows 7
  • Смартфон
  • Планшет
  • Телевизор

В качестве DLNA-сервера я буду использовать приложение именуемое

,как , установку буду производить из репозитариев по умолчанию присутствующих в системе:

ekzorchik@srv-mon:~$ sudo apt-get install mediatomb-common mediatomb-daemon mediatomb -y

Если хочется отображать фильмы в виде превью, то следует установить еще два пакета:

ekzorchik@srv-mon:~$ sudo apt-get install ffmpeg ffmpegthumbnailer -y

Сразу укажу сетевые интерфейсы (у меня он только один) на которых будет работать сервис, для этого в файле /etc/default/mediatomb найду и задам опцию:

ekzorchik@srv-mon:~$ sudo vi /etc/default/mediatomb

INTERFACE=»eth0″

ROUTE_ADD=»/sbin/route add -net 192.168.1.0 netmask 255.255.255.0″

# остальные route комментируем

Основные настройки медиасервера хранятся в /etc/mediatomb/config.xml. Настроек немного, сначала включим веб-интерфейс и зададим параметры доступа к нему:

ekzorchik@srv-mon:~$ sudo cp /etc/mediatomb/config.xml /etc/mediatomb/config.xml.backup

Основные настройки можно подчерпнуть здесь: https://help.ubuntu.com/community/MediaTomb

По умолчанию приложение работает с использованием базы sqlite3, я же буду использовать mysql :

ekzorchik@srv-mon:~$ sudo apt-get install mysql-server mysql-client -y

в процессе установки (я ставлю на отдельно стояющую машину) нужно будет указать пароль от учётной записи суперпользователя – 712mbddr@:

New password for the MySQL «root» user: 712mbddr@

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

ekzorchik@srv-mon:~$ mysql -u root -p712mbddr@

mysql> create database mtomb;

mysql> grant all on mtomb.* to ‘umtomb’@’localhost’ identified by ‘712mbddr@’;

mysql> quit;

Далее переходим к редактированию настроек медиасервера:

ekzorchik@srv-mon:~$ sudo nano /etc/mediatomb/config.xml

было:

<server>

<ui enabled=»no» show-tooltips=»yes»>

<accounts enabled=»no» session-timeout=»30″>

<account user=»mediatomb» password=»mediatomb»/>

Стало:

server>

<ui enabled=»yes» show-tooltips=»yes»>

<accounts enabled=»yes» session-timeout=»30″>

<account user=»mediatomb» password=»mediatomb»/>

</accounts>

Укажем имя сервера и корневой каталог для медиаконтента:

ekzorchik@srv-mon:~$ sudo mkdir /media/mediatomb

ekzorchik@srv-mon:~$ sudo chown -R mediatomb:mediatomb /media/mediatomb/

<name>MediaTomb Local network</name>

<udn>uuid:62db1591-15d2-4aa8-8821-cb12dced699c</udn>

<home>/media/mediatomb</home>

Включим превью при отображении фильмов:

Было:

<ffmpegthumbnailer enabled=»no»>

Стало:

<ffmpegthumbnailer enabled=»yes»>

Отключаем использование sqlite3:

<sqlite3 enabled=»no»>

<database-file>mediatomb.db</database-file>

</sqlite3>

И активируем использование MySQL:

<mysqlenabledyes«>

<host>localhost</host>

<username>umtomb</username>

<password>712mbddr@</password>

<database>mtomb</database>

</mysql>

Сохраняем внесенные изменения.

Ниже идут опции отвечающие за размер и место фильма, откуда будет взята картинка, при желании можете поэкспериментировать с ними. Остальные настройки оставляем по умолчанию. Перезапускаем сервис:

ekzorchik@srv-mon:~$ sudo service mediatomb stop

stop: Job failed while stopping

ekzorchik@srv-mon:~$ sudo service mediatomb start

mediatomb start/running, process 4778

ekzorchik@srv-mon:~$ sudo service mediatomb restart

mediatomb stop/waiting

mediatomb start/running, process 4848

Посмотрим логи работы приложения:

ekzorchik@srv-mon:~$ sudo tail -f /var/log/mediatomb.log

2014-05-12 18:06:35 INFO: Configuration check succeeded.

2014-05-12 18:06:35 INFO: Initialized port: 49152

2014-05-12 18:06:35 INFO: Server bound to: 192.168.1.40

Теперь в сетевом окружении мы можем увидеть значок медиасервера и на сервере будут открыты порты для сетевого обнаружения:

ekzorchik@srv-mon:~$ sudo netstat -tulpn | egrep ‘:49152’

tcp 0 0 0.0.0.0:49152 0.0.0.0:* LISTEN 14217/mediatomb

Но подключаться к нему еще рано, необходимо создать библиотеки мультимедиа. Для этого зайдем в веб-интерфейс http://IP&DNS:49152

и у меня браузер не отображает вообще ничего (у Вас тоже может быть так)

Не открывается Web-панель администрирования DLNA-сервера

см. логи по сервису, вдруг что нибудь да интересное всплывет, лог показал — отсутствие файла mediatomb.html ответственного за главную часть:

ekzorchik@srv-mon:~$ sudo cat /var/log/mediatomb.log | egrep -is error

2014-05-12 18:21:05 ERROR: writeBookmark: failed to open: /media/mediatomb/mediatomb.html

по умолчанию данный файл располагается здесь:

ekzorchik@srv-mon:~$ ls -l /var/lib/mediatomb/

total 24

-rw-r—r— 1 mediatomb mediatomb 18432 May 12 17:50 mediatomb.db

-rw-r—r— 1 mediatomb mediatomb 140 May 12 17:50 mediatomb.html

Скопирую эти два файла в новое месторасположение с сохранение прав:

ekzorchik@srv-mon:~$ sudo cp -p /var/lib/mediatomb/* /media/mediatomb/

Перезапускаю службу:

ekzorchik@srv-mon:~$ sudo service mediatomb restart

mediatomb stop/waiting

mediatomb start/running, process 20200

Далее обновляю URL в браузере и уже наблюдаю:

Web-интерфейс администрирования DLNA-сервисов успешно работает, осталось лишь авторизоваться

Аутентифицируюсь:

Username: mediatomb

Password: mediatomb

Далее указываем папку с мультимедийным контентом:

Filesystem → двигаемся по файловой системе пока не найдем /media/mediatomb и через кнопку «плюс» справа со стрелками задаем режим регулярного сканирования папки

Задаю настройки каталога

Выбрав папку с мультимедийным контентом можем добавить ее в библиотеку нажав на кнопку «плюс» справа или задать режим регулярного сканирования папки нажав на соседнюю кнопку где плюс изображен во кружении стрелочек.

Добавляю каталог в библиотеку

По окончании настроек нажимаем кнопку Set для применения настроек.

Теперь нужно в каталог /media/mediatomb поместить мультимедийный контент:

Но сперва по заметке

устанавливаю утилиту youtubedl чтобы можно было с интернета, с сайта Youtube загрузить видео которое в последствии через мой Медиацентр будет доступно в локальной сети:

ekzorchik@srv-mon:~$ sudo apt-get install youtube-dl -y

ekzorchik@srv-mon:~$ sudo youtube-dl -U

Updating to latest version…

Updated youtube-dl. Restart youtube-dl to use the new version.

Наполнять наш медиасервер можно следующим образом:

Либо через скачивание, перемещение и выставление прав на обозначенный каталог:

Скачиваю видео:

ekzorchik@srv-mon:~$ youtube-dl -t http://www.youtube.com/watch?v=Js6y7FEfiug

[youtube] Setting language

[youtube] Js6y7FEfiug: Downloading webpage

[youtube] Js6y7FEfiug: Downloading video info webpage

[youtube] Js6y7FEfiug: Extracting video information

[download] Destination: ‘Терминатор’ в рубрике ‘Рассекреченные материалы’-Js6y7FEfiug.mp4

[download] 100% of 13.44MiB in 00:02

Перемещаем видео в /media/mediatomb:

ekzorchik@srv-mon:~$ sudo cp *.mp4 /media/mediatomb/

ekzorchik@srv-mon:~$ sudo chown -R mediatomb:mediatomb /media/mediatomb/

Либо через командную строку с указанием нового месторасположения мультимедийных файлов:

ekzorchik@srv-mon:~$ sudo mediatomb -a <путь>

2014-05-12 19:53:25 INFO: database created successfully.

2014-05-12 19:53:25 INFO: Initialized port: 49153

2014-05-12 19:53:25 INFO: Server bound to: 192.168.1.40

2014-05-12 19:53:26 INFO: MediaTomb Web UI can be reached by following this link:

2014-05-12 19:53:26 INFO: http://192.168.1.40:49153/

2014-05-12 19:53:26 INFO: Adding /home/ekzorchik/mp3/

На этом установка серверной части завершена. Далее я покажу, как теперь подключаться клиентской частью с поднятому DLNA серверу:

В .4 Desktop amd64 устанавливаем vlc:

Локальная сеть — Протокол UpnP — Разворачиваем MediaTomb Local network — Video — All video

и видим наш скачанный видео файл с Youtube’а:

Проигрываем видео файл с DLNA-сервера через vlc

щелкнув по нему начнется воспроизведение:

Щелкнув по видео файлу начнется его воспроизведение

Работает!!!

Ниже рассмотрю примеры настроек для основный медиа устройств используемых в моей локальной сети:

Для Android устройства с Play Market скачиваем приложение: MediaHouse:

в «Play from» обнаруживаем наш медиа сервер:

«MediaTomb Local network» (MediaTomb 0.12.1) — нажимаем на него, далее «Browse» — «Video» — «All Video» — и также обнаруживаем наше скачанное и помещенное видео в каталог доступный для предоставления мультимедийного контента. Два раза щелкаем по нему, будет выведен запрос: «Что использовать?» — я у себя выбираю приложение «MX Player» — а после нажимаем кнопку «Только сейчас» и видео начинает проигрываться.

Для работы с медиасервером можно использовать любой поддерживающий DNLA клиент. Например Windows Media Center, работа с ним очень проста и не вызовет затруднений даже у неподготовленного пользователя. Добавляем библиотеку:

Просматриваем содержимое:

Однако посмотреть фильм или послушать музыку у нас не получится, Media Center не знаком с flac и не умеет показывать mkv, с аналогичными ограничениями вы можете сталкиваться и в других клиентах. Вариантов решения проблемы может быть несколько: выбор поддерживаемых форматов для медиафайлов, перекодировка мультимедийного содержимого сервером или использование клиентов поддерживающих более широкий спектр форматов.

На Windows 7 в той же подсети (192.168.1.18) запустил

Пуск – Все программы – Проигрыватель WindowsMedia и обнаружил что найдена библиотека MediaTomb которую я развернул выше. Если сервис на Ubuntu 12.04 работает, то в браузере будет видна библиотека:

Через Windows Player доступен DLNA-сервер

Проигрывание видео из библиотеки MediaTomb идет:

Видео проигрывается

Как видите все просто и сразу работает, данная программа MediaTomb универсальная, совместив устаревшее железо (к примеру старый ноутбук который жалко выбрасывать) и данную программу можно обеспечить себя и свою сеть достойным внимания сервисом. Считаю что такие плюсы, как сервис, текстовый файл (он же конфиг) обеспечивают стабильность и неприхотливость. На этом заметка завершена, а если у меня будут какие либо замечания по работе, то это будет дополнительная заметка которая найдет себя опубликованной на моем блоге, а пока все, с уважением автор блога ekzorchik.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

семнадцать − девять =