Difference between revisions of "Ushare - UPnP Media Server for Linux"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
m (Configuration)
m
Line 38: Line 38:
 
  make install
 
  make install
  
==Usage==
+
 
 +
==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) :
 
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> to add the location(s) of your media files.  
  -n, --name=NAME              Set UPnP Friendly Name (default is 'uShare')
+
  -i, --interface=IFACE        Use IFACE Network Interface (default is 'eth0')
+
  -p, --port=PORT              Forces the HTTP server to run on PORT
+
  -c, --content=DIR            Share the content of DIR directory (default is './')
+
  -w, --no-web                Disable the control web page (enabled by default)
+
  -v, --verbose                Set verbose display.
+
  -D, --daemon                Run as a daemon.
+
  -V, --version                Display the version of uShare and exit
+
  -h, --help                  Display this help
+
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 <tt>/opt/etc/ushare.conf</tt> to add the location(s) of your media files.  
+
 
====/etc/ushare.conf====
 
====/etc/ushare.conf====
 
<pre>
 
<pre>
Line 157: Line 144:
 
  ln -s ../init.d/gmserver K02ushare
 
  ln -s ../init.d/gmserver K02ushare
  
====Web Interface====
+
==Usage==
 +
uShare runs from the console only. It supports the usual '''--help''' option which displays usage and option information.
 +
===Command Line Options===
 +
{|
 +
|-
 +
||  -n || --name=NAME ||            Set UPnP Friendly Name (default is 'uShare')
 +
|-
 +
||  -i || --interface=IFACE ||        Use IFACE Network Interface (default is 'eth0')
 +
|-
 +
||  -p || --port=PORT  ||          Forces the HTTP server to run on PORT
 +
|-
 +
||  -c || --content=DIR ||            Share the content of DIR directory (default is './')
 +
|-
 +
||  -w || --no-web  ||              Disable the control web page (enabled by default)
 +
|-
 +
||  -v || --verbose ||                Set verbose display.
 +
|-
 +
||  -D || --daemon||                Run as a daemon.
 +
|-
 +
||  -V || --version ||                Display the version of uShare and exit
 +
|-
 +
||  -h || --help ||                  Display this help
 +
|}
 +
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===
 
After starting ushare you can go to the web interface to manage it's shares:  
 
After starting ushare you can go to the web interface to manage it's shares:  
  

Revision as of 17:37, 30 October 2006

250px-GeeXboX_Logo.gif

Contents

Introduction

uShare[1] is a Upnp (TM) A/V Media Server based on GmediaServer[2]. 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[3] 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).

Supported File Formats List

Installation

OpenLink - Ipkg (PowerPC)

ipkg install ushare

Compile from Source

  1. Install the Precompiled C development environment, running on the LS
  2. Then get the source files install them
wget http://ushare.geexbox.org/releases/ushare-0.9.7.tar.bz2
wget http://ovh.dl.sourceforge.net/sourceforge/upnp/libupnp-1.3.1.tar.gz

Configure, make and install libupnp1.3.1[4]

tar -xvzf libupnp-1.3.1.tar.gz 
cd libupnp-1.3.1
./configure
make 
make install

Then configure, make and install ushare

tar -xvjf ushare-0.9.7.tar.bz2
cd ushare-0.9.7
./configure
make 
make install


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 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

# Directories to be shared (space or CSV list).
# Ex: USHARE_DIR=/dir1,/dir2
USHARE_DIR=

Then you can create a start/stop script

/etc/init.d/ushare

#!/bin/sh
### BEGIN INIT INFO
# Required-Start: $local_fs $syslog
# Required-Stop:
# Default-Start:  2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop ushare
# Description:
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/ushare
NAME=ushare
DESC="uShare UPnP A/V Media Server"
PIDFILE=/var/run/ushare.pid

[ -r "/etc/ushare.conf" ] && . /etc/ushare.conf

# abort if no executable exists
[ -x $DAEMON ] || exit 0

# abort if no shared directory is defined
[ -z "$USHARE_DIR" ] && exit 0

set -e

checkpid() {
  [ -e $PIDFILE ] || touch $PIDFILE
}
case "$1" in
  start)
    echo -n "Starting $DESC: $NAME"
    checkpid
    start-stop-daemon --start --quiet --background --oknodo \
      --make-pidfile --pidfile $PIDFILE \
      --exec $DAEMON -- $USHARE_OPTIONS
    echo "."
  ;;
 stop)
    echo -n "Stopping $DESC: $NAME"
    start-stop-daemon --stop --signal 2 --quiet --oknodo --pidfile $PIDFILE
    echo "."
  ;;
  reload|force-reload)
    echo -n "Reloading $DESC: $NAME"
    start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile $PIDFILE --e$
    echo "."
  ;;
  reload|force-reload)
    echo -n "Reloading $DESC: $NAME"
    start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile $PIDFILE --e$
    echo "."
  ;;
  restart)
    $0 stop
    $1 start
  ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
    exit 2
  ;;
esac

exit 0

Run at Startup

And run the following to have it startup and stop on system start/shutdown

cd /etc/rc.d/rc2.d
ln -s ../init.d/gmserver S99ushare
cd ../rc0.d
ln -s ../init.d/gmserver K02ushare
cd ../rc6.d
ln -s ../init.d/gmserver K02ushare

Usage

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

Command Line Options

-n --name=NAME Set UPnP Friendly Name (default is 'uShare')
-i --interface=IFACE Use IFACE Network Interface (default is 'eth0')
-p --port=PORT Forces the HTTP server to run on PORT
-c --content=DIR Share the content of DIR directory (default is './')
-w --no-web Disable the control web page (enabled by default)
-v --verbose Set verbose display.
-D --daemon Run as a daemon.
-V --version Display the version of uShare and exit
-h --help Display this help

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

After starting ushare you can go to the web interface to manage it's shares:

http://linkstation:49200/web/ushare.html

References

  1. GeeXboX uShare : A free UPnP A/V Media Server for Linux.
  2. GMediaServer : the original Media Server on which uShare was based.
  3. GeeXboX : the Linux multimedia distribution that uses djmount to provide access to UPnP contents.
  4. SDK for UPnP Devices (libupnp): An Open Source UPnP Development Kit.
Link.png This article is currently a stub. You can help this Wiki by expanding it

. This template will categorize articles that include it into Category:Stubs.