pascalw / Airplayer

Python script to make media playing software Apple Airplay compatbible. Currently supports XBMC, Plex and Boxee.
http://pwiddershoven.nl/blog/2011/01/05/airplayer.html
BSD 4-Clause "Original" or "Old" License
335 stars 42 forks source link

Playing as an audio output. #3

Closed markst closed 13 years ago

markst commented 13 years ago

This works great. I've been able to use it as a video player. However, is it possible to set this as an audio output for playing music in iTunes?

pascalw commented 13 years ago

No I'm afraid not. Audio streaming uses a different, encrypted protocol which currently isn't supported by Airplayer. I'm not sure if it even has been reverse engineered yet, if it is I might look at it in the future but I can't promise anything.

gregghz commented 13 years ago

The audio uses Daap. It does use encryption and it has not been reverse engineered yet. So basically, as things stand this is impossible.

http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol

That's the protocol (AirPlay uses this just like iTunes). Older versions of it are in use by non-itunes players, but nothing can communicate using Daap with any iTunes version >= 7.

I hope that all of AirPlay doesn't end up like this (Daap started without encryption as well).

pascalw commented 13 years ago

That's right. It uses a public/private keypair and the private key has not been cracked yet and might never be.

Indeed Apple could make the whole Airplay protocol encrypted, which would make all 3rd party implementations useless. Let's hope they don't do that.

oilderyk commented 13 years ago

Have you looked at how forked-daapd streams. Something may be gained from that project.

https://github.com/jasonmc/forked-daapd

pascalw commented 13 years ago

Forked-daapd is not usable unfortunately, forked-daapd exposes an iTunes library over the network so it can be played with Apple Remote for example. What we need is to be able to act like an Airplay audio device, like an Airport Express.

diamondsw commented 13 years ago

Curious - in this writeup of the AirPlay protocol from "DVD-Jon", it states that AppleTV audio streams are not encrypted. Is this old information, or is there a way to indicate an unencrypted stream should be sent?

"Note that the AppleTV uses unencrypted audio packets, contrary to the AirPort Express."

http://blog.technologeek.org/airtunes-v2

paulorichards commented 13 years ago

The Airport Express key has been extracted. Will this make possible to add audio support now?

http://mailman.videolan.org/pipermail/vlc-devel/2011-April/079616.html http://www.mafipulation.org/blagoblig/2011/04/08#shairport