MiniDLNA: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 12 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{stub}}
{{Note|Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}}
 
На данной странице описано, как создать DLNA-сервер. DLNA — набор стандартов, позволяющих совместимым устройствам передавать и принимать по домашней сети различный медиаконтент (изображения, музыку, видео), а также отображать его в режиме реального времени. Например, если у вас есть телевизор с поддержкой данного стандарта, вы можете настроить на Linux сервер и передавать на него медиаконтент.
 
Устанавливаем MiniDLNA
Устанавливаем MiniDLNA
  # apt-get update
  # apt-get update
  # apt-get install minidlna
  # apt-get install minidlna
Создаем пользователя minidlna
# groupadd minidlna
# useradd minidlna -g minidlna -m
Создаем каталог
# mkdir /mnt/Data/Films
# chmod -R 755 /mnt/Data/Films
=Правим параметры=
# mcedit /etc/minidlna.conf


Как минимум, потребуется задать путь к папке с медиа-файлами, параметр: "media_dir". Также можно задать имя сервера, отображаемое клиентом, параметр: "friendly_name".
Включаем автозапуск службы:
  # systemctl enable --now minidlna


В случае если наш DLNA-сервер по совместительству является интернет-шлюзом, также необходимо задать внутренний сетевой интерфейс, параметр: "network_interface".
Правим файл /etc/minidlna.conf
 
  # mcedit /etc/minidlna.conf
Параметры в комментариях файла конфигурации содержат значения по умолчанию.
==Параметры==
===Порт сервера===
port=8200
===Сетевой интерфейс===
network_interface=eth0
или несколько
network_interface=eth0,eth1
===Папка с файлами===
media_dir=/var/lib/minidlna
Чтобы сканировать файлы определенного типа, укажите соответствующий префикс:
*A - аудио: media_dir=A,/home/jmaggard/Music
*V - видео: media_dir=V,/home/jmaggard/Videos
*P - изображения: media_dir=P,/home/jmaggard/Pictures
Начиная с версии 1.1.0, можно задать несколько типов:
  media_dir=AV,/var/lib/minidlna/digital_camera
===Объединять корневые папки===
Включаем, чтобы избавиться от лишнего уровня вложенности
 
Расположение видео файлов при значении "no": Video/Catalog1/Catalog2, при значении "yes": Video/Catalog1
 
При изменении параметра, потребуется повторное сканирование файлов.
 
merge_media_dirs=yes
===Отображаемое имя===
Имя DLNA-сервера, отображаемое клиентом
 
По умолчанию: "$HOSTNAME:$USER"
 
friendly_name=
 
===Базы данных===
Путь к папке для хранения базы данных и кэша обложек альбомов
db_dir=/var/lib/minidlna
 
===Логи===
Путь к папке с лог-файлами
log_dir=/var/log
 
====Уровень детальности лога====
*Формат: log_level=источник1,источник2=значение2
*Доступные источники: "general", "artwork", "database", "inotify", "scanner", "metadata", "http", "ssdp", "tivo"
*Возможные значения: "off", "fatal", "error", "warn", "info", "debug"
log_level=general,artwork,database,inotify,scanner,metadata,info,ssdp,tivo=warn
 
===Перечень имен файлов-обложек альбомов===
Разделитель: "/"
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
 
===Автообнаружение новых файлов===
inotify=yes
 
===Поддержка устройств TiVo===
TiVo - цифровой видеорекордер от компании Xperi
enable_tivo=no
 
===Строго следовать DLNA-стандарту===
Использовать серверное масштабирование для очень больших JPEG-изображений, что может снизить скорость их обработки.
strict_dlna=no
 
===Интервал отправки SSDP-уведомлений, в секундах===
notify_interval=895
 
===Серийный номер===
Серийный номер и номер модели DLNA-сервера, сообщаемый клиенту
serial=12345678
model_number=1
 
===Корневая папка===
Контейнер, используемый в качестве корневой папки для клиентов
* "." - стандартный контейнер
* "B" - "Обзор папки"
* "M" - "Музыка"
* "V" - "Видео"
* "P" - "Изображения"
Если задано "B" и клиент представится как аудиоплеер, в качестве корня будет использована папка "Music/Folders"
root_container=.
 
===Критерий сортировки===
Всегда использовать заданный критерий сортировки, вместо значения, запрошенного клиентом
force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title
 
===Максимальное число одновременных подключений===
Учтите: многие клиенты открывают несколько подключений одновременно
max_connections=50
==Применение параметров==
Для применения параметров необходимо выполнить команду:
$ su -
# service minidlna force-reload
==Петин конфиг==
<pre>
#порт
port=8200
 
#сетевой интерфейс
network_interface=enp2s0
 
#сериалы
media_dir=V,/mnt/Data/Films


#вложенность
В строчке media_dir указываем каталоги с музыкой, аудио и видео:
merge_media_dirs=no


#имя
media_dir=A,/media/user/music
friendly_name=PetinKomp
media_dir=P,/media/user/photo
media_dir=V,/media/user/movie


#БД
Раскомментируем строку с БД:
db_dir=/var/lib/minidlna
db_dir=/var/cache/minidlna


#Логи
Настраиваем логи:
log_dir=/var/log
log_level=general,artwork,database,inotify,scanner,metadata,info,ssdp,tivo=warn


#Автообнаружение новых файлов
Строчку:
inotify=yes
#log_dir=/var/log
Приводим к виду:
log_dir=/var/log/minidlna


#Строго следовать DLNA-стандарту
Раскомментируем строчку с friendly_name и укажем собственное имя медиасервера:
strict_dlna=yes
friendly_name=Petin Media Server


#Коренвая папка
Сохраняем.
root_container=V


#Сотрировка
Перезапускаем службу.
force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title


#Одновременные подключения
# systemctl restart minidlna
max_connections=50
==Папки и права==
</pre>
-12:03, 26 февраля 2022 (UTC)[[Участник:Petr-akhlamov|Petr-akhlamov]] ([[Обсуждение участника:Petr-akhlamov|обсуждение]])
=Правим init-скрипт=
# mcedit /etc/default/minidlna


<pre>
===Linux/Ext4===
# Запускать демон, если задано "yes"
Обычно, в Linux рекомендуется создать каталог в домашней папке пользователя, но чтобы на Ext4 убить двух зайцев - и чтобы (и медиасервер имел права на чтение, и чтобы мы имели права на запись)&(это было вне домашней папки) делаем следующее:
START_DAEMON="yes"


# Путь к файлу конфигурации
1.Создаем в /home/ или /opt/ каталог для нашего хранилища - тут вопрос в том, где у Вас больше места. Если /home и / у Вас на одном разделе то лучше в /opt, если у Вас два раздела и размер /home больше, то лучше на него.<br>
#CONFIGFILE="/etc/minidlna.conf"
# mkdir /home/media
2.Назначаем права на каталог - все пользователи будут иметь RW-доступ к нему
# chmod 666 -R /home/media
3.Прописываем его в конфигурационный файл
media_dir=V,/home/media


# Путь к лог-файлу
===NTFS===
#LOGFILE="/var/log/minidlna.log"
Вы можете создать каталог на NTFS диске, сделать [[Настройка_Fstab#"Собственный"_fstab|постоянную точку монтирования]] и указать его. Права будут для всех пользователей RW (Read-Write).


# Запуск от имени заданного пользователя и группы
Например, NTFS диск у вас смонтирован на /mnt/Data. Каталог [SMARTTV].
# По умолчанию: minidlna
USER="minidlna"
GROUP="minidlna"


# Дополнительные ключи запуска
Указываем:
DAEMON_OPTS=""
media_dir=V,/mnt/Data/[SMARTTV]/
</pre>
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}

Текущая версия от 21:07, 3 декабря 2024

Примечание: Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.


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

Устанавливаем MiniDLNA

# apt-get update
# apt-get install minidlna

Включаем автозапуск службы:

# systemctl enable --now minidlna

Правим файл /etc/minidlna.conf

# mcedit /etc/minidlna.conf

В строчке media_dir указываем каталоги с музыкой, аудио и видео:

media_dir=A,/media/user/music
media_dir=P,/media/user/photo
media_dir=V,/media/user/movie

Раскомментируем строку с БД:

db_dir=/var/cache/minidlna

Настраиваем логи:

Строчку:

#log_dir=/var/log

Приводим к виду:

log_dir=/var/log/minidlna

Раскомментируем строчку с friendly_name и укажем собственное имя медиасервера:

friendly_name=Petin Media Server

Сохраняем.

Перезапускаем службу.

# systemctl restart minidlna

Папки и права

Linux/Ext4

Обычно, в Linux рекомендуется создать каталог в домашней папке пользователя, но чтобы на Ext4 убить двух зайцев - и чтобы (и медиасервер имел права на чтение, и чтобы мы имели права на запись)&(это было вне домашней папки) делаем следующее:

1.Создаем в /home/ или /opt/ каталог для нашего хранилища - тут вопрос в том, где у Вас больше места. Если /home и / у Вас на одном разделе то лучше в /opt, если у Вас два раздела и размер /home больше, то лучше на него.

# mkdir /home/media

2.Назначаем права на каталог - все пользователи будут иметь RW-доступ к нему

# chmod 666 -R /home/media

3.Прописываем его в конфигурационный файл

media_dir=V,/home/media

NTFS

Вы можете создать каталог на NTFS диске, сделать постоянную точку монтирования и указать его. Права будут для всех пользователей RW (Read-Write).

Например, NTFS диск у вас смонтирован на /mnt/Data. Каталог [SMARTTV].

Указываем:

media_dir=V,/mnt/Data/[SMARTTV]/