С покупкой очередного телевизора с LAN портом я понял, что пора объединять всё это царство электроники в одну сеть. Сеть, конечно, дело простое, а создать место от куда все цифровые устройства, находящиеся в сети, могут получить доступ к медиа контенту (музыка, фото, видео) - дело интересное. Поскольку сервер на Ubuntu уже был установлен дома, платфома была определена сразу. Среди множества решений был выбран MiniDLNA.
Всё, как обычно, начинается с установки.
sudo apt-get install minidlna
Установка одного пакеты потянет за собой установку кучу других зависимых пакетов. Это просто нужно пережить :) После окончания установки можно переходить к редактированию конфигурационного файла:
media_dir=V,/media/500g/DNLA/films #Параметр media_dir=V указывает, что тип содежимого директории видео и через запятую путь к папке.
media_dir=A,/media/500g/DNLA/music #Тоже самое только аудио.
db_dir=/var/cache/minidlna #Путь к директории с различным кэшем
log_dir=/var/log #Путь к логам
root_container=. #С каким контентом директория будет открываться при входе в меню DLNA.
network_interface=eth0 #Прослушиваемый интерфейс
port=8200 #Порт на котором работает MiniDLNA
friendly_name=Media Server #Отображаемое имя сервера
serial=681019810597110 #Произвольный серийный номер для отчётов
model_name=Peshehodnaja(DLNA) #Модель сервера
inotify=yes #Автоматический поиск новых файлов!
notify_interval=5 #Инетвал оповещения
Это конфигурация при которой DLNA сервер вполне себе работает и справляется со своей задачей. Помимо всего прочего необходмо обеспечить автозапуск сервера DLNA после перезагрузки компьютера.
USER="minidlna" #Запуск от имени
GROUP="minidlna" #Пользователь и группа от чьего имени запускаем демон
DAEMON_OPTS=""
В силу того, что директории с контентом будут использоваться другими процессами, запуск от имени minidlna не представляется возможным. Под другими процессами я подразумеваю SAMBA. Папка будет расшарена по сети. Я поменял пользователя на root, а группу закоментировап вовсе. Всё это дело не секьюрно, скажите Вы. Да, если бы я выставил бы этот сервис на всеобщее обозрение. Но, по скольку сервис доступен только жене, ребёнку и рыбам в аквариуме, меня это мало волнует.
root@mail:~# service minidlna stop
* Stopping DLNA/UPnP-AV media server minidlna [ OK ]
root@mail:~# ps -e | grep mini
root@mail:~# service minidlna start
* Starting DLNA/UPnP-AV media server minidlna [ OK ]
root@mail:~# ps -e | grep mini
9481 ? 00:00:00 minidlnad
Это всё. По идее телек или любой другой девайс должен увидеть наш сервер DLNA вот таким образом:
Или как в Windows Media Player:
В этой статье расскажу почему запуск minidlna выполняю от имени root'a.