Ushare - UPnP Media Server for Linux

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 06:29, 30 October 2006 by Ramuk (Talk | contribs) (initial article creation)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


uShare ( is a 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 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 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

  • Video files : asf, avi, dv, divx, wmv, mjpg, mjpeg, mpeg, mpg, mpe, mp2p, vob, mp2t, m1v, m2v, m4v, m4p, mp4ps, ts, ogm, mkv, rmvb, mov, qt
  • Audio files : aac, ac3, aif, aiff, at3p, au, snd, dts, rmi, mp1, mp2, mp3, mp4, mpa, ogg, wav, pcm, lpcm, l16, wma, mka, ra, rm, ram
  • Image files : bmp, ico, gif, jpeg, jpg, jpe, pcd, png, pnm, ppm, qti, qtf, qtif, tif, tiff
  • Playlist files : pls, m3u, asx
  • Subtitle files : dks, idx, mpl, pjs, psb, scr, srt, ssa, stl, sub, tts, vsf, zeg
  • Various text files : bup, ifo

If you want uShare to support more file formats, simply add its properties in the src/mime.c table. Do not forget to send a patch to update uShare.


Ipkg (PowerPC)

OpenLink PowerPC only

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

Configure, make and install libupnp1.3.1

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

Then configure, make and install ushare

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


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

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

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