В ходе поиска необходимой информации в интернете все чаще и чаще стало встречаться упоминание DLNA-сервер – это Digital Living Network Alliance. Решив что для моей локальной сети такой сервис не помешает, мною было принято решение развернуть, так называемый своеобразный набор для обмена медиаконтентом с совместимыми устройствами, а таких устройств только на август 2009 года поддерживается более 5 тысяч. Так что мои устройства уже точно входят в пополняемый список таких устройств. Суть DLNA позволить легко и безобидно получить доступ к мультимедийному содержимому сети с любого устройства (будь то телевизор, планшет. ноутбук и другие мультимедийные устройства) не задумываясь о технической стороне , работа сводится к словам понятным в любом окружении: музыка, видео, изображения.
Задача: в локальной сети поднять DLNA-сервер для обмена медиаконтетом для совместимых устройств:
-
Рабочая станция на базе Windows 7
-
Смартфон
-
Планшет
-
Телевизор
В качестве DLNA-сервера я буду использовать приложение именуемое
,как MediaTomb, установку буду производить из репозитариев по умолчанию присутствующих в системе:
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:
<mysqlenabled="yes">
<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
и у меня браузер не отображает вообще ничего (у Вас тоже может быть так)
см. логи по сервису, вдруг что нибудь да интересное всплывет, лог показал — отсутствие файла 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 в браузере и уже наблюдаю:
Аутентифицируюсь:
Username: mediatomb
Password: mediatomb
Далее указываем папку с мультимедийным контентом:
Filesystem → двигаемся по файловой системе пока не найдем /media/mediatomb и через кнопку «плюс» справа со стрелками задаем режим регулярного сканирования папки
Выбрав папку с мультимедийным контентом можем добавить ее в библиотеку нажав на кнопку “плюс” справа или задать режим регулярного сканирования папки нажав на соседнюю кнопку где плюс изображен во кружении стрелочек.
По окончании настроек нажимаем кнопку Set для применения настроек.
Теперь нужно в каталог /media/mediatomb поместить мультимедийный контент:
Но сперва по заметке
устанавливаю утилиту youtube–dl чтобы можно было с интернета, с сайта 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 серверу:
В Ubuntu 12.04.4 Desktop amd64 устанавливаем vlc:
Локальная сеть — Протокол UpnP — Разворачиваем MediaTomb Local network — Video — All video
и видим наш скачанный видео файл с Youtube’а:
щелкнув по нему начнется воспроизведение:
Работает!!!
Ниже рассмотрю примеры настроек для основный медиа устройств используемых в моей локальной сети:
Для 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 работает, то в браузере будет видна библиотека:
Проигрывание видео из библиотеки MediaTomb идет:
Как видите все просто и сразу работает, данная программа MediaTomb универсальная, совместив устаревшее железо (к примеру старый ноутбук который жалко выбрасывать) и данную программу можно обеспечить себя и свою сеть достойным внимания сервисом. Считаю что такие плюсы, как сервис, текстовый файл (он же конфиг) обеспечивают стабильность и неприхотливость. На этом заметка завершена, а если у меня будут какие либо замечания по работе, то это будет дополнительная заметка которая найдет себя опубликованной на моем блоге, а пока все, с уважением автор блога ekzorchik.