Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/provegard/airpnp
AirPlay to UPnP bridge written in Python
https://github.com/provegard/airpnp
Last synced: about 18 hours ago
JSON representation
AirPlay to UPnP bridge written in Python
- Host: GitHub
- URL: https://github.com/provegard/airpnp
- Owner: provegard
- License: bsd-3-clause
- Created: 2011-07-10T08:03:00.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2012-03-28T22:49:44.000Z (over 12 years ago)
- Last Synced: 2024-08-04T06:01:54.720Z (3 months ago)
- Language: Python
- Homepage: http://airpnp.finkod.se
- Size: 302 KB
- Stars: 42
- Watchers: 8
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
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 lettuceVersion 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 startTo 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.