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

Надоело бегать с флешкой, чтобы посмотреть кино или фоточки на большом телеке? Тогда эта статья для Вас!

Практически все современные smart телевизоры, медиа приставки и даже телефоны поддерживают удобный способ трансляции и просмотра цифрового контента в локальной сети. Конкретно речь сейчас пойдёт о DLNA (Digital Living Network Alliance).

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

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

  1. сервер
  2. клиент или плеер

Клиент (DMP, digital media player)

С клиентом всё просто, это просто плеер который поддерживает нужный нам стандарт DLNA. В роли плеера выступает устройство подключенное к общей локальной сети. Подойдет практически любой современный телевизор, медиаплеер или смартфон. Если внимательно присмотритесь к меню своего ТВ то, скорей всего, найдете там пункт DLNA, DMP, AllShare или что-то подобное, разные производители по разному обзывают эту функцию. В самом клиенте настраивать обычно ничего не нужно, только выбрать доступный сервер, а далее уже можно смотреть видео, музыку или фото, которые хранятся и транслируются с нашего сервера DLNA.

dlna на TV

 

Клиент DLNA для Android

На смарт ТВ или телефоне c ОС Android можно использовать любой сторонний клиент. Стандартный бывает запрятан далеко в меню и не всегда легко его найти, да и функционал возможно будет скудный. Больше всего мне понравился вот этот BubbleUPnP. На самом деле это большой комбайн который умеет много всего, но просто как клиент для того же MiniDLNA он идеален. А вот тут можете посмотреть список самых удобных программ для просмотра мультимедиа контента на андроиде.

 

Сервер DLNA (digital media server)

А вот тут уже большой выбор и куча вариаций. Самый очевидный и простой вариант это установить такой сервер там где хранится наш контент. Если это отдельный NAS можно поставить сервер DLNA прям на него, а если это обычный компьютер или ноутбук то нужно ставить сервер туда. Далее уже зависит от операционной системы и ваших предпочтений. Под Windows есть огромный выбор подобных программ, просто выбираем которая нравится и устанавливаем. Настройки там обычно очень простые и проблем возникнуть не должно. Вот список самых популярных серверов DLNA под Windows:

  1. Plex
  2. KODI
  3. Home Media Server
  4. PS3 Media Server
  5. Serviio

Единственная проблема которая может возникнуть — это нужно будет не забыть правильно настроить фаерволл и антивирусник, чтобы они не блокировали работу этих программ.

Я же сейчас покажу как настроить сервер DLNA под Linux. Эта инструкция подойдёт для Manjaro Linux и Arch Linux. В качестве программы сервера будем использовать miniDLNA. Я попробовал несколько разных, но это самая простоя и удобная. Она не имеет графического интерфейса, но он и не нужен. Всё будет работать как сервис, нужно только один раз настроить и всё.

Установка miniDLNA на Manjaro Linux

Эта же самая инструкция подойдет на Arch Linux.

Скачиваем и устанавливаем программу:

sudo pacman -S minidlna

Все настройки хранятся в одном файлике:

/etc/minidlna.conf

Запускаем

sudo mcedit /etc/minidlna.conf
#Порт оставляем по дефолту
port=8200 
#На каком интерфейсе слушать
network_interface=eth1
#От какого пользователя будет работать процесс 
user=minidlna 

#Мне нужны только видео и фотки поэтому остальное закомментировано, укажите тут путь до вашей папки с контентом
media_dir=PV, /home/user/photo_video 

#media_dir=A,/home/user/dlna/Music 
#media_dir=P,/home/user/dlna/Pictures 
#media_dir=V,/home/user/dlna/Video
 
#Имя вашего dlna сервера 
friendly_name=MyDLNA 

#где хранить базу 
db_dir=/var/cache/minidlna 

#Systemd занимается логами 
#log_dir=/var/log/minidlna 
#Отслеживть ли изменение файлов 
inotify=yes 

#период поиска новых файлов в секундах
#если у Вас телек Samsung с их AllShare, то вот этот последний параметр лучше поставить в 30, что бы телек постоянно не терял сервер 
notify_interval=600

Можете взять этот готовый конфиг или подправить дефолтный. В большинстве случаев нужно будет поправить только путь до вашей папки с данными. Всё остальное можно оставить стандартно.

Если всё настроено правильно, но данные не показывает на клиенте?

Если нихрена не работает нужно внимательно смотреть права. От кого запускается сервер и есть ли у этого пользователя права в нужные директории?

Если папка с контентом у вас лежит в домашней папке то нужно ещё дать программе туда доступ. Для этого нужно создать файлик /etc/systemd/system/minidlna.service.d/override.conf вот с таким содержимым:

[Service]
ProtectHome=read-only

Остаётся поставить службу в автозапуск и запустить:

sudo systemctl enable minidlna.service
sudo systemctl start minidlna.service

Первый запуск может немного затянутся так как будет создаваться база со всеми вашими файлами. Если ошибок нет и всё правильно, то можно пробовать подключиться клиентом. Включаем телевизор и роемся там в smart TV и мы должны увидеть MyDLNA с пингвином.  Если возникли ошибки пишите в комментарии — вместе разберемся с вашей проблемой.

 

upd: ещё одна очень подробная и полезная ссылка в википедии со списком всех известных DLNA\UPnP серверов и клиентов под разные платформы:  https://en.wikipedia.org/wiki/List_of_UPnP_AV_media_servers_and_clients

Установка и настройка DLNA сервера: 4 комментария

  • 15.12.2019 в 14:37
    Permalink

    Если в minidlna вылазит ошибка:

    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.

    WARNING: Inotify max_user_watches [16384] is low or close to the number of used watches [4] and I do not have permission to increase this limit.

    Это значит сработало какое-то ограничение системы. Нужно просто увеличить это число. Сделать это можно так:

    # echo 65538 > /proc/sys/fs/inotify/max_user_watches

    sysctl fs.inotify.max_user_watches=66538

    Ответить
  • 21.05.2020 в 15:49
    Permalink

    minidlna реально классная штука, один раз настроил и работает!

    Ответить
  • 02.08.2020 в 21:28
    Permalink

    нет каталога minidlna.service.d
    /etc/systemd/system/minidlna.service.d/

    создал, каталог и override.conf с содержимым:

    [Service]
    ProtectHome=read-only
    но видосиков не видно

    Ответить
    • 11.08.2020 в 10:08
      Permalink

      После этого нужно перезапустить сервис, или комп ребутнуть.

      Ответить

Добавить комментарий

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