diff --git a/README.md b/README.md index 9dc8784..c5c6843 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,16 @@ You need: - [VLC](https://www.videolan.org/vlc/) - [PyPy](http://pypy.org/) with [pip](https://en.wikipedia.org/wiki/Pip_%28package_manager%29) -- A copy of the `airtunesd` binary from AppleTV firmware for AppleTV2,1 build 9A334v. Put it in this directory. +- A copy of the `airtunesd` binary from AppleTV firmware for AppleTV2,1 build 9A334v. Either extract it yourself, or run `get_airtunesd.py`: + +``` +pypy -m pip install beautifulsoup4 construct cryptography requests + +pypy get_airtunesd.py +``` -Then: + +Then you're ready to run *Slave in the Magic Mirror*! ``` pypy -m pip install biplist construct cryptography macholib zeroconf @@ -29,6 +36,8 @@ pypy -m pip install biplist construct cryptography macholib zeroconf pypy airplay.py ``` +Start AirPlay on your device and hopefully you'll get something like this: + ![screenshot](https://i.imgur.com/w5hEgsT.png) @@ -36,9 +45,9 @@ Known Issues ------------ - Audio doesn't work - - The audio is packed into the MPEG-TS stream (mostly?) to-spec. The problem is no player correctly supports AAC-ELD and LATM... + - No media software correctly supports the audio format (AAC-ELD with short frames in LATM in MPEG-TS) despite it all being to-spec -_- FFmpeg/libav is being fixed, so support will reach VLC 'soon'. - Rotating the device and launching some games crashes VLC - - lol + - This is fixed in VLC 2.2 - I've only tested it with iOS 7.1.2 @@ -54,3 +63,7 @@ Code Overview `loader.py` `dyld_info.py` - Mach-O loader and minimal HLE for iOS binaries `aac.py` `mp4.py` `mpegts.py` - Implementations of bits of ISO/IEC 14496 Part 3, 10 and ISO/IEC 13818 Part 1. Enough to dump the AirPlay packets into a useful container. + +`get_airtunesd.py` - A script to download and extract airtunesd from an Apple TV firmware update. Includes minimal implementations of the FileVault and DMG file formats. + +`hfs/` - For `get_airtunesd.py`. Simple implementation of the HFS filesystem adapted from [iphone-dataprotection](https://code.google.com/p/iphone-dataprotection/)