uShare (http://ushare.geexbox.org/) is a [[w:Upnp|Upnp]] (TM) A/V Media Server. It implements the server component that provides UPnP media devices with information on available multimedia files. uShare uses the built-in http server of libupnp to stream the files to clients.

uShare is written for the [[w:GeeXboX|GeeXboX]] project. It is designed to provide access to multimedia contents to GeeXboX but can of course be used by any other UPnP client device. It should compile and run on any modern [[w:POSIX|POSIX]] compatible system such as [[w:Linux|Linux]]

+

is a [[w:Upnp|Upnp]] (TM) A/V Media Server based on [[GMediaServer - GNU UPnP media server (MIPSel)|GmediaServer]]<ref>[[GMediaServer - GNU UPnP media server (MIPSel)|GMediaServer]] : the original Media Server on which uShare was based.</ref>. It implements the server component that provides UPnP media devices with information on available multimedia files. uShare uses the built-in http server of libupnp to stream the files to clients.

−

uShare is free software - it is licensed under the terms of the [[w:GNU General Public License|GNU General Public License]] (GPL).

+

uShare is written for the [[w:GeeXboX|GeeXboX]]<ref>[[w:GeeXboX|GeeXboX]] : the Linux multimedia distribution that uses djmount to provide access to UPnP contents.</ref> project. It is designed to provide access to multimedia contents to GeeXboX but can of course be used by any other UPnP client device. It should compile and run on any modern [[w:POSIX|POSIX]] compatible system such as [[w:Linux|Linux]]. uShare is free software - it is licensed under the terms of the [[w:GNU General Public License|GNU General Public License]] (GPL).

The following UPnP library is required to build and run uShare: Linux SDK for UPnP Devices (libupnp), 1.3.1 or later <ref>[http://upnp.sourceforge.net/#Linux SDK for UPnP Devices (libupnp)]: An Open Source UPnP Development Kit.</ref>

At first you need to be sure that you have setup a multicast route for UPnP messages. If you don't but have a default route attributed, then this later will be used. Otherwise, simply declare a new route for UPnP multicasts (for example using eth0 interface) :

At first you need to be sure that you have setup a multicast route for UPnP messages. If you don't but have a default route attributed, then this later will be used. Otherwise, simply declare a new route for UPnP multicasts (for example using eth0 interface) :

route add -net 239.0.0.0 netmask 255.0.0.0 eth0

route add -net 239.0.0.0 netmask 255.0.0.0 eth0

−

uShare runs from the console only. It supports the usual --help option which displays usage and option information.

+

−

Options:

+

To complete the installation, you must edit <tt>/etc/ushare.conf</tt> or <tt>/opt/etc/ushare.conf</tt> on an ipkg install to add the location(s) of your media files.

uShare expects at least one directory argument (-c argument), specifying where multimedia files are stored. You should probably also use the -i option to specify which interface uShare should listen on.

+

−

ushare -c /shares

+

−

ushare -c /shares1 --content=/shares2

+

−

===Configuration===

+

−

To complete the installation, you must edit /opt/etc/ushare.conf to add the location(s) of your media files

uShare expects at least one directory argument (-c argument), specifying where multimedia files are stored. You should probably also use the -i option to specify which interface uShare should listen on.

+

ushare -i eth0 -c /shares

+

===Web Interface===

+

You can also perform remote control of uShare UPnP Media Server through its web interface. This let you define new content locations at runtime or update the currently shared one in case the filesystem has changed. After starting ushare you can go to the web interface to manage it's shares: http://linkstation:49200/web/ushare.html

+

{|

+

|-

+

|| [[Image:ushare.png|200px|thumb|left|After starting ushare you can go to the web interface to manage it's shares: http://linkstation:49200/web/ushare.html]]

Introduction

uShare[1][2]
is a Upnp (TM) A/V Media Server based on GmediaServer[3]. It implements the server component that provides UPnP media devices with information on available multimedia files. uShare uses the built-in http server of libupnp to stream the files to clients.
uShare is written for the GeeXboX[4] project. It is designed to provide access to multimedia contents to GeeXboX but can of course be used by any other UPnP client device. It should compile and run on any modern POSIX compatible system such as Linux. uShare is free software - it is licensed under the terms of the GNU General Public License (GPL).

Install

# /etc/ushare.conf
# Configuration file for uShare
# uShare UPnP Friendly Name (default is 'uShare').
USHARE_NAME=uShare
# Interface to listen to (default is eth0).
# Ex : USHARE_IFACE=eth1
USHARE_IFACE=eth0
# Port to listen to (default is random from IANA Dynamic Ports range)
# Ex : USHARE_PORT=49200
USHARE_PORT=49200
# Directories to be shared (space or CSV list).
# Ex: USHARE_DIR=/dir1,/dir2
USHARE_DIR=/mnt/disk1/root/Music,/mnt/disk1/root/pictures,/mnt/disk1/root/Video
# 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=true
# Enable Web interface (yes/no)
USHARE_ENABLE_WEB=yes
# Enable Telnet control interface (yes/no)
USHARE_ENABLE_TELNET=no
# Use XboX 360 compatibility mode (yes/no)
USHARE_ENABLE_XBOX=no
# Use DLNA profile (yes/no) if libdlna is also used.
# This is not needed with this custom3 build of uShare-1.1a
# This is needed for PlayStation3 to work (among other devices)
USHARE_ENABLE_DLNA=yes
#EOF

Start

/etc/init.d/ushare start

Package Changes:

Moved everything to /usr/local/, with the execption of the init script..

Configuration

At first you need to be sure that you have setup a multicast route for UPnP messages. If you don't but have a default route attributed, then this later will be used. Otherwise, simply declare a new route for UPnP multicasts (for example using eth0 interface) :

route add -net 239.0.0.0 netmask 255.0.0.0 eth0

To complete the installation, you must edit /etc/ushare.conf or /opt/etc/ushare.conf on an ipkg install to add the location(s) of your media files.

/etc/ushare.conf

# /etc/ushare.conf
# Configuration file for uShare
# uShare UPnP Friendly Name (default is 'uShare').
USHARE_NAME=
# Interface to listen to (default is eth0).
# Ex : USHARE_IFACE=eth1
USHARE_IFACE=
# 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=/mnt/share/storage,/mnt/share/My-Documents/iTunes-Music,/mnt/share/My-Documents/my-Pictures
# 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=yes
# Enable Telnet control interface (yes/no)
ENABLE_TELNET=
# Use XboX 360 compatibility mode (yes/no)
ENABLE_XBOX=yes
# Use DLNA profile (yes/no)
# This is needed for PlayStation3 to work (among other devices)
ENABLE_DLNA=

uShare expects at least one directory argument (-c argument), specifying where multimedia files are stored. You should probably also use the -i option to specify which interface uShare should listen on.

ushare -i eth0 -c /shares

Web Interface

You can also perform remote control of uShare UPnP Media Server through its web interface. This let you define new content locations at runtime or update the currently shared one in case the filesystem has changed. After starting ushare you can go to the web interface to manage it's shares: http://linkstation:49200/web/ushare.html