Dlna media servers linux

Linux Mint 17 и DLNA

Зачем это все надо

Linux Mint — отличная домашняя ОС. Богатый выбор графических сред на любой вкус, простая и понятная даже новичку установка, сразу после установки имеем основной набор необходимого софта, удобный менеджер приложений, основные мультимедийные кодеки. В общем, отличная система для перехода и ознакомления с Linux.

Но возникает проблема для тех, у кого нет дома NAS или чего-то подобного, а смотреть контент с ПК на других устройствах, поддерживающих DLNA хочется. Под Linux существует множество различных DLNA-серверов, но оптимальным, все же, является MiniDLNA. И тому есть несколько причин. Во-первых, это типичный Unix-way: этот сервер является именно DLNA-сервером, а не комбайном с кучей свистелок, при этом контент без проблем воспринимается на любом устройстве. Даже телевизоры Samsung со своим AllShare прекрасно подключаются к нему. Также можно отметить и замечательную скорость работы и нетребовательность к ресурсам этого сервера.

И все бы было хорошо, но вот в с помощью команды

установить его не получится — нет его в репозитарии.

Существуют разные варианты устранения этого недоразумения, но самый правильный путь — установка из исходников.
Чтобы не отвратить возможных новоиспеченных линуксоидов с этого пути и, возможно, помочь кому-то, напишу как обойти подводные камни, ибо информации много, но в начале пути людям нужно попроще.

Подготовка

Если будете выполнять команды в консоли, запущенной с правами root, команду sudo писать не нужно.

Для начала нужно установить необходимые библиотеки:

И устанавливаем сами библиотеки:

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

Теперь перейдем в распакованную папку с исходниками

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

Для отключения запроса способа отображения файлов нужно в папке с исходниками (minidlna-1.1.3, мы в нее уже должны были перейти) подправить файл upnpsoap.c, но сначала сделаем его резервную копию:

и откроем в редакторе поиском (F6), ищем процедуру:

В начале процедуры выполняется разбор SOAP/XML-запроса, затем его обработка и возврат результата. Разбор запроса завершается формированием отладочного сообщения:

Далее реализован выбор корневого контейнера в зависимости от конфигурационного параметра root_container:

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

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

Чтобы упростить процедуру последующего обновления, сохраним патч с внесенными изменениями:

Теперь вместо редактирования файла, достаточно применить патч:

Теперь можно переходить к конфигурированию.

Если вам это не нужно, переходите сразу к конфигурированию:

Установка

1) Для тех, кто в дальнейшем захочет обновить версию, предыдущую можно удалить (конфигурационные файлы при этом сохраняются), если этого не сделать, то в случае, если в новой версии состав установочных файлов изменится, в /usr/local могут остаться старые файлы, при первой установке — переходим сразу к пункту 2.

Для удаления заходим в папку с предыдущей установкой и выполняем команду: 2) Запускаем установку (в комментариях предложили более правильный путь, чем make install):

Ключ -D указывает, что должен быть создан Debian-пакет

3)Если мы производим первоначальную установку, нужно создать init-скрипт: , если мы обновляем версию, больше ничего делать не нужно, при первоначальной установке у нас откроется пустой файл, в который нужно внести следующий код:

, сохранить комбинацией клавиш Ctrl+O и выйти из редактора — Ctrl+X.

Читайте также:  Как удалить windows media center с компьютера если она не удаляется

4) После этого даем права на запуск скрипта:5) И активируем запуск init-скрипта: 6) Так как по умолчанию служба запускается под пользователем minidlna, нам нужно создать соответствующую учетную запись:

7) Правим файл конфигурации сервера: В нем нам нужно следующее содержимое (здесь подправлен интервал, с которым сервер себя анонсирует, так как не все телевизоры опрашивают сервер, также вам надо прописать путь к папке с медиа, к примеру так: «media_dir=V,/mnt/sdb6/Video/Alex/» в соответствующем разделе файла):

Обычно после этого не требуется дополнительных настроек, но если есть проблемы с доступом к медиа (или хотите перестраховаться), можно настроить права доступа:

Поскольку служба работает под пользователем с ограниченными правами, публикуемые папки и файлы должны быть доступны на чтение для всех пользователей, следовательно, иметь разрешения 644: «rw- r— r—», для файлов и 755: «rwx r-x r-x», для папок.

Проверяем доступность для каждой папки, заданной в minidlna.conf, командой:Если папка недоступна, задаем права доступа:Вышестоящие папки также должны быть доступны на чтение всем пользователям. Проверяем доступность на чтение каждой папки, указанной в пути. Для вышестоящих папок используем chmod без ключа -R, если не требуется сброс разрешений для всех дочерних файлов и папок.
В качестве альтернативы смене разрешений, можно запустить MiniDLNA от имени пользователя или группы-владельца файлов. Для этого необходимо задать параметры USER и GROUP в /etc/default/minidlna, и сменить владельца папки /var/lib/minidlna командой:

Запуск сервера

Проверяем, работает ли служба, также смотрим параметры запуска:

Проверяем, слушается ли порт:

В случае успешного старта, лог должен быть примерно следующим:

Если видим: «WARNING: Inotify max_user_watches [8192] is low.», необходимо увеличить число дескрипторов слежения inotify до 100 000. Для этого в файл /etc/sysctl.conf добавим строки:

Или копипастом команды:

Изменение параметра вступит в силу после перезагрузки системы.
Открываем в браузере адрес.сервера:8200, видим количество файлов в библиотеке, начиная с версии 1.1.2, также отображается список подключенных клиентов.

Настройка DLNA/UPnP-AV сервера завершена.

При появлении ошибок в каталоге, необходимо выполнить повторное сканирование файлов.
При использовании приведенного выше init-скрипта, для запуска сканирования медиа-библиотеки используем команду:

Служба при этом будет перезапущена, подключенные клиенты будут отключены.

Для сканирования медиа-библиотеки при каждом старте системы можно задать ключ запуска: «-R» в параметре DAEMON_OPTS в файле /etc/default/minidlna. Сканирование большой медиа-библиотеки существенно нагружает диск, что может замедлить загрузку системы.

Полное формирование каталога может занять несколько минут. Сканирование папок выполняется в порядке их объявления в конфиге. Файлы из небольших папок, объявленных в конфиге выше, появятся в каталоге в самом начале процесса сканирования. Крупные папки с редко воспроизводимым контентом имеет смысл размещать в конфиге последними.

Все это опробовано на своей системе, пользуйтесь на здоровье. Надеюсь, количество пользователей Linux будет постоянно увеличиваться.

Источник

Как установить и настроить DLNA miniDLNA Server в Linux

В настоящее время делиться мультимедийным контентом с устройствами в нашем доме проще, чем когда-либо, мы можем делиться контентом с нашего NAS-сервера или напрямую с Linux-на основе сервера, установка программы miniDLNA, которая позволит нам легко обмениваться контентом. Сервер DLNA позволит нам передавать аудио, видео и фотографии на телевизоры, смартфоны, планшеты и любые устройства с экраном. Этот контент можно воспроизводить на любом устройстве, совместимом с UPnP / DLNA. Сегодня в этой статье мы покажем вам, как настроить наш сервер DLNA на любом сервере Linux.

Для чего нужен медиа-сервер DLNA?

В настоящее время подавляющее большинство маршрутизаторов с USB-портом имеют медиа-сервер DLNA, это означает, что, если мы подключим внешний жесткий диск или флешку, мы сможем воспроизводить мультимедийный контент на любом устройстве, подключенном к домашней локальной сети, без необходимость ничего не делать. Однако возможно, что наш маршрутизатор недостаточно мощный для выполнения этой задачи, тем более, что для чтения фильма или сериала, который мы собираемся воспроизвести, используется много процессора, и, в зависимости от битрейта мультимедийного контента, он может не хватить. По этой причине наиболее распространенным является использование внешнего сервера DLNA на любом сервере на базе Linux, таком как Debian на NAS, Raspberry Pi или любое устройство.

Читайте также:  Mac os сброс всех пользователей

Для всего этого нам будет служить DLNA-сервер на сервере с операционной системой Linux:

  • Это позволяет нашему телевизору обнаруживать сервер и воспроизводить контент (аудио, видео и фотографии), который находится на сервере.
  • Другие устройства, такие как смартфоны, планшеты и даже наша консоль, также могут обнаруживать его и воспроизводить содержимое сервера DLNA через Wi-Fi.
  • Мы можем подключить другие устройства, например, совместимые колонки.

По логике вещей необходимо, чтобы все устройства были совместимы с сервером DLNA, который мы собираемся установить.

Серверы DLNA, которые мы можем использовать

Одним из наиболее широко используемых серверов DLNA является популярный miniDLNA , который совместим со многими операционными системами и практически со всеми устройствами. В нашем случае это тот, который всегда давал нам лучший результат, хотя есть и другие, такие как Fuppes, которые также работают очень хорошо (интегрированы в XigmaNAS-ориентированную операционную систему NAS). Другими широко используемыми серверами DLNA являются, например, Plex Media Server, который не только включает Plex, но и встроенный сервер DLNA для тех телевизоров, которые несовместимы с вашим приложением.

Основными характеристиками miniDLNA является то, что это сервер DLNA, который потребляет очень мало ресурсов, как на CPU / ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР и Оперативная память На уровне, все будет работать очень быстро, а загрузка процессора будет как раз при чтении мультимедийного содержимого внешнего диска. Этот сервер DLNA может быть установлен на любом Linux, независимо от оборудования, хотя по логике нам нужно, чтобы он был чем-то мощным, чтобы не было никаких проблем, и мы должны учитывать его потребление электроэнергии, потому что он будет активирован 24 часа в сутки. . Другие характеристики заключаются в том, что он имеет действительно простую конфигурацию, но очень важная деталь заключается в том, что он не позволяет перекодировать аудио и / или видео, таким образом, мы должны убедиться, что наш телевизор поддерживает различные существующие видеоформаты.

В этой статье мы использовали miniDLNA более 5 лет, и за все это время у нас не было никаких проблем с воспроизведением мультимедийного контента, за исключением тех старых телевизоров, которые не поддерживают новые видеокодеки, такие как H.265, но если ваш телевизор новый (относительно), у вас не должно возникнуть проблем. +

Установка и ввод в эксплуатацию MiniDLNA

Программа miniDLNA настолько хорошо известна, что у нас есть она доступна в официальных репозиториях основных дистрибутивов GNU / Linux, поэтому она будет у нас через диспетчер пакетов. В этом руководстве мы использовали Debian 10, но вы можете использовать любую версию, например Ubuntu, Linux Mint или любой другой дистрибутив, потому что все они работают одинаково.

Первое, что нужно сделать, это установить miniDLNA со всеми ее зависимостями:

sudo apt install minidlna

После установки запускаем службу miniDLNA:

sudo service minidlna start

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

sudo service minidlna status

Настроить сервер miniDLNA

Этот сервер DLNA настраивается с помощью одного файла конфигурации, который нам придется редактировать, поэтому он значительно облегчает его настройку и запуск, потому что нам не нужно будет редактировать несколько, а только один. Для его редактирования мы будем использовать любой текстовый редактор, обычно используется vim или nano, в нашем случае мы будем использовать nano.

sudo nano /etc/minidlna.conf

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

Читайте также:  Сменить имя машины linux

Первое, что нам нужно узнать, это загрузить источники мультимедийного контента, в зависимости от того, есть ли у нас видео, аудио или фотографии, синтаксис будет следующим:

media_dir = P, / home / bron / multimedia / фотографии

media_dir = V, / главная / броня / мультимедиа / видео

Как видите, если мы хотим загрузить «A» — это звук, P — это фотографии, а V — видео, таким образом, на телевидении он будет выглядеть идеально классифицированным. Если мы хотим, чтобы появились видео и фотографии, мы также могли бы это сделать, что идеально подходит для камер, которые также записывают видео:

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

То же самое происходит с каталогом журналов или регистров, в случае какой-либо ошибки:

Остальные параметры конфигурации можно оставить таким образом:

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

sudo service minidlna restart

Как только мы все это сделаем, мы сможем получить доступ к нашему телевизору или смартфону и протестировать медиа-сервер DLNA.

Настроить брандмауэр сервера Linux

Во всех операционных системах Linux брандмауэр всегда работает, обычно на основе iptables, но по умолчанию у нас есть «разрешить все», поэтому вам не нужно создавать какие-либо дополнительные правила для доступа к медиа-серверу DLNA. Если вы настроили брандмауэр iptables в ограничительном режиме с «запретить все», вам придется ввести два правила для его правильной работы.

iptables -A INPUT -p tcp —dport 8200 -j ACCEPT

iptables -A INPUT -p udp –dport 1900 -j ПРИНЯТЬ

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

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

Теперь мы можем проверить, все ли правильно работает с тем клиентом DLNA, который нам нужен, например телевизор, смартфон или планшет.

Проверить статус сервера miniDLNA

Если мы получим доступ к нашему локальному IP-адресу через Интернет или с любого компьютера и поместим порт 8200, мы получим доступ к веб-интерфейсу статуса miniDLNA. Здесь мы увидим только медиа-библиотеку, количество аудио-, видео- и графических файлов. Мы также сможем увидеть клиентов, которые в настоящее время подключены к медиа-серверу DLNA, с их IP-адресом, MAC-адресом и количеством подключений.

В нашем случае мы положили:

Воспроизведение содержимого нашего сервера DLNA

Теперь, когда мы все установили правильно, все, что нам нужно сделать, это найти сервер DLNA в локальной сети. В зависимости от того, какой клиент (устройство) вы используете, вам придется использовать ряд программ:

  • ТВ: Во всех телевизорах распознавание медиа-серверов DLNA полностью автоматическое, оно будет отображаться в верхней или нижней части, где появляются съемные устройства хранения.
  • ПК с Windows, Linux или MacOS: мы можем использовать KODI или VLC, два лучших варианта для всех платформ.
  • Android: VLC или BubbleUPnP — два приложения, которые позволят нам искать сервер DLNA в среде и воспроизводить его.
  • iOS: VLC

Во всех этих программах мы должны перейти к «Cеть”И найдите такую ​​опцию, как UPnP или DLNA, и наш недавно настроенный сервер DLNA появится автоматически. Если он не отображается ни на одном устройстве, мы рекомендуем вам проверить брандмауэр iptables, а также, если он активирован.

Как вы видели, установка и настройка сервера DLNA на нашем NAS или сервере Linux очень проста, нам просто нужно установить его и настроить текстовый файл, что не вызовет особых трудностей.

Источник

Оцените статью