分享

GeeXboX uShare UPnP A/V Media Server HomePage

 dwlinux_gs 2015-03-23

GeeXboX uShare
A free UPnP A/V & DLNA Media Server for Linux

This page is sponsored by Hosting.com and Top Hosting Center, enterprise level web hosting companies
that specializes in business web hosting and cloud server technology.

Contents

top Introduction

uShare is a UPnP (TM) A/V & DLNA 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. 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).

top Latest News

By lack of spare time, motivation and interest, uShare development is currently discontinued (this may change though). Don't expect release anytime soon :-(

Latest release of uShare is 1.1a.

ChangeLog:
  • Support for XboX 360 dashboard Fall Update (.avi and .divx now are supported)
  • DLNA support is not enabled by default, as not mandatory.
  • Some configure script fixes and better support for cross-compilation.
  • Fixed network interface discovery on MacOSX.
  • Much more complete DLNA support through external libdlna.
  • Telnet Control interface.
  • Support for FLAC and HDMOV files.
  • FreeBSD 64bit and MacOSX build fix.
  • Newly written configure script.

top Copyright and License

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.

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

The following DLNA library is required for proper DLNA support:

libdlna, 0.2.3.
The libdlna library is used to provides DLNA profiles informations. libdlna can be downloaded from http://libdlna./.

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

Example :

CFLAGS="-Os" ./configure --prefix=/usr
make
If you want to enable DLNA support, run:
      ./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.

top Usage

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
uShare runs from the console only. It supports the usual --help option which displays usage and option information.
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 (default is './')
   -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 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
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

top 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, hdmov
  • 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, flac
  • Images 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.

top Download

The currently available uShare release is 1.1a.
Sources can be downloaded here.

Fedora Package
If you're using Fedora FC4 GNU/Linux distribution, you can also grab the binary for i386.
Development Tree
The latest uShare development tree can be grabbed using Mercurial, a revision control system, similar in purpose to tools such as CVS, SCCS, and Subversion. It is used to keep track of the changes made to a source tree and to help programmers combine and otherwise manipulate changes made by multiple people or at different times.

There are currently 2 ways of accessing the Mercurial tree: via command-line or web interface (to just have a look to some changes on a specific file, for example). You can directly access to the web interface with your browser from:

uShare Mercurial

In order to access to Mercurial via command line, create and enter a new directory and do the following (be sure that you have installed the mercurial package).
  • To get a local copy of the uShare's Mercurial repository :
    hg clone http://hg./ushare
  • To update your local copy of the Mercurial, synchronizing with our server :
    hg pull --update
Old Releases
Old releases of uShare can be found on our releases depository.

top Feedback

The author of uShare and this document, Benjamin Zores, can be contacted by e-mail.

Please send bug reports, suggestions, ideas, comments or patches to : ushare@.

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

DLNA implementation is not yet complete or perfect. Some files may not be streamed or recognized. The specifications themselves are pretty weak in terms of files support and thus, it's possible you won't ever be able to stream your files, even with a perfect implementation.

top Press

Below are a few press articles were uShare has been mentionned:

top Links

Below is a short list of UPnP related software :
  • djmount : a software using FUSE to mount UPnP A/V Media Servers content as a Linux filesystem.
  • GMediaServer : the original Media Server on which uShare was based.
  • libdlna : the DLNA specifications implementation library used by uShare.
  • GeeXboX : the Linux multimedia distribution that uses djmount to provide access to UPnP contents.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多