-
Notifications
You must be signed in to change notification settings - Fork 4
AirPlay to UPnP bridge written in Python
License
provegard/airpnp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
airpnp 0.23b 1 Aug 2011 README ================= Airpnp is a simple server that acts as a bridge between AirPlay devices (such as the iPhone or the iPad) and regular UPnP media renderers. Its mode of operation can be summarized as follows: * When running, detects UPnP devices on the network through M-SEARCH discovery and notification monitoring. * For each MediaRenderer found, publishes an AirPlay service with the corresponding name. * Converts incoming AirPlay commands to UPnP control messages which are sent to the media renderer. The software is based on totem-plugin-airplay version 1.0.2, which is included. The server parts have been rewritten to use Twisted-based networking. The official home for the plugin is: http://cgit.sukimashita.com/totem-plugin-airplay.git/. The software also uses UPnP code from pyupnp, which is included. The official home for pyupnp is: http://code.google.com/p/pyupnp/ Dependencies ------------ The code has been tested with Python 2.7, but probably works with some earlier 2.x versions as well. External dependencies include Twisted Web, Avahi, Mock and Lettuce (the last two are only necessary for running tests). On a standard Ubuntu 11.04 server setup, the following commands install the required dependencies: sudo apt-get install python-twisted-web python-avahi For running tests: sudo apt-get install python-setuptools sudo apt-get install python-nose sudo easy_install mock sudo easy_install lettuce Version 0.7.0 of python-mock that exists in the Natty repositories is not sufficient. As of this writing, easy_install provides version 0.8.0beta3. If you use pip to install Python packages, use the following to get the proper version: sudo pip install mock==dev The avahi daemon must be installed: sudo apt-get install avahi-daemon Installation ------------ There is currently nothing to install. See Running below. Configuration ------------- See the CONFIGURATION file. Running ------- You *may* need to add a route for the 239 net: sudo route add -net 239.0.0.0 netmask 255.0.0.0 eth0 If avahi and dbus are not running, then: sudo service dbus start sudo service avahi-daemon start To run airpnp, use the twistd runner. From the top-levl directory, issue the following command: twistd airpnp To run in the foreground, use the following command: twistd -n airpnp To use a different configuration file than ~/.airpnprc: twistd airpnp -c /path/to/config To run a UPnP device discovery deamon in the foreground, use the following command (uses ~/.airpnprc for configuration): twistd -n upnpdisc Running tests ------------- To run unit tests, run the following from the top-level directory: nosetests To run integration tests, make sure Lettuce is installed and run the following command from the top-level directory: lettuce Contact Information ------------------- Author: Per Rovegård Internet: http://www.airpnp.org E-mail: [email protected] Copyright and Licensing ----------------------- Pyupnp is licensed using the 3-clause BSD license. Totem-plugin-airplay is licensed using the MIT license. Airpnp as a whole is licensed using the 3-clause BSD license. See the file LICENSE for the full license text.
About
AirPlay to UPnP bridge written in Python
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published