UPNP support for MP1.0 (1 Viewer)

Do we need UPNP support in MP 1.0 ?

  • Yes, but we need only a UPNP client / renderer

    Votes: 10 37.0%
  • Yes, but we need a UPNP server

    Votes: 1 3.7%
  • Yes and we need both server and client

    Votes: 12 44.4%
  • No and we can wait for MP 2.0

    Votes: 6 22.2%

  • Total voters
    27
  • Poll closed .

kroko

Portal Pro
February 4, 2007
428
420
55
Itzehoe
Home Country
Germany Germany
Hi everybody,

just on my way to buy a MediaMVP I was thinking about UPNP support on my HTPC.

Its easy to install a UPNP Server like TwonkyMedia. But is this enough ? There is a project replacing the software from the MediaMVP to have it UPNP compatible. So streaming to the MVP will work.
I was playing a little bit with the Microsoft api on the UPNP as a control point and render files inside the MP. Maybe some people have a UPNP server somewhere in the house ? .

I dont know if it is really needed or if we want to wait for MP 2.0 ?

So here is the poll. Lets see if anybody needs this.

for a preview what I have done so far scroll down to my next post.
 

kroko

Portal Pro
February 4, 2007
428
420
55
Itzehoe
Home Country
Germany Germany
Hi,

well, so far it's not sure how to proceed. Here is something for testing ;)



UPNP Server / Client

This is what I implement so far:

1. UPNP Server

To start easily I just used Intel's code generator to built a UPNP Server. Afterwards I had to modify it a bit adding a parameter for the share and add the "avi" as mime typ.

I made up a process plugin to start the server right on startup with the MP. The share path can be configurated via setup.
For example I made me a directory like c:\Share including the folder music, pictures, videos.

2. UPNP Control point

I just read the documentation from Microsoft about the upnp.dll. Searching the web I made up a small UPNP "browser".
I call it like this, because you can browse the files right now and send them to the mp player using then http protocol.

For my test I enabled the vlc plugin including the http protocol in the setup of vlc. It should work also with other player like mplayer. Sure it works with the internal player on mp3. AVIs have not been played on my side. (maybe no codecs)

The function to send the playlist to a renderer is NOT included right now.


So this is more a lazy release to see how good the throughput is. I would call it "proof of concept". On my server and client htpc it works quite well as much I can say right now. Be carefull to enable the server only on one end. The Intel code uses a static uid !

Feedback would be appreciated.
So far

kroko

btw here are the intel links. Intel stopped working at it, but still a good start:

Intel® Software for UPnP* Technology

Intel® Tools for UPnP Technologies tools to test upnp
Intel® Digital Home Device Code Wizard code generator for upnp
 

kroko

Portal Pro
February 4, 2007
428
420
55
Itzehoe
Home Country
Germany Germany
Hi there,

just another day in paradise....
I played arround with the browser and server plugin. So here are my feelings:

MediaServer -> quite a "big code" really time consuming to rewrite something. I did not find ANY C# source, most of them are based on C++ or Java. So for the startup I think it will be enough to use the Intel code (90% done).
-todo add m3u files
-todo utf8 codes in filenames

ControlPoint -> easy to implement, already done like 90% using the upnp.dll from Microsoft. It's just discovering, connecting and reading data from the MediaServer

MediaRenderer -> Medium skills are needed here to write my own renderer. But now I can control any render device from the control point. Just a few lines of code. Plus on top I could render the stream directly from the ControlPoint.

RenderingControl -> not really a big problem, just some invokes, but will be done last. (basicly for VolumeControl)

My plans are:
-MediaServer will be done via Intel code
-Controlpoint will be extended to use internal renderer (MP,VLC,Mplayer) or exterenal RenderDevice

-RenderingControl -> External RenderDevice can be controlled via MP

Post your coments what you think ! :)

Regards
kroko
 

kroko

Portal Pro
February 4, 2007
428
420
55
Itzehoe
Home Country
Germany Germany
Hi erverybody,

after making a small server/client plugin I wrote some classes for the client for discovery, browsing mediaserver and controling renderer. All is based on the Microsoft upnp stack.

Then I discoverd the SDK von Intel can built C# code within the decvice code generator. OMG I can not believe that. I start to write my own standalone renderer in C# using vlc as player. Basic function has been workin after 1 hour. Thats unbelievable.

Questionable is for me what would be the best solution for the stack. Using Intel or MS stack or even going deeper using a open source project like platinium.

I'm really impressed never thought about the posibilities on the UPNP side. Even combining this with MS Home server would be a great deal.

Well, that from here so far. Let me know what you think !

Regards
kroko
 

Users who are viewing this thread

Top Bottom