UPnP (Universal Plug and Play) support
#1
Posting this suggestion for "UPnP support (Universal Plug and Play)" here for reference and open discussion.
More specificaly the UPnP AV (UPnP = Universal Plug and Play Protocol, and AV = Audio/Video) services.
Note! No one on Team-XBMC is currently planning on coding this so it's an available to any programmer(s).


UPnP standard is a collection of connectivity and communication protocols, these are UPnP AV:
- UPnP MediaServer DCP - the UPnP-server that share multimedia data-files to UPnP-clients on the network.
- UPnP MediaServer ControlPoint - UPnP-client, auto-detects UPnP-servers and browse/stream from them.
- UPnP Remote User Interface (RUI) - Client (sends) and server (recieves) remote control-commands.
- UPnP MediaRenderer DCP - which is a 'slave' device that can render content, (digital audio/video player).
- UPnP RenderingControl DCP - control MediaRenderer settings; volume, brightness, RGB, sharpness...).

Personaly I really like to see UPnP MediaServer and RUI server support in MediaPortal because then a UPnP MediaServer ControlPoint and RUI client could be implemented into XBMC (Xbox Media Center) and thus XBMC will be able to auto-detect MediaPortal 'servers' on the network to stream from them and control MediaPortal remotly over the network via the XBMC GUI (to send command such as record, schedule, play, stop, change channel) and thus be able to function as a front-end for MediaPortal, (you could then have one MediaPortal PC function as a back-end hub and have several Xboxes in the house which could control MediaPortal from each one of them). Of course XBMC is not the only thing that would benifit from UPnP MediaServer and Remote UI support in MediaPortal, but because UPnP is an open standard anyone who add MediaServer ControlPoint to their application or device would in theory be able to stream audio/video/pictures from MediaPortal, and you could for example make a small application (with a RUI client) for PDA or TabletPC that simply functions as a remote control for MediaPortal, (and that application would also be compatible with other UPnP devices that feature a RUI server-side.

Some "About" information on UPnP (Universial Plug'n'Play), for developers and end-users alike:
UPnP (Universial Plug and 'Play) looks set to be the default standard among media-share network-protocols of the future, it's an open and free spec/format developed by the Digital Living Network Alliance (DLNA), (Formely: Digital Home Working Group). Those who are familiar with Apple's Bonjour/ZeroConf (formely: Rendezvous) protocol will understand the basic concept of UPnP as it works in a very similar way from the end-users point-of-view, however UPnP is designed to compete with Bonjour/ZeroConf, and UPnP is much more aimed from the start to be an open community project. Basicaly the MediaServer ControlPoint and MediaRenderer is the network-client (and digital-media-player) which will automaticly detect/find all UPnP-MediaServers on the local-network through multicast/broadcast and you can then stream audio/video/pictures from them, (UPnP can also be used over the internet if a "UPnP Internet Gateway Device" is implemented too). Then is also RUI (Remote User Interface) part which can be implemented into both the client and the server, when RUI is supported by both the client can fully control the server, (and act like a remote-control device). Because UPnP is an fre and open standard a UPnP-client can auto-detect and stream from all UPnP-servers without any configuration/settings have to be made by the end-user, plus any software of hardware developer can implement the UPnP standard into their application/device. Philips/Sony has already revieled UPnP standalone set-on-top-boxes, D-Link has unvieled a UPnP-enabled "Central Home Storage Drive", and on the software side latest MusicMatch, also SnapStream's BTV and even Microsoft's Media Center Extenders feature UPnP support. So far the UPnP forums has over 40 members, (among them giants like Intel, AMD, Microsoft, IBM, HP, DELL, Sony, Nokia, Samsung, Panasonic).

For a more detailed overview on the basic concept behind UPnP I recommend you read this:
"UPnP (Universal Plug and Play)" Article on Wikipedia (link)".

Quote:What are the benefits of UPnPâ„¢ technology?

* Media and device independence. UPnPâ„¢ technology can run on any medium including phone line, power line, Ethernet, RF, wireless, and 1394.
* Platform independence. Vendors use any operating system and any programming language to build UPnPâ„¢ products.
* Internet-based technologies. UPnPâ„¢ technology is built upon IP, TCP, UDP, HTTP, and XML, among others.
* UI Control. UPnPâ„¢ architecture enables vendor control over device user interface and interaction using the browser.
* Programmatic control. UPnPâ„¢ architecture also enables conventional application programmatic control.
* Common base protocols. Vendors agree on base protocol sets on a per-device basis.
* Extendable. Each UPnPâ„¢ product can have value-added services layered on top of the basic device architecture by the individual manufacturers.

Official UPnP websites (with free specs, source code, samples and SDK's):
www.upnp.org and DLNA (Digital Living Network Alliance)

Documentation:
http://www.upnp.org/standardizeddcps/mediaserver.asp
http://www.upnp.org/standardizeddcps/remoteui.asp
http://www.upnp.org/download/MediaRenderer%201.0.pdf
http://www.upnp.org/download/RenderingCo....prtad.pdf
DLNA Home Networked Device Interoperability Guidelines v1.0 PDF
DLNA Overview and Vision White Paper (PDF)
DLNA Use Case Scenarios White Paper (PDF)
http://www.intel.com/technology/upnp/index.htm
http://www.intel.com/technology/UPnP/tutorial.htm
Universal Plug and Play in Windows XP (Microsoft TechNet)
Description of Universal Plug and Play Features in Windows XP (MSDN)
Hosting Devices on Windows XP Using Universal Plug and Play (MSDN)

Other resourses: source code exampels, full applications and more:
UPnP official specs, source and SDK's (it's free): www.upnp.org/www.upnp.com
Intel's UPnP SDK/toolset (donno if open source?, but it's free to use for non-commercial software): http://developer.intel.com/ial/upnp/
CyberLink for C++ http://sourceforge.net/projects/clinkcc/
Yet Another UPnP Control Point http://sourceforge.net/projects/upnp2k/
UPnP SDK for Linux http://sourceforge.net/projects/upnp/
Linux UPnP Internet Gateway Device http://sourceforge.net/projects/linux-igd/
Linux UPNP Internet Gateway http://sourceforge.net/projects/ligd/
SharpIGD (Internet Gateway Device) http://sourceforge.net/projects/sharp-igd/
openIGD (Internet Gateway Device) http://sourceforge.net/projects/openigd/
Pseudo ICS daemon http://sourceforge.net/projects/pseudoicsd/
ESDP for Linux (UPnP over Bluetooth) http://sourceforge.net/projects/esdp4linux/
igd (Internet Gateway Device) http://sourceforge.net/projects/igd/
ReplayTV Remote Control http://sourceforge.net/projects/replaytvremote/[/quote]
Reply
#2
hi:

this kinda jives with a question which i posted about musicmatch streaming. i hope that this comes to fruition. i would be willing to betatest anytime.

thanks,

wayne
Reply
#3
hi there,

i am new to the xbox, this forum and the the whole world of networked home enterainment. while reading through some forums i came across upnp, which helps to automate the configuration of entertainment sinks and sources in a home network.

here is my question now: wouldn't it be a cool feature for the xbmc to support upnp and thus connect to various media server already available in the network?

any thoughts on this idea?

best regards,

kl-xbox
Reply
#4
Exclamation 
developers interesting is implemeting this should know that the xbox sdk (xdk) does not nativly support multicast which upnp uses,
but there has got to be a way to find a solution for that or at least a workaround, maybe use a wrapper, tunnel or a network sniffer?

ps! a bit off-topic but i heard a rumour snapstream is developing upnp support for a future version of their btv (beyond tv) Wink
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#5
Question 
(gamester17 @ sep. 24 2004,16:28 Wrote:ps! a bit off-topic but i heard a rumour snapstream is developing upnp support for a future version of their btv (beyond tv) Wink
off-topic for end-users, on-topic for devs: fyi, snapstream officialy released beyond tv 3.5 two weeks ago (8th of october 2004),
and this new btv 3.5 version does feature built-in upnp inmpr compliant server, so the rumour were true, another pro-reason for upnp
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#6
hey there Smile

i was wondering whether there's any update / news concerning upnp.. has anyone started an implementation for xbmc?

best regards,
-jb
Reply
#7
Rainbow 
(gafami @ nov. 10 2004,15:01 Wrote:i was wondering whether there's any update / news concerning upnp.. has anyone started an implementation for xbmc?
no sorry, no developer on team-xbmc has yet agreed to look at this, probebly because of multicast making it hard. ...it's open to any other dev
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#8
my brother came up with a nice idea today. we talked about a way to implement a frontend for a htpc software in xbmc and he mentioned "upnp remote ui". this technology seems to be quite new cause i couldn't find any app using it already, but from the short decsription it looks very promising:
Quote:upnp also addresses many of the new usage models of the digital home mentioned earlier. the upnp remote user interface (rui) is a new standard recently released by the upnp forum. remote ui allows for the splitting of core application logic from user interaction, with each implemented on different devices. essentially, remote ui moves the point of user interaction away from an application running on a specific device, such as a pc or a ce (consumer electronic) device, to one or more remote ui devices. the remoteuiclientdevice supplies input and output services such as mouse, keyboard, and display that together comprise the user interface. applications run on a host supporting the remoteuiserverdevice and are matched with compatible remote ui devices.

this said, it might be a nice idea to add pc based features to xbmc (ie kai.. sorry runtime :p).

the advantage of rui is that the client is pretty dumb. it gets a few xml files and pics renders them to the screen and send a url back to the pc (running the app) on action.

what do you think?

more info:
- preview-release intel® nmpr v2.0 device enabling kit
the intel® nmpr v2.0 device enabling kit provides the necessary elements a developer needs to quickly build a high quality, low cost intel nmpr v2.0 interoperable solution. the package extends and improves upon previous releases by providing the most advanced test and development tools available to date. in addition, the package contains upnp a/v and upnp rui conformant intel nmpr v2.0 reference c-stacks for integration into your existing applications, the package also includes the latest version of the intel® device builder tool, a fully functional windows based digital media player (dmp) simulator, a digital media server (dms) simulator, and for the first time ever, a upnp remote ui (rui) application simulator for testing your upnp rui client implementation.

the technology and expertise put into the intel nmpr v2.0 device enabling kit provides tools that may enable product development with time-to-market opportunities, higher performance, and interoperability with other intel nmpr v2.0 validated devices. this preview release is an opportunity to use these new tools and begin early integration of intel nmpr v2.0 stacks into next generation digital home products. intel nmpr v2.0 stacks are developed to conform to the digital living network alliance* home networking interoperability implementation guidelines v1.0.
download: http://www.intel.com/technology/upnp/download.htm

- some docs about rui
http://www.upnp.org/standardizeddcps/remoteui.asp
read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Reply
#9
i know you are pushing upnp support in xbmc for a long time now. Wink
but the remote ui feature isn't mentioned in any of the post (if i didn't miss it). and i think this posible feature adds a new quality to the discussion. Smile
read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Reply
#10
upnp is very interesting, there will be lots a products on the market soon that are completely based on this. but i thought the problem here was that the xbox tcp stack doesn't support multicast, making it impossible on the xbox?
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#11
true, but the xbox supports broadcast. i don't know that much about upnp but shouldn't it be possible with broadcast only too?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#12
Thumbs Up 
(darkie @ nov. 25 2004,20:33 Wrote:true, but the xbox supports broadcast. i don't know that much about upnp but shouldn't it be possible with broadcast only too?
i just like to point out that it is the xdk that doesn't support multicast, the xbox hardware (eg network controller) do support multicast.
so you devs could maybe either choose to use broadcast as a workaround or alternativly try implement (hack?) real multicast into xbmc?
(...to draw a paralell; the xdk doesn't support iso9660 either but that did not stop you guys from implementing it into xbmc Wink )
ps! personly i think that if you could use broadcast as a workaround just to initialy get upnp working on xbox then that would be great!

source code that could be of help for 'broadcast' implementation on xbox:
http://sourceforge.net/projects/mdnsproxyd/

source code that could be of help for 'multicast' implementation on xbox:
http://sourceforge.net/projects/mc-mint/
http://sourceforge.net/projects/pnet6/
http://sourceforge.net/projects/asmssm/
http://sourceforge.net/projects/simcast/
http://sourceforge.net/projects/mbootp/
http://sourceforge.net/projects/mrp/
http://sourceforge.net/projects/gpfelert/
http://sourceforge.net/projects/mtrace/
http://sourceforge.net/projects/openmdns/
http://sourceforge.net/projects/multicaster/
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#13
okay, i have been reading up a bit, and have found that there are already tons of upnp media servers out there. beyond tv, windows media connect, and cybermediagate to name a few.

what would be ideal is if we can turn the xbox into a upnp compliant device. maybe implement the upnp media renderer 1.0 standards. then we can take our pic of what program/device we want to have stream content to it.

there are already a couple sdk's out there including intel's authoring tools which are made for vc++ 7.0 and visual studio .net.

i also dont think the multicasting will be an issue. upnp is designed to communicate through many different protocols.

anyway, i havent programmed with c++ in at least 4 years, and am not really familiar with the vs.net ide, but i am going to see what i can do. i hope once dvd playback is finished, this will get some more attention.
Reply
#14
(frodo @ dec. 30 2004,12:20 Wrote:microsoft has released windows media connect. this free piece of software turns xp into a fullblown upnp-server. you can share any media to any digital media receiver and xp will stream it upon request to the receivers. this means that mp doesn't have to be modded for upnp, since now xp can all handle this:-)

so when xbmc is capable of upnp then we can close this this issue?

frodo
quote from windows media connect faq: "windows media connect uses the http and upnp protocols, devices that support standard implementations of these protocols should be compatible with windows media connect." if that is true then i guess the xbmc devs should now be able to implement upnp in xbmc and use with mediaportal if that now supports windows media connect, ...though i doubt that windows media connect by default contain all the remote control features that xbmc will require to fully control pvr/dvr mediaportal functions(?), my guess is that mediaportal devs first need to enable/implement those before xbmc can use that part of upnp(?), maybe those are available in the windows media connect sdk or tools?, hopefully the mediaportal and xbmc devs have or can get more insight into that

more on microsoft windows media connect:
windows media connection - introduction
how to build a network device compatible with windows media connect (white paper)
windows media connect: device ui design recommendations (white paper)
windows media connect faq
microsoft playsforsure website
playsforsure starter (sdk, tools, specs and resources
windows media connect end-user download for windows xp

Quote:protocol                                                 port
transmission control protocol (tcp)          10243
user datagram protocol (udp)                  10280
universal plug and play (upnp) udp          1900
upnp tcp                                              2869
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#15
a user of mediaportal (http://mediaportal.sourceforge.com) has developed a upnp stack and plugin for mediaportal.

link for upnp plug-in for mediaportal

if a xbmc dev could make a upnp plug-in for xbmc happen we could have some sweet integration possibilities!

any code gurus willing to take this one on?
I'm not an expert but I play one at work.
Reply

Logout Mark Read Team Forum Stats Members Help
UPnP (Universal Plug and Play) support0