Установка и настройка MiniDLNA
Размещено: 2-12-2014, 12:53 | Просмотров: 8046 | Комментариев: 0
Почему MiniDLNA?
Всё очень просто - всё очень просто :)
MiniDLNA очень прост в настройке. Да у него нет всяких современных фич как транскодирование или трансляция видео с Youtube. Но мне это не нужно. Лично мне несложно найти видео сжатым нужным мне кодеком или перекодировать его самостоятельно. Более того у меня есть Blue-ray плеер, который знает больше кодеков чем мой телек. Так что если что-то не идет на телеке - идет на Blue-ray плеере.

Установка
Устанавливается MiniDLNA из репозиториев
sudo apt-get install minidlna


Настройка
Файл с настройками MiniDLNA находится по пути /etc/minidlna.conf.
Открываем его своим любимым редактором (nano, vim, gedit и т.д.). У кого нет любимого редактора

можно воспользоваться шпаргалкой
sudo nano /etc/minidlna.conf

Далее смотрим, что там есть. Базовый файл с настройками имеет коментарии ко всем параметрам. Все довольно просто и понятно. Если совсем ничего не понятно, то сделаем минимальные изменения в настройках.

Путь к медиабиблиотеке
Необходимо указать нашему серверу где же находится вся наша медиабиблиотека (директория или несколько директорий) с фильмами, мультиками, фотографиями и музыкой. Пути к библиотекам указываются ключом media_dir. Таких ключей можно указать сколько угодно. Примеры настройки лежат тут же.
media_dir=A,/home/jmaggard/Music
media_dir=V,/home/jmaggard/Videos
media_dir=P,/home/jmaggard/Pictures

Никто не запрещает указать две и более директории с (например) видео:
media_dir=V,/первый/путь/к_видео
media_dir=V,/второй/путь/к_видео

Я предлагаю другой подход - использовать в качестве медиабиблиотеки путь /opt, который указан в настройках по-умолчанию. И по этому пути собирать символические ссылки на все наши директории с медиаконтентом.
ln -s /path_to_folder /path_from_folder_link ((/path_to_folder - на что будем указывать) (/path_from_folder_link - папка в которой создадим ссылку))
Стало быть приводим часть с описанием медиадиректорий в настройках к следующему виду:
media_dir=V,/opt/medialib/video
media_dir=A,/opt/medialib/audio
media_dir=P,/opt/medialib/pictures

Идем дальше...
Как будет называться наш сервер
Конечно же мы не оставим это на откуп компьютеру ;) Мы назовем свой сервер сами. Находим параметр friendly_name раскоментируем его если он закоментирован и пишем туда свое имя сервера
friendly_name=My super mediaserver


Директория с базой данных
MiniDLNA использует в качестве СУБД sqlite3. Соответственно вся база данных хранится в файле. Нам стоит позаботиться о том где этот файл будет лежать. Для этого просто раскоментируем (или добавим свой) параметр
db_dir=/var/cache/minidlna


Ничего не работает :(
Должно пройти некторое время пока сервер просканирует все папки и запишет к себе в базу все, что ему надо. В зависимости от количества файлов этот процесс может занять от нескольких секунд до нескольких минут.
По собственному опыту могу сказать одно, что в основном все проблемы (телевизор видит сервер, но не видит файлов; файлы видно, но показывать не хочет и т.п.) из-за того, что: Вы неправильно раздали права на папки с видео/музыкой/фотками (или на конечные файлы). В данном случае просто надо выдать правильные права. Для файлов подойдут 664. Для папок 775. Как правило с папками все нормально. Не хватает прав как раз на конечных файлах. Для этого можно воспользоваться командой:
find -type f | sed 's/ /\\ /g' | xargs chmod 664

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

Мой пример файла конфигурации:
# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200

# network interface to bind to (this is the only interface that will serve files)
#network_interface=eth0

# set this to the directory you want scanned.
# * if have multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to a specific content type, you
# can prepend the type, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
media_dir=V,/mnt/222/video
media_dir=V,/mnt/222/video2
media_dir=A,/mnt/222/music
media_dir=P,/mntRAID/1tbRAID/foto
# media_dir=/mnt/222

# set this if you want to customize the name that shows up on your clients
#friendly_name=My DLNA Server

# set this if you would like to specify the directory where you want MiniDLNA to store its

database and album art cache
db_dir=/var/lib/minidlna

# this should be a list of file names to check for when searching for album art
# note: names should be delimited with a forward slash ("/")
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

# set this to no to disable inotify monitoring to automatically discover new files
# note: the default is yes
inotify=yes

# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
enable_tivo=no

# set this to strictly adhere to DLNA standards.
# * This will allow server-side downscaling of very large JPEG images,
# which may hurt JPEG serving performance on (at least) Sony DLNA products.
strict_dlna=no

# default presentation url is http address on port 80
#presentation_url=https://www.mylan/index.php

# notify interval in seconds. default is 895 seconds.
notify_interval=60

# serial and model number the daemon will report to clients
# in its XML description
serial=12345678
model_number=1