UPnP (Universal Plug and Play) - набор сетевых протоколов, публикуемых форумом UPnP. Цель UPnP — универсальная автоматическая настройка сетевых устройств как дома, так и в корпоративной среде. Состоит из набора сопутствующих протоколов, построенных на открытых интернет-стандартах.
Домашний сервер, качающие файлы через bittorent уже не является редким явлением, так же как и цифровые медиа-плееры. Сейчас уже даже бюджетные плееры имеют как минимум Ethernet-интерфейс и поддержку различных сетевых протоколов, в том числе и AV-части UPnP. Ярким примером такого плеера является например WD TV Live стоимостью менее ста долларов.
В связи с этим сейчас представляет достаточный интерес задача развёртывания UPnP AV(Медиа)-сервера для домашнего медиа-центра. Одно из решений этой задачи предложено ниже.
Допустим что у нас есть домашний сервер под управлением Ubuntu 11.04 Server. Все данные расположены в директориях "/mnt/data/SHARE/Music" и "/mnt/data/SHARE/Films". Нам нужно сделать эти директории доступными по UPnP AV.
Мы будем использовать рождённый в недрах проекта GeeXboX сервис uShare. Установим его:
apt-get install ushare
Далее нужно сконфигурировать uShare. Можно в ручную отредактировать файл конфигурации, а можно использовать скрипт для генерации этого файла. Он достаточно удобен и вызывается командой:
dpkg-reconfigure ushare
Однако скрипт не очень хорошо работает если в каких-либо параметрах есть проблемы и некоторые другие "неудобные" символы, потому стоит подробнее остановится на файле конфигурации. Хотя бы на самой основной его части. Конфигурация хранится в файле "/etc/ushare.conf". Вот его содержимое (с комментариями):
# Отображаемое имя сервиса USHARE_NAME=Home_Server # Интерфейс, на котором будет слушать сервис USHARE_IFACE=eth0 # Порт, на котором будет слушать веб-интерфейс USHARE_PORT=49152 # Порт, на котором будет доступен telnet-интерфейс USHARE_TELNET_PORT=1337 # Список директорий. Элементы разделяются запятыми или пробелами USHARE_DIR=/mnt/data/SHARE/Films,/mnt/data/SHARE/Music # Включите, если нужно включать в список элементы, содержащие недопустимые символы # (может не работать со многими устройствами) USHARE_OVERRIDE_ICONV_ERR=no # Включен веб-интерфейс USHARE_ENABLE_WEB=yes # Отключено управление через telnet USHARE_ENABLE_TELNET=no # Режим совместимости с XboX 360 USHARE_ENABLE_XBOX=no # Режим DLNA (http://ru.wikipedia.org/wiki/DLNA). # Имеет смысл включить для PlayStation3 и ряда устройств USHARE_ENABLE_DLNA=no
После изменения настроек нужно перезапустить сервис командой:
invoke-rc.d ushare restart
Веб-интерфейс доступен по адресу "http://<адрес_сервера>:<порт>/web/ushare.html". Он достаточно прост, но позволяет управлять доступными клиентами директориями.
Теперь можно пользоваться. Например на упомянутом выше WD TV Live нужно в меню выбрать пункт «Видео» -> «Медиа-серверы» и в списке выбрать только что запущенный сервер.
На этом всё. Приятной работы!