forked from provegard/airpnp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
124 lines (81 loc) · 3.2 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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.