Медиасервер Ushare uPnP

From DD-WRT Wiki

Revision as of 18:12, 17 December 2019 by Atatob (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Contents

[edit] Введение

uShare - это медиасервер UPnP (TM) A/V & DLNA, который предоставляет мультимедийным устройствам UPnP информацию о доступных мультимедийных файлах. uShare использует встроенный HTTP-сервер libupnp для потоковой передачи файлов клиентам. GeeXboX uShare может предоставить доступ к файлам изображений, видео, музыки и спискам воспроизведения (полный список поддерживаемых форматов файлов см. ниже), но не может кодировать потоковые медиаданные под требования клиента. Отлично подходит для потоковой передачи мультимедиа на Xbox360 и PS3.

[edit] Требования

Хорошая инструкция по подключению и настройке 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