Моя задача сводится к простому, я хочу иметь сервис в своей локальной сети (домашний DLNA сервис) посредством которого я смогу с любого устройства (смартфон, планшет, ноутбук, телевизор) просматривать/прослушивать мультимедийный контент (mp3-песни, фильмы, сериалы, фотографии). Чтобы не каждый раз скачивать их с моего хранилища HP MicroServer Gen8, а смотреть прямо с него. И вот выходом из этой ситуации является развертывание DLNA сервиса (по протоколу UPnP/DLNA) в локальной сети. Ранее я разбирал, как поднять такой сервис как PLEX, но вот на нем завести сервис DLNA мне пока не удалось, да и монстрообразный он, лучше бы что-нибудь более простое и не требовательное к ресурсам. Выход к решению поставленной задачи был найден — это утилита именуемая, как minidlna из стандартных репозитариев Ubuntu Trusty Server.
Ниже я проведу Вас по всем шагам, как я решил свою задачу, т. е. Как настроить DLNA в ЛВС:
ekzorchik@srv-trusty:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@srv-trusty:~$ sudo apt-get update && sudo apt-get upgrade -y
ekzorchik@srv-trusty:~$ uname -a && lsb_release -a
Linux srv-trusty 4.4.0-91-generic #114~14.04.1-Ubuntu SMP Wed Aug 9 08:47:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
ekzorchik@srv-trusty:~$ apt-cache search minidlna
minidlna - lightweight DLNA/UPnP-AV server targeted at embedded systems
ekzorchik@srv-trusty:~$ apt-cache show minidlna | grep Version
Version: 1.1.2+dfsg-1~ubuntu14.04.1
Устанавливаю утилиту minidlna в систему:
ekzorchik@srv-trusty:~$ sudo apt-get install minidlna -y
ekzorchik@srv-trusty:~$ sudo cp /etc/minidlna.conf /etc/minidlna.conf.backup
Создаю каталоги мультимедийного контента:
ekzorchik@srv-trusty:~$ sudo mkdir -p /media/minidlna/Movies
ekzorchik@srv-trusty:~$ sudo mkdir -p /media/minidlna/Audio
ekzorchik@srv-trusty:~$ sudo mkdir -p /media/minidlna/Images
ekzorchik@srv-trusty:~$ sudo chown -R minidlna:minidlna /media/minidlna/
ekzorchik@srv-trusty:~$ sudo nano /etc/minidlna.conf
#media_dir=/var/lib/minidlna
#media_dir=/media/minidlna
# в последствии изменил на
media_dir=V,/media/minidlna/Movies
media_dir=A,/media/minidlna/Audio
media_dir=P,/media/minidlna/Images
root_container=B
network_interface=eth0
port=8200
friendly_name=srv-trusty: ekzorchik
model_name=Windows Media Connect compatible (MiniDLNA)
inotify=yes
ekzorchik@srv-trusty:~$ sudo /etc/init.d/minidlna restart
* Restarting DLNA/UPnP-AV media server minidlna [ OK ]
ekzorchik@srv-trusty:~$ sudo /etc/init.d/minidlna status
* minidlna is running
ekzorchik@srv-trusty:~$ sudo netstat -tulpn | grep minidlna
tcp 0 0 0.0.0.0:8200 0.0.0.0:* LISTEN 4148/minidlnad
udp 0 0 0.0.0.0:1900 0.0.0.0:* 4148/minidlnad
udp 0 0 10.7.9.130:41149 0.0.0.0:* 4148/minidlnad
На заметку: следует проверить как у Вас называется сетевой интерфейс, просто у меня на Gen8 с установленной Ubuntu Trusty Server интерфейс именуется, как em1 & em0
, а я этого не учел по забывчивости и долго гадал почему через клиент VLC с Ubuntu Trusty Desktop я не вижу сервис minidlna. Посмотрев логи это меня и натолкнуло проверить что при выводе команды ifconfig:
[2017/09/28 14:21:08] getifaddr.c:108: error: Network interface eth0 not found
После нужно посмотреть логи:
ekzorchik@srv-trusty:~$ cat /var/log/minidlna.log | grep WARNING
[2017/09/27 14:48:40] inotify.c:198: warn: WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [4] and I do not have permission to increase this limit. Please do so manually by writing a higher value into /proc/sys/fs/inotify/max_user_watches.
ekzorchik@srv-trusty:~$ sudo nano /etc/sysctl.conf
#MiniDLNA log fix
fs.inotify.max_user_watches = 100000
ekzorchik@srv-trusty:~$ sudo sysctl -p
fs.inotify.max_user_watches = 100000
ekzorchik@srv-trusty:~$ sudo /etc/init.d/minidlna force-reload
после посмотрев логи ошибок на этот счет не обнаружил.
Если перейти через браузер по URL адресу: http://IP&DNS:8200, то можно увидеть кто обнаружил данные DLNA сервис, какие устройства и количество загруженного мультимедийного контента:
Наполняю содержимым:
aollo@work:~$ scp Downloads/Bones_S2_\[tfile.ru\]/* ekzorchik@10.7.9.130:/home/ekzorchik/
ekzorchik@srv-trusty:~$ sudo mkdir -p /media/minidlna/Movies/Bones/Sezon2
ekzorchik@srv-trusty:~$ sudo mv *.avi /media/minidlna/Movies/Bones/Sezon2/
ekzorchik@srv-trusty:~$ sudo chown -R minidlna:minidlna /media/minidlna/
На заметку: Но чтобы в каталог /media/minidlna/
у меня был доступ можно текущую учетную запись добавить в группу minidlna после чего подняв еще на текущей системе пакет SAMBA настроить что с любой системы я смогу наполнять данный каталог мультимедийным контентом.
ekzorchik@srv-trusty:~$ sudo usermod -aG ekzorchik minidlna
На заметку: В своей работе сервис minidlna использует файловую базу данных sqlite, находится она:
ekzorchik@srv-trusty:~$ ls /var/cache/minidlna/files.db -lh
-rw-r--r-- 1 minidlna minidlna 76K Sep 27 16:06 /var/cache/minidlna/files.db
в нее входят все настройки, информация по мультимедийному контенту.
Проверяю, а увидит ли Windows 7 через штатный проигрыватель файл на DLNA сервисе, увидела но только без папок а общем списком
На рабочей станции под управлением Ubuntu Trusty Desktop amd64 (Gnome Classic) установив проигрыватель VLC он отобразил все как нужно:
Пуск — Все программы — VideoLAN — Вид — Плейлист и с левой стороны переходим: (Локальная сеть) Протокол UpnP вижу srv-trusty: minidlna
Раскрываю: Movies — Bonis — Sezon2
щелкнув по видео оно начинает воспроизводиться, чтобы вернуть обратно нужно щелкнуть «Вид» – «Плейлист», но в то же время видео если оно не остановлено будет проигрываться:
Поставил на свою систему Ubuntu Trusty Desktop amd64 (Gnome Classic) проигрыватель VLC и он также увидел мой DLNA сервис. Щелкнув по видео файлу поехало из воспроизведение, в точности как и на Windows системе. Вот что значит правильный проигрыватель где разработчики делают не отвали, а с полной отдачей нормальный продукт.
На заметку: При использовании сервиса DLNA столкнулся со следующими наблюдениями, если конечное устройство подключено через ethernet кабель к роутеру то видео/аудио идет сразу же и без рывков, а если я с планшета (по Wi-Fi) подключаюсь и запускаю видео оно воспроизводится, но стоит промотать и видео начинает рваться/пикселизироваться, а с аудио такого замечания у меня нет. Вообще нужно еще понаблюдать.
На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.