Accessing to UPnP Contents
From GeeXboX wiki
What is UPnP
UPnP stands for Universal Plug & Play and is a network protocol aiming at providing the autodiscovery of devices and services of your Home Network. The UPnP A/V (for Audio/Video) norms defines several profiles for devices to easily share multimedia files and lets them being played. The UPnP Media Server profiles represent all of the devices that are able to share files to devices implementing the UPnP Media Player or UPnP Media Renderer profiles.
All discovery and advertisement messages are multicasted to the network using the XML/SOAP protocol over HTTP. All data (like file transfers) are easily done through the HTTP protocol, as UPnP Media Servers are simply no more than HTTP Web Server and UPnP Media Players are HTTP Web Client.
For more information about the UPnP standard and profiles, please refer to the UPnP Consortium web site here.
Accessing to UPnP Media Servers with GeeXboX
GeeXboX uses a different approach than the one above to access to the shares of UPnP Media Servers. The GeeXboX embeds a UPnP Control Point software that is able to auto-discover all UPnP Media Servers from your Home network and it simply mounts their contents to a dedicated mount point (/mnt/UPnP) on your system.
Thus, we do not have to add any UPnP related extension to MPlayer to play such shared files. All Media Servers contents will be seen in the GeeXboX Open menu as local files (or as if they were shared through Samba or NFS), meaning a total transparency for the end-user.
The UPnP Control Point that has been chosen to discover and mount UPnP Media Servers contents is djmount ([1]), a software written by Rémi Turboult that is using FUSE to mount UPnP Media Servers contents in userland.
UPnP Media Servers and Content Sharing
In order to share contents to your GeeXboX through UPnP you need a UPnP Media Server compliant device or software.
More and more companies are selling embedded NAS devices that already are UPnP compliant and so, that should theorically be automatically seen and shared through GeeXboX.
You can also use some piece of software that contains a UPnP A/V stack in order to share files from your computer through the UPnP protocol.
Here is a short list of software that have been tested to work with GeeXboX :
- Windows Media Connect (WMC) for Windows XP systems.
- Ahead Nero MediaHome (NMH) for Windows XP systems.
- TVersity Media Server (for Windows XP/2k/2003/64 systems - FREE).
- TwonkyVision MusicServer++ (for Windows, Linux, MAC OS X and other systems, only shares Audio files - FREE).
- TwonkyVision MediaServer (for Windows, Linux, MAC OS X and other systems, shares Audio, Video, Picture files - Currently €15.00).
- GeeXboX uShare (for Linux systems, our free UPnP Media Server implementation).
- GMediaServer (for Linux systems, shares only Audio files).
- MediaTomb (for Linux systems, shares Audio and Video files).
Sharing Contents with Microsoft Windows Media Connect (WMC)
Windows Media Connect (WMC) is a software providing by Microsoft that can be used by Windows users to easily share files from their hard disk to other UPnP A/V devices.
Please note that Windows Media Connect requires the Microsoft Windows XP Service Pack 2 (SP2) and the .NET FrameWork 1.1.
It has a support for an extra authentication level that lets you define which devices you're granting access to your files.
When starting WMC for the first time, you shouldn't have any authorized UPnP devices and thus, should have a completely blank devices list page, as shown below.
Then, simply click on the Add button to select the available UPnP devices.
Boot up GeeXboX and you will see a new device appear in the list.
As GeeXboX is only a Control Point, it doesn't have a name, so it will only appear as Device X.
The only way to distinguish which device it is, is by looking at its MAC address.
Once the device has been identified, simply validate it to authorize its access.
You only have to do this once, as the authorized MAC address will be saved for future usage.
Then, the device has been added to the main authorized devices list. You can then see it's activated, and you can even rename it to what you want.
You can also define which files you want to share to other UPnP devices.
Simply note that WMC doesn't keep the locations as it but do a conglomerate of all your share locations and files and sort them virtual directories, by type.
And of course, you can add new share location using the Add button.
And finally, you can edit the few WMC Settings, to automatically start it as a service at Windows startup, that way, your files will always be accessible to GeeXboX.
That's it, you've done with configuring WMC. You're now able to access to all of your computer's shared files through GeeXboX.
Sharing Content with Ahead Nero MediaHome Server (NMH)
The Ahead company, responsible for its Nero Suite has released one great UPnP Media Server software (a way better than WMC is) than is naturally compliant with GeeXboX. It's overall advantage is to be able to share much more files formats than WMC does but it also supports file transcoding using the NeroRecode API. It also let you access to remote contents and lets you share through UPnP Samba shares from another computer (a thing so stupid and easy to do that WMC does not). You do not have to declare which devices from your home network are authorized to access to UPnP contents though.
You can get Nero Media Home there.
The first thing then, when starting it up is to declare the locations you wan t to share through UPnP.
Note that you can also define which kind of files are shareable. The drawback is that you can only share supported files, which unfortunately does not include OGM or MKV files.
There comes the settings menu.
There you can define whether or not you want NMH to be started as a service at Windows startup but can also decide if you want to share all files extension (even the one you didn't wanted to share in normal way).
There comes the newtok menu.
It lets you define the name under which the NMH server will be displayed under GeeXboX. You can also determine on which port you want the server to run. You may want/need to fix it to some specifically determined port in case you're using a firewall on your LAN (do not forget to accept incoming connections on that port number then). You can also define on which interfaces, the UPnP server will be accessible.
Now comes the WebServices menus.
This menu lets you decide whether or not you want to provide access to remote (Internet) contents to your home network using NMH as a Web proxy. It should be useless if you have a working network setting on GeeXboX, that should already be able to access to Internet contents then.
Now comes the transcoding menu, which can be really usefull in many situations.
Using this menu, you can force the transcoding of files (whatever their type or codec) into another one, to be specified. Theorically, GeeXboX is able to read much more audio/video formats than Nero does. But lets suppose you're using an old computer as GeeXboX. Using the transcoding (which will require much CPU) on your Windows XP main computer, and converting the high CPU consumer files in real time to a less CPU dependant codec (like MPEG 1 or 2), you can have a silent powerless GeeXboX computer reading new HD videos.
At last comes the status menu.
There you can see the activity of the files accessed and transfered. That's it for NHM, hope you'll enjoy. Oh by the way, don't forget to click on the Start Server button to share files through UPnP :-)
Sharing Contents with TwonkyVision Music Server
TwonkyVision is another company that provide a UPnP Media Server. They provide 2 kind of Media Server :
- Music Server which can be downloaded for free (but it is _NOT_ a free software, so you won't have the sources). It's advantage is to be costless, so you try it before you buy it. It's also available for a lot of platforms, including Windows, Linux, MacOSX, but is also available for embedded systems like the Linksys NSLU2, the KuroBox and many other NAS embedded devices. See the TwonkyVision website for more details ([2]). It's main drawback is that it only share Audio files and absolutely not Video files.
Sharing contents through TwonkyVision MusicServer is pretty easy to do :
./musicserver -friendlyname "Music Server" -contentdir /shares
That would simply start the server which will be displayed under GeeXboX as "Music Server" and will share all files included in the /shares directory and subdirectories.
- Media Server which is the upper version of Music Server and that can share much more files including the Video ones. It's drawback is that you have to buy it (but prices are cheap).
Sharing Contents with GeeXboX uShare
Last but not least, the GeeXboX team of course also provide to its user a UPnP A/V Media Server that can share all multimedia file formats recognized by the GeeXboX distribution. It has been designed to be working on Linux and only has been tested n x86 systems. It may be portable to other kind of CPU or UNIX systems.
It can be downloaded from its dedicated home page, or see the uShare wiki
Sharing contents through uShare is kinda easy :
ushare -c /path/to/content/directory













