Медиасервер Ushare uPnP
From DD-WRT Wiki
English • Deutsch • Español • Français • Italiano • 日本語 • Polski • Português • Русский • Svenska • 中文(中国大陆) • 中文(台灣) • |
Contents |
[edit] Введение
uShare - это медиасервер UPnP (TM) A/V & DLNA, который предоставляет мультимедийным устройствам UPnP информацию о доступных мультимедийных файлах. uShare использует встроенный HTTP-сервер libupnp для потоковой передачи файлов клиентам. GeeXboX uShare может предоставить доступ к файлам изображений, видео, музыки и спискам воспроизведения (полный список поддерживаемых форматов файлов см. ниже), но не может кодировать потоковые медиаданные под требования клиента. Отлично подходит для потоковой передачи мультимедиа на Xbox360 и PS3.
[edit] Требования
- Telnet или SSH.
- Настроенная система пакетов Optware.
- Скрипт автозапуска для установленных пакетов Optware.
- Поддержка USB или внешнего хранилища данных.
- Включенный параметр "UPnP Service" в веб-интерфейсе маршрутизатора.
Хорошая инструкция по подключению и настройке USB-накопителя: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=19273
[edit] Установка uShare
Убедитесь, что система пакетов optware настроена правильно и пакет ushare доступен для установки:
/opt/bin/ipkg-opt update /opt/bin/ipkg-opt list | grep ushare
Команда возвратит: ushare - 1.1a-2 - A free UPnP A/V Media Server for Linux.
/opt/bin/ipkg-opt install ushare
[edit] Базовая конфигурация
vi /opt/etc/ushare.conf
Укажите в этом параметре список папок, доступ к которым требуется предоставить мультимедийным устройствам UPnP и которые содержат фильмы, музыку и изображения:
USHARE_DIR=/mmc/movies,/mmc/music
Есть некоторые ошибки в файле конфигурации по умолчанию, следующие параметры должны начинаться с USHARE_. Установите значение no для параметра, включающего веб-интерфейс медиасервера, потому что веб-интерфейс не работает (по крайней мере, у меня).
Примечание пользователя RolF: веб-интерфейс работает без проблем, если включен, просто откройте в браузере адрес http://IP-адрес_маршрутизатора:49200/web/ushare.html.
# Enable Web interface (yes/no) # ENABLE_WEB=no USHARE_ENABLE_WEB=no
Установите в значение no, чтобы отключить поддержку Telnet (не проверял, работает ли, если его включить):
# Enable Telnet control interface (yes/no) # ENABLE_TELNET=no USHARE_ENABLE_TELNET=no
Установите в значение yes, чтобы включить режим совместимости с игровой приставкой Xbox 360:
# Use XboX 360 compatibility mode (yes/no) # ENABLE_XBOX=yes USHARE_ENABLE_XBOX=yes
Установите в значение yes, чтобы включить профиль DLNA для с игровой приставки Playstation 3, у меня установлено значение no, поскольку у меня есть только Xbox 360:
# Use DLNA profile (yes/no) # This is needed for PlayStation3 to work (among other devices) # ENABLE_DLNA=yes USHARE_ENABLE_DLNA=yes
Итоговый файл
# /etc/ushare.conf # Configuration file for uShare # uShare UPnP Friendly Name (default is 'uShare'). USHARE_NAME=ddwrt # Interface to listen to (default is eth0). # Ex : USHARE_IFACE=eth1 USHARE_IFACE=br0 # Port to listen to (default is random from IANA Dynamic Ports range) # Ex : USHARE_PORT=49200 USHARE_PORT=49200 # Port to listen for Telnet connections # Ex : USHARE_TELNET_PORT=1337 USHARE_TELNET_PORT= # Directories to be shared (space or CSV list). # Ex: USHARE_DIR=/dir1,/dir2 USHARE_DIR=/mmc/movies,/mmc/music # Use to override what happens when iconv fails to parse a file name. # The default uShare behaviour is to not add the entry in the media list # This option overrides that behaviour and adds the non-iconv'ed string into # the media list, with the assumption that the renderer will be able to # handle it. Devices like Noxon 2 have no problem with strings being passed # as is. (Umlauts for all!) # # Options are TRUE/YES/1 for override and anything else for default behaviour USHARE_OVERRIDE_ICONV_ERR= # Enable Web interface (yes/no) # ENABLE_WEB=no USHARE_ENABLE_WEB=yes # Enable Telnet control interface (yes/no) # ENABLE_TELNET=no USHARE_ENABLE_TELNET=no # Use XboX 360 compatibility mode (yes/no) # ENABLE_XBOX=yes USHARE_ENABLE_XBOX=yes # Use DLNA profile (yes/no) # This is needed for PlayStation3 to work (among other devices) # ENABLE_DLNA=yes USHARE_ENABLE_DLNA=yes
Запустите широковещательный сегмент uPnP
route add -net 239.0.0.0 netmask 255.0.0.0 br0
[edit] Настройки для Xbox 360
Если вы изменили файл конфигурации, чтобы включить параметр USHARE_ENABLE_XBOX, то также нужно выполнить и эту часть.
Мне пришлось отредактировать скрипт запуска opt, чтобы моя приставка Xbox 360 распознавал uShare в сети.
vi /opt/etc/init.d/S99ushare
Измените следующую строку (под номером 30):
$DAEMON -D
На строку:
$DAEMON -x -D
[edit] Настройки для Playstation 3
Измените следующую строку в файле конфигурации /opt/etc/ushare.conf:
# Use DLNA profile (yes/no) # This is needed for PlayStation3 to work (among other devices) # ENABLE_DLNA=yes USHARE_ENABLE_DLNA=yes
Этот подраздел нуждается в проверке и дополнении, т.к. у меня нет Playstation 3.
[edit] Сценарий запуска
Если у вас нет ничего, что описано в руководствах по настройке optware для автоматического запуска вы можете использовать этот сценарий.
vi /jffs/etc/config/optware.startup
#OptWare Startup if [ -d /opt/etc/init.d ]; then for f in /opt/etc/init.d/S* ; do [ -x $f ] && $f start done fi
chmod +x /jffs/etc/config/optware.startup
Теперь проверьте работу сценария:
sh /jffs/etc/config/optware.startup
Убедитесь, что uShare запущен:
ps | grep ushare
Вывод команды должен показать:
1333 root 1076 S /opt/bin/ushare -x -D 1334 root 1076 S /opt/bin/ushare -x -D 1335 root 1076 S /opt/bin/ushare -x -D 1336 root 1076 S /opt/bin/ushare -x -D 1338 root 1076 S /opt/bin/ushare -x -D 1339 root 1076 S /opt/bin/ushare -x -D 1340 root 1076 S /opt/bin/ushare -x -D 1341 root 1076 S /opt/bin/ushare -x -D 1342 root 1076 S /opt/bin/ushare -x -D
ПОЗДРАВЛЯЮ, ВЫ ЭТО СДЕЛАНЫ, ВАШ МЕДИАСЕРВЕР РАБОТАЕТ!
Перезагрузите маршрутизатор и убедитесь, что всё работает.
[edit] Правка сценария запуска Optware uShare (необязательно)
Отредактируйте сценарий запуска optware:
vi /opt/etc/init.d/S99ushare
Изменить следующий раздел:
stop() { ................... .................. }
На это:
stop() { echo -n "Stopping $DESC... " if [ -n "`pidof ushare`" ] ; then killall -9 ushare fi echo "done" }
Это действительно остановит uShare.
[edit] Настройка игровой консоли Xbox 360
Войдите в основную панель инструментов, перейдите в раздел Media и выберите один из разделов с фильмами, изображениями или музыкой. Нажмите кнопку X и в разделе выбора источника увидите свой медиасервер, названый так, как вы задали значение параметра USHARE_NAME в файле конфигурации ushare.conf.
[edit] Задавайте вопросы
Связаться с автором статьи вы можете по электронной почте (англ.): undertoe собака chemlab точка com