MiniDLNA (Настройка ReadyMedia (MiniDLNA) в OpenSUSE)

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Morgoth
Сообщения: 138
ОС: openSUSE 11.4

MiniDLNA

Сообщение Morgoth »

Решил я приобщиться к современным технологиям и настроить просмотр фильмов, хранящихся на домашней машине, на телевизоре. Для этого решил поднять DLNA-сервер на домашней машине с OpenSUSE 13.1. Выбор пал на ReadyMedia (бывший MiniDLNA) - маленький быстрый сервер с минимумом настроек. Но как выяснилось под OpenSUSE есть некоторые неочевидные (для простого пользователя) особенности настройки. Попробую изложить мой процесс настройки по шагам (вдруг кому пригодится):

1. Установка
Пакет доступен в репозитории Packman, поэтому первым делом подключаем Packman Repository в YaST (пункт "Репозитории программного обеспечения"). Далее устанавливаем пакет minidlna вместе с зависимостями, которые он попросит. На данный момент у меня установилсь версия minidlna 1.1.4.

2. Настройка конфигурации
Здесь возник первый вопрос. В OpenSUSE файл настроек не по стандартному пути /etc/minidlna, а по специфическому /etc/sysconfig/minidlna. Для его редактирования нужны права root.
Открываем файл /etc/sysconfig/minidlna и редактируем следующие строки:

Код: Выделить всё

network_interface="eth0"

Здесь нужно указать название сетевого интерфейса, на котором будет работать наш сервер. Проблема в том, что с некоторых пор systemd даёт сетевым интерфейсам странные названия типа "enp3s0" (вместо привычного "eth0"), сделано это для того, чтобы при изменении конфигурации сетевых интерфейсов не изменялись их названия. Если название вашего сетевого интерфейса отличается от "eth0", его нужно обязательно вписать в эту строку. Узнать названия ваших сетевых интерфейсов можно коммандой ifconfig.
Если необходимо, чтобы сервер работал на нескольких сетевых интерфейсах нужно перечислить их через запятую.

Код: Выделить всё

media_dir="/mnt"

Папка в которой сервер ищет медиаконтент, по умолчанию это "/mnt". Если нужно чтобы сервер искал контент в нескольких папках то просто перечисляем их через символ "|".
Если хотим указать тип контента, который необходимо искать в папке, то предварительно пишем один из символов:
"A" - аудио (например "A,/home/user/Music")
"V" - видео (например "V,/home/user/Video")
"P" - картинки (например "P,/home/user/Pictures")
Можно комбинировать символы например так: "AV,/home/user/AudioVideo".
Моя строка выглядит так:

Код: Выделить всё

media_dir="V,/video/Зарубежные фильмы | V,/video/Отечественные фильмы | V,/video/Сериалы"


Код: Выделить всё

friendly_name="MiniDLNA"

Название сервера под которым он будет найден вашим телевизором, плеером и т.д.

Код: Выделить всё

notify_interval="900"

Я так понял, что это период времени, по истечении которого сервер прочесывает расшаренные папки, по умолчанию стоит 900 секунд. Можно поставить поменьше, чтобы добавляемые в расшаренные папки фильмы быстрее становились доступными. Я поставил себе 600.

3. Открытие портов
В OpenSUSE по умолчанию включен брендмауэр блокирующий рабуту сервера. Нам необходимо открыть два порта: 1900 для UDP и 8200 для TCP. Я сделал это через YaST (раздел "Брендмауэр").

4. Запуск minidlna
Запуск minidlna как службы выполняется слудующей командой от root:

Код: Выделить всё

systemctl start minidlna

Останов:

Код: Выделить всё

systemctl stop minidlna

Перезапуск:

Код: Выделить всё

systemctl restart minidlna

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

Код: Выделить всё

systemctl enable minidlna


Работа сервера проверялась на телевизоре Samsung (SmartTV) и Sony PS3. Все работает отлично :drinks: .
Спасибо сказали:
Ответить