210 lines
7.1 KiB
Plaintext
210 lines
7.1 KiB
Plaintext
GeeXboX uShare - Introduction
|
|
=============================
|
|
|
|
GeeXboX 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.
|
|
|
|
GeeXboX uShare is able to provide access to both images, videos, music
|
|
or playlists files (see below for a complete file format support list).
|
|
It does not act as an UPnP Media Adaptor and thus, can't transcode
|
|
streams to fit the client requirements.
|
|
|
|
uShare is written in C for the GeeXboX project (see http://www.geexbox.org/).
|
|
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.
|
|
|
|
GeeXboX uShare is free software - it is licensed under the terms of the GNU
|
|
General Public License (GPL).
|
|
|
|
Copyright and License
|
|
=====================
|
|
|
|
GeeXboX uShare is copyright (C) 2005-2007 Benjamin Zores.
|
|
|
|
This program is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU General Public License as published by the Free
|
|
Software Foundation; either version 2 of the License, or (at your option)
|
|
any later version.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc., 51
|
|
Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
Note that uShare links with libupnp, which is licensed under the
|
|
terms of a modified BSD license (i.e. the original BSD license without the
|
|
advertising clause). This license is compatible with the GNU GPL.
|
|
|
|
Homepage
|
|
========
|
|
|
|
Web site and file area for uShare is hosted on GeeXboX server :
|
|
|
|
http://ushare.geexbox.org/
|
|
|
|
The latest version of uShare should always be available on this site.
|
|
|
|
Requirements
|
|
============
|
|
|
|
The following programs are required to build uShare:
|
|
|
|
* GNU C Compiler (gcc), 2.95 or later.
|
|
|
|
The GNU C Compiler is part of the GNU Compiler Collection which can be
|
|
downloaded from http://gcc.gnu.org/.
|
|
|
|
* pkg-config.
|
|
|
|
pkg-config is a helper tool used when compiling applications and libraries.
|
|
It helps you insert the correct compiler options on the command line.
|
|
(see http://pkg-config.freedesktop.org/wiki/ ).
|
|
|
|
The following UPnP library is required to build and run uShare :
|
|
|
|
* Linux SDK for UPnP Devices (libupnp), 1.4.2 or later
|
|
|
|
The libupnp library is used to communicate using the UPnP protocol.
|
|
libupnp can be downloaded from http://pupnp.sourceforge.net/.
|
|
|
|
The following DLNA library is required for proper DLNA support :
|
|
|
|
* libdlna, 0.2.1 or later
|
|
|
|
The libdlna library is used to provides DLNA profiles informations.
|
|
libdlna can be downloaded from http://libdlna.geexbox.org/.
|
|
|
|
Building and Installation
|
|
=========================
|
|
|
|
Compile uShare by running configure and then make. This should
|
|
produce an executable ushare in the src subdirectory, which can be
|
|
used right away. No extra files need to be installed.
|
|
|
|
You can pass the CFLAGS you want to configure including -DDEBUG in order
|
|
to activate support for debug messages in uShare.
|
|
|
|
Example :
|
|
|
|
CFLAGS="-Os" ./configure --prefix=/usr
|
|
make
|
|
|
|
You can enable DLNA support by doing a:
|
|
./configure --enable-dlna
|
|
|
|
If you want to install uShare on your system, run :
|
|
|
|
make install-strip
|
|
|
|
This will copy the executable and manual page into their appropriate
|
|
directories (/usr/bin and /usr/man/man1 in this example).
|
|
|
|
For more information regarding configure and make, see the INSTALL document.
|
|
|
|
Usage
|
|
=====
|
|
|
|
uShare runs from the console only. It supports the usual --help option
|
|
which displays usage and option information.
|
|
|
|
Usage: ushare [-n name] [-i interface] [-c directory] [[-c directory] ...]
|
|
Options:
|
|
-n, --name=NAME Set UPnP Friendly Name (default is 'uShare')
|
|
-i, --interface=IFACE Use IFACE Network Interface (default is 'eth0')
|
|
-f, --cfg=FILE Config file to be used
|
|
-p, --port=PORT Forces the HTTP server to run on PORT
|
|
-q, --telnet-port=PORT Forces the TELNET server to run on PORT
|
|
-c, --content=DIR Share the content of DIR directory.
|
|
-w, --no-web Disable the control web page (enabled by default)
|
|
-t, --no-telnet Disable the TELNET control (enabled by default)
|
|
-o, --override-iconv-err If iconv fails parsing name, still add to media contents (hoping the renderer can handle it)
|
|
-v, --verbose Set verbose display
|
|
-x, --xbox Use XboX 360 compliant profile
|
|
-d, --dlna Use DLNA compliant profile (PlayStation3 needs this)
|
|
-D, --daemon Run as a daemon.
|
|
-V, --version Display the version of uShare and exit
|
|
-h, --help Display this help
|
|
|
|
uShare gets its configuration from the /etc/ushare.conf file.
|
|
You can force configuration options through command line.
|
|
|
|
uShare expects one or several 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
|
|
|
|
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.
|
|
Just go to :
|
|
|
|
http://ip_address:port/web/ushare.html
|
|
|
|
See the manual page for more details :
|
|
|
|
man ushare
|
|
|
|
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
|
|
|
|
- Images files : bmp, ico, gif, jpeg, jpg, jpe, pcd, png, pnm, ppm,
|
|
qti, qtf, qtif, tif, tiff
|
|
|
|
- Playlist files : pls, m3u, asx
|
|
|
|
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.
|
|
|
|
Feedback
|
|
========
|
|
|
|
Please send bug reports, suggestions, ideas, comments or patches to :
|
|
|
|
ushare@geexbox.org
|
|
|
|
Known bugs and limitations
|
|
==========================
|
|
|
|
If you need to listen on more than one interface, you will have to start
|
|
multiple instances of the media server.
|
|
|
|
uShare keeps some information on files in memory.
|
|
If your multimedia collection is huge, this might be a problem.
|
|
|
|
Thanks
|
|
======
|
|
|
|
Many thanks to Oskar Liljeblad for its original work on GMediaServer
|
|
(which is much more functionnal in terms of UPnP A/V features that
|
|
uShare will ever be).
|
|
|
|
References
|
|
==========
|
|
|
|
Note that this list of references is not complete.
|
|
|
|
* UPnP(TM) Standards (http://www.upnp.org/standardizeddcps/default.asp)
|
|
|
|
Trademarks
|
|
==========
|
|
|
|
UPnP(TM) is a trademark of the UPnP(TM) Implementers Corporation.
|
|
|
|
-
|