A Python UPnP Media Server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
John-Mark Gurney 2dff300426 fix tabs... 19 years ago
docs branch the files into a main line branch.. I should of done this 19 years ago
xml branch the files into a main line branch.. I should of done this 19 years ago
ConnectionManager.py branch the files into a main line branch.. I should of done this 19 years ago
ContentDirectory.py fix tabs... 19 years ago
DIDLLite.py expand the Storage* stuff to include the required attributes.. 19 years ago
MediaServer.py branch the files into a main line branch.. I should of done this 19 years ago
README add my email address to my copyright lines.. 19 years ago
SSDP.py detect presence of.. 19 years ago
browse-zms.py branch the files into a main line branch.. I should of done this 19 years ago
cdsclient branch the files into a main line branch.. I should of done this 19 years ago
connection-manager-scpd.xml branch the files into a main line branch.. I should of done this 19 years ago
content-directory-scpd.xml branch the files into a main line branch.. I should of done this 19 years ago
pymediaserv provide arg so we don't use a global... 19 years ago
root-device.xml branch the files into a main line branch.. I should of done this 19 years ago
upnp.py branch the files into a main line branch.. I should of done this 19 years ago
xmlpretty branch the files into a main line branch.. I should of done this 19 years ago

README

This code was abandoned by Tim Potter.
It is licensed under the MIT license at:
http://opensource.org/licenses/mit-license.php

As I should be getting my D-Link DSM-520 today, I need a UPnP Media
Server that I could use to stream data with. I tried one, but it had
issues running under FreeBSD's Linux emulation, so I found this code
that was was a good framework.

After a few days, I have the code working sucessfully with Intel's
Media Control Point, and Intel's Media Renderer. I have streamed both
mp3's and wmv's to the renderer. They are good tools for testing and
available at:
http://www.intel.com/cd/ids/developer/asmo-na/eng/downloads/upnp/index.htm

I have added a number of new features:
Don't bind the UDP socket to the multicast address, so replies
go out on our local IP.
Send out notify requests when we register the services with SSDP.
Send out byebye notifications when we are shutting down.
Randomize the UUID for the server (this should be part of the
saved state).
Randomize the port, or optionally set it on the command line.
Teach ContentDirectory.py the basics on handling Containers and
generic browse support. You can addItem and addContainer, which
each return either respective ObjectID.
We already support partial chunking of responses, but we don't yet
support filtering or sorting.

Either make a directory media and put the files there, or make a symlink
named media to your media files. Either will work. Run it as:
./pymediaserv <localip> [ <http server port> ]

Good Luck!

John-Mark Gurney <gurney_j@resnet.uoregon.edu>