| @@ -1,39 +1,39 @@ | |||||
| This code is based upon code by Tim Potter. | |||||
| It is licensed under the MIT license at: | |||||
| http://opensource.org/licenses/mit-license.php | |||||
| PyMedS | |||||
| ====== | |||||
| I got a D-Link DSM-520 but I needed a UPnP Media Server to stream data | |||||
| with. I tried one, but it had issues running under FreeBSD's Linux | |||||
| emulation. Since I know Python, I went looking for a python server | |||||
| and found this code. The code was a good framework, so I expanded upon | |||||
| it. | |||||
| This is a UPnP Media Server based upon a plugable architecture to allow | |||||
| other media repositories than just a file system. | |||||
| Tested basic functionality with the following devices and/or programs: | Tested basic functionality with the following devices and/or programs: | ||||
| Sony PlayStation 3 | |||||
| VLC | |||||
| BubbleUPnP (Android) | |||||
| Historically tested basic functionality with the following devices and/or programs: | |||||
| Cidero UPnP A/V Controller | Cidero UPnP A/V Controller | ||||
| Intel's Media Control Point and Media Renderer | Intel's Media Control Point and Media Renderer | ||||
| D-Link DSM-520 | D-Link DSM-520 | ||||
| Sony PlayStation 3 | Sony PlayStation 3 | ||||
| Linksys DMC-250 | Linksys DMC-250 | ||||
| The Intel tools are good for testing (though Windows only) but have been | |||||
| moved. Not sure where they are located now. | |||||
| Usage | |||||
| ----- | |||||
| Either make a directory media and put the files there, or make a symlink | 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: | named media to your media files. Either will work. Run it as: | ||||
| ./pymediaserv <localip> [ <http server port> ] | |||||
| ``` | |||||
| ./pymediaserv <localip> [ <http server port> ] | |||||
| ``` | |||||
| The following packages are required to run the media server: | The following packages are required to run the media server: | ||||
| * Twisted (tested w/ 8.2.0) - http://twistedmatrix.com/trac/ | |||||
| * ElementTree (only pre-Python 2.5) - | |||||
| http://effbot.org/zone/element-index.htm | |||||
| * SOAPpy - http://pywebsvcs.sourceforge.net/ | |||||
| * fpconst (required by SOAPpy) - | |||||
| http://sourceforge.net/project/showfiles.php?group_id=71248 | |||||
| * Twisted (tested w/ 22.10.0) - https://twisted.org/ | |||||
| * SOAPpy-py3 - https://github.com/Synerty/SOAPpy-py3 | |||||
| The requirements are in `requirements.txt` and can be installed | |||||
| via `pip intall -r requirements.txt`. | |||||
| Optional software packages: | |||||
| * rarfile - http://grue.l-t.ee/~marko/src/rarfile/ | |||||
| * CDDB-py - http://cddb-py.sourceforge.net/ | |||||
| Misc Issues | |||||
| ----------- | |||||
| Thanks to Coherence for soap_lite that solved the issues w/ PS3 not seeing | Thanks to Coherence for soap_lite that solved the issues w/ PS3 not seeing | ||||
| the media server. The PS3 with the latest firmware (2.50 and later) now | the media server. The PS3 with the latest firmware (2.50 and later) now | ||||
| @@ -50,6 +50,15 @@ Good Luck! | |||||
| John-Mark Gurney <jmg@funkthat.com> | John-Mark Gurney <jmg@funkthat.com> | ||||
| License Information | |||||
| ------------------- | |||||
| This code is based upon code by Tim Potter. | |||||
| It is licensed under the MIT license at: | |||||
| http://opensource.org/licenses/mit-license.php | |||||
| Ideas for future improvements: | Ideas for future improvements: | ||||
| I have received a few ECONNABORTED errors at times. The patch | I have received a few ECONNABORTED errors at times. The patch | ||||
| twisted.internet.tcp.py.patch catches this error, and handles | twisted.internet.tcp.py.patch catches this error, and handles | ||||