UPnP Sharing

UPnP media sharing is an extremely easy method of sharing your media (pictures/video/audio) on your network as it features automatic-discovery and does not require any configuration.

UPnP introduction
UPnP (short for "Universal Plug and Play") is a set of computer network protocols from the UPnP Forum. The goals of UPnP are to allow UPnP devices on a network to detect each other and connect seamlessly, without the need for manual configuration on the users end, and then be able to share/stream data (usually video and audio files). For a more detailed explaination on the inner working of UPnP please read the "Developers notes on UPnP" section at the end of this article. There are three main types of UPnP AV (Audio/Video) device control protocols (also called profiles); there is the "UPnP AV MediaServer" which sole purpose is to share content, and there rhe "UPnP AV MediaRenderer" which render content to exposes an interface to control the playback, and then there is the "UPnP AV MediaServer ControlPoint" which can detect/find "UPnP AV MediaServer" and browse them to read media/data from them. A DMP (Digital Media Player) like XBMC typically only implements the "UPnP AV MediaServer ControlPoint" device profile.

UPnP in XBMC
XBMC has (since the 10th of July 2006) a built-in UPnP-client (a so called "UPnP AV MediaServer ControlPoint" device) which can auto-detect any UPnP-server (a so called "UPnP AV MediaServer" device) on your local-network as long as that UPnP-server is not behind a firewall/router or you have opened the ports needed for UPnP in your firewall/router. XBMC also have a built-in UPnP-server (since the 24th of January 2007) which enables you to share your video/picture/audio files to all XBMC Xboxes on your local-network. XBMC's built-in UPnP-server can also stream those same video/picture/audio files to other UPnP-clients ("UPnP AV MediaServer ControlPoint" devices), however since the Xbox (XDK) does not support multicast those other UPnP-clients must support recieving broadcasts or they will not be able to auto-detect XBMC's UPnP-server, (but those UPnP-clients that do not support broadcast discovery of UPnP-servers might still be able to stream from XBMC's UPnP-server if they support manual entering of the IP-address that your Xbox with XBMC is using).

DLNA compliance in XBMC
XBMC built-in UPnP-server and UPnP-client are (since the 25th of September 2007) compatible with DLNA CERTIFIED™ devices. DLNA certificate guidelines are goverened by the DIGITAL LIVING NETWORK ALLIANCE. Right now, there are two classes of DLNA CERTIFIED™ devices: Digital Media Servers (DMS) and Digital Media Players (DMP). Player devices (DMP) can find and play or display the content that is shared on your network by server devices (DMS). Some examples of DMP products are TV monitors, stereo systems, home theaters, printers, personal digital assistants, multimedia mobile phones, wireless monitors and game consoles. Server devices (DMS) can record and store media content, and share this on the network - where this is allowed by content protection rules. Some examples of DMS products are advanced set-top boxes, digital video recorders, PCs and laptops, stereo and home theaters with hard disk drives (for example, music servers), broadcast tuners, video and imaging capture devices such as cameras and camcorders, and multimedia mobile phones. But the DLNA guidelines are very flexible. Some devices offer rich user interfaces and some do not. With some server devices you can also manage your media collection or manage other devices on the network. Some server devices can also be player devices: a computer can for exable both share and also play its content, same goes with XBMC.

Compatible UPnP MediaServers (UPnP-servers)
UPnP AV MediaServers (UPnP-servers) is where you store and share your media (pictures/videos/audio/music) files from. There are UPnP MediaServers available for most operating-systems and many hardware-platforms, and those UPnP AV MediaServers can be either be categorized as 'software-based' or 'hardware-based'. Software-based MediaServers can be run on PC (personal-computer), mainly on Win32, Linux, BSD, Unix or Mac operating-systems platforms. And, hardware-based MediaServers may run on any NAS (Network Attached Storage) or any specific hardware designed for delivering media, like for example a PVR (Personal Video Recorder) or DVR (Digital Video Recorder) set-top box. Currently, there are more software-based MediaServers than hardware-based, but chances are that will change in the near future as UPnP becomes a more popular standard for network connectivity.

UPnP MediaServer software

 * Feel free to add any tested UPnP AV MediaServer (UPnP-server) software compatible with XBMC to this list.
 * More untested UPnP-servers can be found here => http://en.wikipedia.org/wiki/UPnP_AV_MediaServers

Free UPnP MediaServers

 * XBMC Media Center (Linux/Mac/Windows), XBMC builds have since the 24th of January 2007 had a built-in UPnP MediaServer.
 * Windows Media Connect, Microsoft's free closed source UPnP MediaServer for Windows.
 * Windows Media Player 11, Microsoft's WMP version 11 for Windows has a built-in closed source UPnP MediaServer
 * TVersity, a free closed source UPnP AV Media Server for Windows, (also features nice on-the-fly transcoding funcationlity and can share internet audio/video contents too).
 * Allegro Media Server (AMS), a free closed source UPnP MediaServer for Windows and Macintosh, (can interface with the third-party application iTunes, and work as plugin to give iTunes a UPnP-server). It is a time-limited demo, registration is $39.95.
 * Philips Media Manager (Streamium), a free closed source UPnP MediaServer for Windows and Macintosh. Note: The Macintosh version has been in beta since 2004 and downloads an update hidden in %user/.Philips/MediaManager/updates/3.1.4.0000.exe which should be renamed to 3.1.4.0000.dmg and mounted. It will also constantly request to download the update. (from Streamium OSX support forum)
 * GeeXboX ushare, a free open source UPnP MediaServer for Linux and NSLU2.
 * GMediaServer, a free open source UPnP MediaServer for Linux.
 * MediaTomb, a free open source UPnP MediaServer for Linux.
 * CyberMediaGate, a free open source UPnP MediaServer for Windows/Macintosh/Linux/UNIX, (reference implementation of UPnP MediaServer integrates into MythTV PVR for Linux)
 * PyMedS, a free open source Python UPnP MediaServer for Windows/Macintosh/Linux/UNIX.
 * Cidero Internet Radio Server, a free open source Java UPnP MediaServer for Windows/Macintosh/Linux/UNIX (Internet Radio Server only, SHOUTcast by default).
 * Platinum UPnP SDK, a dual license open source/commercial UPnP Media Control/Renderer/Server SDK for Windows, Linux, Mac. This is what XBMC uses.
 * Coherence, a free UPnP/DLNA MediaServer written in Python.

Commercial UPnP MediaServers

 * TwonkyMedia, by TwonkyVision, a commercial UPnP Media Server for Windows and Linux, (can interface with the third-party applications iTunes, WinAmp, and Adobe Photoshop Album, and work as plugin to give those applications UPnP-server function), it can even run as a background service on Windows.
 * On2Share, a commercial UPnP MediaServer plugin for MCE (Microsoft XP Windows Media Center Edition).
 * SnapStream BTV/BeyondTV, a commercial Media Control/Renderer/Server and PVR for Windows.
 * Nero MediaHome (part of Nero Premium), a commercial Media Control/Renderer/Server for Windows, (also features nice on-the-fly transcoding functionality and media organizing).
 * Cyberlink PowerCinema, a commercial Media Control/Renderer/Server for Windows, (also features nice media organizing functionality).
 * MusicMatch, a commercial MediaServer UPnP MediaServer (and music-player) for Windows, (also features nice media organizing functionality).
 * Elgato AV Media Streaming Server, a commercial UPnP MediaServer plugin for EyeTV (Elgato PVR software for Macintosh), (also features nice media organizing functionality).
 * AwoX, provides a family of commercial UPnP products and solutions.
 * PlayOn (by MediaMall), a UPnP MediaServer with built-in transcoder which enable you to watch Internet video from services and websites including Netflix, Hulu, CBS, ESPN and many more. (PlayOn is still Beta but a fully featured release is coming soon).

UPnP MediaServer hardware

 * NSLU2, a hacked/modded version running ushare (a free open source UPnP MediaServer for Linux), (connect USB 2.0 drives to the NSLU2 and share).
 * D-Link DSM-G600 wireless storage enclosure, (connect USB 2.0 drives to the NSLU2 and share).
 * Maxtor Shared Storage Family.
 * D-Link DSM-602H 20GB Central Home Drive.
 * Buffalo Media Server.
 * Netgear ReadyNAS Duo, (features room for 2 internal hot swapable SATA-drives, supports RAID-0/1 (Xraid) )
 * Infrant ReadyNAS X6/600, (features room for four internal IDE/ATA-drives, supports RAID-0/1/5)
 * Synology NAS stations.

UPnP MediaServer software and hardware not compatible with XBMC

 * Sonos Zone Player, Sonus Zone Player is a UPnP MediaServer which can't play it's content on any non-sonos device, (it uses some propritory protocol to stream audio).
 * Rhapsody, by RealNetworks, a commercial UPnP MediaServer for Win/Mac, (Rhapsody uses a proprietary encrypted secure connection).
 * Slimserver: a free open source MediaServer from Slim Devices for Windows, Linux and Mac OSX. Can see UPnP servers, but is not one itself.

Compatible UPnP ControlPoints and Media-Players (UPnP-clients)
XBMC have (since the 24th of January 2007) a built-in UPnP MediaServer (UPnP-server) which though only designed and meant to share your video/picture/audio files to other XBMC Xboxes, also enables you to share those same media files to other compatible UPnP-clients ("UPnP AV MediaServer ControlPoint" devices) and Digital Media Players (DMP) that have built-in UPnP-client and are located on your local-network. Note however since the Xbox (XDK) does not support multicast those other UPnP-clients must support recieving broadcasts or they will not be able to auto-detect XBMC's UPnP-server, (but those UPnP-clients that do not support broadcast discovery of UPnP-servers might still be able to stream from XBMC's UPnP-server if they support manual entering of the IP-address that your Xbox with XBMC is using. This is a list of tested and compatible UPnP-clients that can stream from XBMC's built-in UPnP-server, this list is meant to contain the information about if it can auto-detect XBMC's UPnP-server on a local-network or if it is otherwise possible to manually enter the IP-address that your Xbox with XBMC to that is can stream from it that way, also what type of media the device support (video/audio/pictures/data). Please also feel free to add UPnP-clients that are not compatible with XBMC's built-in UPnP-server under the "UPnP software and hardware clients/players not compatible with XBMC" section. Note that UPnP clients/players can be either be categorized as 'software-based' or 'hardware-based'. Software-based clients/players can be run on PC (personal-computer), mainly on Win32, Linux, BSD, Unix or Mac operating-system platforms. And, hardware-based clients/players may be a standalone set-top DMP (Digital Media Player) boxes or any specific hardware designed to stream/play media from a UPnP-server, like for example a PVR (Personal Video Recorder) box.

UPnP client/player software

 * Feel free to add any tested UPnP-client software (or software player with built-in UPnP-client) compatible with XBMC.
 * When adding a compatible client/player please add information about if auto-detection do not work and type of media supported.
 * More untested UPnP-clients can be found here => http://en.wikipedia.org/wiki/Upnp#UPnP_AV_Clients

Free UPnP client/player software

 * XBMC Media Center (Linux/Mac/Windows/Xbox), XBMC has since the 10th of July 2006 had a built-in UPnP-client.
 * djmount (Linux)

Commercial UPnP client/player software

 * InterVideo WinDVD 8 Platinum, a commercial DVD and video-playback software for Windows.
 * Nero Showtime All round commercial media player with built in UPnP Client. Compatible with XBMC UPnP Server.
 * On2Share UPnP plug-in a commercial UPnP-client plugin for Winamp [music player] and Windows Media Player [music and video player] on Windows.

UPnP client/player hardware
Please feel free to add any tested UPnP-client hardware (or hardware player with built-in UPnP-client) compatible with XBMC. When adding a compatible client/player please add information about if auto-detection do not work and type of media supported.
 * Pinnacle Soundbridge Radio, a Wi-Fi music player which features audio playback from UPnP MediaServers.
 * PlayStation 3 (PS3), a game-console (from Sony) which features basic multimedia playback from UPnP MediaServers.
 * Roku Soundbridge Radio, a Wi-Fi music player which features audio playback from UPnP MediaServers.
 * Sonos ZonePlayer, UPnP MediaServer can share to all Sonus ZonePlayer audio players.
 * Xbox 360, a game-console (from Microsoft) which features basic multimedia playback from UPnP MediaServers.

UPnP software and hardware clients/players not compatible with XBMC

 * Feel free to add any tested UPnP-client (or player with built-in UPnP-client) that is not compatible with XBMC.
 * Please note that if auto-detection is not possible you must check if it is possible to enter the IP-address manually.
 * Also note down at exacly what date/time you tested this last and the type of problem(s) you encountered.

Setting up UPnP Shares in XBMC
Configuring UPnP shares in XBMC is as easy as setting up any other type of share. First you need to activate XBMC's UPnP-client with "Enable UPnP Client" from the network section under settings in XBMC GUI. Then you simply add one or more UPnP shares via the "Add Source" function with the context-menu (white-button on your controller or the info button on the remote) in XBMC GUI under each of the the My Pictures/My Videos/My Music sections, (just like how you add SMB/Samba and XBMSP/XBMS) shares.

In this example, we are going to add the Music folder shared above to My Music, although you can use the exact same procedure to add a share to My Videos or My Pictures:

Installing and Configuring Windows Media Connect on your PC
This step-by-step tutorial will walk you through the installation and setup of Windows Media Connect, a free UPnP MediaServer for Windows. In order to use this option, you need to have the following:
 * An XBMC build newer than 10 July 2006
 * Windows Media Connect from Microsoft, available here or here.

The first step is to download and install Windows Media Connect on your computer. This easy-to-use software allows you to share media (pictures, videos, music/audio) on your PC using the UPnP protocol, which is also supported by many stand-alone network players.

[UNDERCONSTRUCTION] Vista (or WINXP) + Windows Media Player 11 Configuration
Windows Media Player 11

''The new Media Sharing feature of Windows Media Player 11 lets you enjoy the contents of your Windows Media Player library from anywhere in your home. If you have a home network (wired or wireless), you can use Windows Media Player 11 to stream the contents of your library to networked devices. For example, if you have an Xbox 360 or other digital media receiver (DMR), you can use Windows Media Player to stream music and pictures from your computer to that device. This even works with music that you've downloaded from PlaysForSure music stores and services. For more information, see Digital Media at Home.''

Steps

This is very very very simple, if you can't get this working please put your vista computer back in the box and send it back to the company it came from.

1.) Open Windows Media Player 11 (WMP11) If this is a fresh install configure the settings etc then bring the main WMP11 window up. also on a fresh install it will auto bring up a box that asks you to add media but if you skipped this step heres how to manually proceed.

2.) click the library tab

3.) click the library tab yet again and then click add media

4.) Click "Advanced Options >>"

Developers notes on UPnP
UPnP (Universal Plug and Play) is a set of royalty-free computer network protocols from the UPnP Forum. UPnP is built upon open, internet-based communication standards such as SSDP, HTTP, XML, SOAP, etc. (which means that any developer/programmer can make a device or software for any operating-system/platform in any program-language by following the UPnP standards and it should automaticly be compatible with all other UPnP devices). UPnP achieves this by defining and publishing UPnP device control protocols (also called profiles). One profile called UPnP Gateway is what routers implements to let computers automatically discover them or even control them by opening/closing ports on a firewall for example. Another profile which is not to be confused with the previous one is UPnP AV (for audio/video) which defines a set of functionalities to share/control and render content on a local-network. There are typically three types of devices in UPnP AV (Audio/Video); a MediaServer which is a 'slave' device which sole purpose is to share content, a MediaRenderer which is a 'slave' device that can render content, and a UPnP MediaServer ControlPoint which is the 'master' that can detect/find UPnP MediaServers and control them (browse). UPnP MediaServers ControlPoint is not an actual UPnP device as it cannot be detected by other UPnP devices. A UPnP MediaRenderer ControlPoint is the 'master' that can detect/find and control UPnP MediaRenderers. A DMP (Digital Media Player) like XBMC typically only implements a UPnP MediaServer ControlPoint.

If you are a C/C++ programmer and like to make a UPnP MediaServer (or if you wish to add new UPnP features to XBMC) then we recommend you checkout the Platinum UPnP SDK, available on SourceForge.net. Platinum UPnP SDK is a free and open source software development kit that lets you easily create a UPnP MediaServer, MediaRenderer or Contol Point, it also happens to be that it is from this SDK that XBMC got its UPnP client and server code from, (XBMC's UPnP MediaServer Control Point and MediaServer code was also firstly implemented into XBMC by the author of the Platinum UPnP SDK, Sylvain a.k.a. c0diq). You should also visit the official UPnP™ Forum and read the published white-papers on UPnP. Other good links for developers can be found at the bottom of the UPnP article on Wikipedia, an article which also will give you a good overview about what UPnP is about.

The UPnP™ Forum is promoting UPnP as the future of networked entertainment and are leading the way to an interconnected lifestyle. The UPnP™ Forum currently consists of over 800 members (consisting of vendors, industry leaders in consumer electronics, computing, home automation, home security, appliances, printing, photography, computer networking, and mobile products), including international companies such as; Microsoft, Intel, AMD, Adobe, Belkin, Cisco, LinkSys, D-Link, 3com, Fujitsu, IBM, NEC, RealNetworks, ReplayTV, ...and many, many more huge coperations. Membership of the UPnP™ Forum is free, and using/implemeting UPnP technology is royalty-free.

Much information about UPnP compatibility can be found on the Digital Living Network Alliance (DLNA) website. DLNA is a specification that allows the sharing of music, photo, and video files over the home network, between different consumer electronics and PC products.. The DLNA promotion group are like the UPnP™ Forum made from consists of vendors, industry leaders in consumer electronics, etc. Their goal make sure different UPnP devices work together without problems or complications, they feature a "DLNA CERTIFIED™" certificate for products that have passed their interoperability testing standards, which includes guidelines that should be followed when making a UPnP device. Membership of DLNA is also free.

PS! Feature request to any willing developers out there; if "UPnP Remote User Interface (UPnP RUI) Client" support could be added in XBMC, then XBMC could control UPnP MediaServers which also has a "UPnP Remote User Interface Server" such as HTPC applications like SnapStream BeyondTV (and possible MediaPortal in the future) and other PVR softwares/devices supports, (to control functions and commands such as record, schedule, play, pay, stop, fast-forward, etc.)