Premise UPnP Control Point update posted

Motorola Premise

123

Senior Member
I've posted an update to my UPnP Control Point in the Files area. For those who haven't seen it before here are the particulars:

Key features

UPnP Device types supported
Media Renderers
Tested DSM- 520 and Pinnacle Showcenter 1000 media renderers. The
Show Center plays everything!!! The DSM only seems to work with audio content. It apparently has a bug (confirmed by DLINK) when playing remote control point directed video.

Media Servers
Tested with Twonkyvision, TVersity, and Windows Media Connect media servers. Twonky is slow on extraction due to an apparent need to wait a few seconds between browses. TVersity and WMC are very fast during extracts.
Recognized UPnPAV devices are automatically created within Premise under the sys://Devices/CustomDevices/UPnPAVRoot
UPnP AV Media Server objects support replication of their content hierarchies within Premise. Content folders specific to each media server are created.
Control over what content is replicated within the SYS hierarchy is done through explicit selection of Video, Music, and Picture classes as well as exclusion of certain content folders. Excluded folders are described as a comma delimited list by the user

Installs as a Windows Service


Installation:
Unzip the files somewhere convenient
Import the UPnPAV-xx.xx.xx.XDO into Premise
Right click CustomDevices within builder and select New>UPnP AV Root
On the server you will be running the control point, run setup - it will ask you for the name of the server/userid/password of the premise server you want to associate the control point with
Start the Premise UPnP Control Point service

This version includes the ability to play Premise-hosted content on a UPnP AV Media Renderer. It is not a full implementation of a UPnP Media Server for Premise (I'm working on that for a future version). It allows a user to select content stored in a Premise File Provider and play it on a UPnP AV Media Renderer. In the prior version, only UPnP AV Media Server-hosted content could be played.

-John
======================
John-
What technique would one use to control the UNPN media renderer device? Does Dlink, for instance, support navigation and transport controls via the ethernet port (eg; using telnet?) or is this done via UPNP? or do you just have to use IR?
Thanks,
David
======================
David,

Welcome!!!!

UPnP defines an architecture to do most of what you want. There's a very good description of the architecture (including a series of whitepapers) here: http://www.intel.com/cd/ids/developer/asmo...rview/index.htm

Remote control of "Navigation" really isn't something that UPnP AV does. However, one of the basic functions is to tell a Meda Renderer where to find a piece of content and then tell it to play. For example, in my UPnP Control Point (posted in the files area), you can use the Automation browser to select a piece of content (hosted by a UPnP AV Media Server) and play it within a Media Zone. Behind the scenes, the control point sets up the Media Renderer by telling it the URI of the content the user wishes to play. Then it issues a "Play" command and the content starts playing. It does all this through an IP connection (SOAP over IP to be exact).

The DLINK DSM-520 supports the UPnP AV Media Renderer standard. So you can use a control point to tell it what to do. However, I've found that it doesn't correctly handle Video streaming under UPnP AV control. It's a bug acknowledged by DLINK. It handles audio perfectly.

If you've got a Media Renderer (like the DSM-520), try my Control Point. The currently posted version doesn't require a separate UPnP AV Media Server to stream content to the Media Renderer. In this version, you can stream content hosted by SYS. To make it work, install the control point and start the service. Your Media Renderer (and Media servers if you have any) will be automatically be detected and added under Custom Devices. Create a media zone somewhere in your hierarchy and attach the Media Renderer to the Media Zone. At this point, you should be able to browse media content in the Automation Browser, select play, and tell it to play on the Media Zone you've just created.

If you've got a Media Server (like Windows Media Connect), it should show up under custom devices. If you click the Extract property, the control point will create a Media Folder with pointers to all of the recognized content hosted by that Media server. My goal was to try to enable a distributed environment where computationally intensive apps like Media Servers could be hosted independently of the Premise SYS server.

Give it a try.

-John

======================
Thanks John -
What I mean by navigation is control of the on-screen menus, etc. of the media renderer. For instance, I want to use (let’s say the automation browser although I have a Minibroker based GUI for Premise) to navigate the photos, music and video selections on the media render's onscreen menu. You may want to Pause, FF, rew, etc as well.

I'll try it out first!!

Thanks
David
======================
Another update posted. New in this version:

Enhancements
Premise locally hosted content can now be played through a UPnP Media Renderer under Premise control
Implemented a basic UPnP AV Media Server to allow browsing and streaming of Premise-hosted content. A UPnP AV compatible Media Renderer can now browse and play content stored in sys://Media/Content. Currently, only MP3 and WMA files have been tested. However, MPG and JPG files are recognized.

Bug-fixes
Enabled automatic detection of the port currently being used by Premise to correctly populate the URI for Premise-hosted content. Prior versions had port 86 hard-coded into the URI. Now, the default Web Server is queried at service startup to determine what port is currently the active port.
======================
John -

Can you describe a couple of scenarios as to how this may work? I haven't delved into PnP as a matter of utility; conceptually, I get it, but I'm trying to see how Premise and PnP work together in beautiful harmony...

btw, you've been a frequent contributor - thanks for all of your efforts!

cl
======================
Chuck,
Thanks for the kind words!!!
The way I think about UPnP AV and Premise is basically as an answer to the question: "How can I get Media content (audio and video) stored in a UPnP AV Media Server like Windows Media Connect to play on a Media Renderer like the DSM-520 or Pinnacle Show Center 1000 using the Premise mSense functionality?". That's the general question. The specific issue I was trying to deal with was getting Video content to play using Premise and mSense on my home theater the same way audio content works. I wanted to select a movie stored on my home network and have it automatically played on the display. UPnP AV seemed tailor made for this scenario. UPnP provides the underlying "plumbing" to control the devices, and Premise provides the UI and intelligence to make everything work together (via mSense).
Here's my setup:
A bunch of DVD's and home videos stored on a server managed by TVsersity's UPnP AV media server.
A bunch of ripped CD's stored on the server running Premise.
Pinnacle Showcenter 200 and DLINK DSM-520 Digital Media Players connected to two different media zones.
Windows CE-based wireless control pads
It's fairly wife-proof. She selects a "Dora the Explorer" video from the control pad; the TV and Receiver turn on; the appropriate inputs are automatically selected; and the video starts playing. Behind the scenes, Dora is a piece of content referenced in the sys://Media/Content/<UPnPMediaServer> hierarchy. The content item has a URL reference to a Media Server actually storing the content. The Control Point tells the Digital Media player (Show center in this case) where to find the content by passing it the URL using a UPnP AV command (AVTSetURI to be exact). Then the control point tells the Media player to play via a UPnP AV command (AVTPlay to be exact). That's it!!!

I hope that helps.

-John
======================
Hi John-

Will the UPNP driver support the Windows Media Center? I assume that it’s UPNP compatible.

It would be great if premise could read in the music, video , photo libraries in WMC and allow a user to select the video (for example) and have premise cause the WMC to play the video (or whatever).

Also, Xbox is a Windows Media Center remote. Im not sure that it would act like a UPNP media renderer. Probably worth experimenting with.

Thanks
David
======================
David,

I'm not really sure if Windows Media Center can act as UPnP AV Server or Media Renderer. Windows Media CONNECT is just a Media Server. If Media Center is both, then the control point should work the way you want. As a test, you might want to try Cidero (www.cidero.com). It's a stand-alone UPnP AV controller. It will automatically detect and show you all of the UPnP AV compliant Servers and Renderers on your network. You could also install the Premise UPnP AV control point and look in sys://Devices/Custom Devices/UPnPAVroot to see if Windows Media Center shows up as both.

I don't think XBox is a full-blown Media Renderer. It will play data from a Media Server, but it doesn't support external control (via a UPnP control point).

Hope this helps.

-John
======================
An update to the UPnP Control Point has been posted. In this release...

V0.7.1

Enhancements
Implemented support for Internet audio streams using standard Premise configuration mechanism. This does not require any external UPnP AV Media Server to "host" the pointer to the Internet Audio stream. Only MP3-based streams (i.e. Shoutcast) are supported. The "mms" transport is not supported. To add a stream, do the following:
Under Media, create an Internet provider. Under the Internet Provider, create an Internet Stream. Under the filename of the Internet stream, add the URL of the stream. A stream that appears to work reliably for testing can be found at:
http://scfire-dll0l-1.stream.aol.com:80/stream/1074

Implemented support for Internet audio streams "hosted" by an external UPnP AV Media Server. Only TVersity streams have been tested. MP3-based streams (i.e. Shoutcast) are supported. Microsoft "mms" streams are not supported.
Streams hosted by an external UPnPAV Media server should appear under the Media Server's entry under sys://Media/Content.

Implemented support for UPnP AV Media Renderer browsing of Internet streams found in Premise. This is an enhancement to the Media Server functionality introduced in version 0.6.1.
Internet stream functionality has been tested with DSM-520, Pinnacle Showcenter 1000, and the Intel "reference" AV renderer found in the Intel UPnP AV developers kit.

Bug-fixes
Fixed a bug that would cause the Control Point to crash when extracting Internet streams from a TVersity Media Server. TVersity implements containers of Internet streams as play lists, but without a URI pointing to the play list itself (understandable since Internet streams really aren't play lists).
======================
Version 0.7.2 has been posted. Intel updated their SDK, so this version includes their latest UPnP DLL's. These updated DLL's fixed a compatibility issue with Twonky Media Servers. As a result, the control point no longer needs to wait 12 seconds between browses of Twonky Media Servers. Performance with Twonky has been dramatically improved.
======================
Another update. I found a couple of bugs and slipped in a few cosmetic enhancements. Please note that this version has a new XDO file. Please import the XDO prior to starting the driver.
V0.8.0

Enhancements (requires XDO version 0.1.6)
Added Media Renderer State
Added Driver Version to the UPnP Root

Bug-fixes
Occasionally, a media item in a sequence (i.e. album track or play list track) will be skipped. This is due to multiple STOPPED transport states being sent from a UPnP Media Renderer. Fixed by only honoring the first transport STOPPED state in a sequence. Implemented a locking mechanism that detects the first, sets a lock which allows subsequent messages to be ignored. The lock is reset when anything other than a transport STOPPED state change is detected.
Fixed problem with user selecting a new media item to play while an existing item was playing. The new item didn't play.
 
Anyone tried using windows 7 with Premise yet? In particular, I had heard windows 7 will have full UPnP support and I'm wondering if anyone has used it with the neat UPnP module John has made? I don't have Windows 7 to try, but I may buy a copy when it comes out if others are having UPnP control success with Media Center...

I'd like to be able to have content stored on several networked drives, and select content by clicking through the automation browser as John describes and let Premise's MSense set my receiver and TV to play content through Windows Media Center. Right now, I run Vista Media Center. John's driver finds the vista machine (I think it finds the mediaplayer though), but it appears as John describes, media player don't allow external control. Now, if the new Windows Media Center fully supports UPnP, I think this would be very easy to implement thanks to John's hard work.

Is TVersity still the best free option that supports external UPnP control? Would it allow me to also grab the song name?

Above is one of the best original posts explaining the UPnP modules functionality. I'd be lost without this post, so thank you 123 for archiving it here! I've read a lot of archived posts and they are very handy for newbies.
 
I would look for a hardware player instead of using a Windows 7 PC as the UPnP playback device, for the cost of the O.S. you can find some hardware players. I have not used this plugin in a while because I switched to SageTV and hardware media extenders for all my media playback, the last time I used this plugin I used a DLink DSM-510 and it worked with mpeg2 HD up to 16mbps or for me. Hardware media players are a lot less hassle to get reliable playback with and for example the HD-200 Sage media extenders I have use less than 10 watts each and can playback high bitrate H.264 and VC-1 streams besides mpeg2.
 
Back
Top