Advertisement

Introducing AirPlayer: Mac-based AirPlay service allows device-to-Mac playback


AirPlay
is a very, very cool technology. Unfortunately, if you don't own an Apple TV 2 or other capable receiving device, it's not going to do you much good. (If you have the cash on-hand, for $99, the Apple TV mark 2 is a pretty sweet purchase. Just saying.) So I decided to figure out a way that people who didn't own an Apple TV, or who were on the road with their iPhone and a laptop could actually use AirPlay streaming "backwards" -- from their iDevice to their Mac.

Behold our TUAW exclusive introduction, the development build of AirPlayer -- click Read More to see the video. What AirPlayer does is create and advertise a custom Bonjour AirPlay service that pretends to be an Apple TV. Bonjour is Apple's zero configuration networking solution for allowing devices and applications to communicate with each other over local area networks. When Apple created AirPlay, it basically set up a new way for Apple TV to interact with iOS using Bonjour communications.



After spending far, far too much time reverse engineering AirPlay (some details here, a lot more forthcoming in a separate post), I was able to put together a basic OS X application that more or less pretends to be an Apple TV.

By interacting with iOS devices the same way that Apple TV does and providing the same kinds of services and feedback, AirPlayer allows you to use your iDevice's built in AirPlay support to send video to your Mac. You can download an ad-supported[1] extremely alpha version from my web site.

In theory, this support can easily be extended to a Windows system, as Apple has ported Bonjour to that OS, and likely to Linux as well. In practice, I am not a Windows application developer, although I've been known to work at the Linux command line. So don't hold your breath quite yet for a Windows or Linux implementation.

What could work a lot more easily is iDevice-to-iDevice streaming. However, I cannot think of a single practical use case for AirPlay between iDevices, so building that isn't high on my priority list. Feel free to convince me otherwise in the comments.

You do not, at this time, need a jailbroken iDevice to run this hack. This limits you, however, to YouTube and other sanctioned applications -- if you run across DRM'ed content, you're basically out of luck. If you do jailbreak and install AirVideoEnabler, you'll have far more applications to choose from.

Using a jailbroken iPad, I tested using Yxplayer (which apparently has certain GNU issues) and was able to stream local homebrew movies (mostly AVIs from the family handheld video cam and MP4s from HandBrake DVD rips) without any problem other than what streaming massive amounts of data can do to your Mac in terms of system responsiveness.

Air Video (the application I covered here) streams using m3u8 playlist files, which cannot be displayed in the standard QuickTime window I used in AirPlayer. AirPlayer automatically copies video URLs to the system pasteboard, so if you can find an app that understands an unsupported video file, you've got the URL ready to go on your Macintosh. I couldn't make it work myself. Sorry.

AirPlayer remains extremely alpha. I included a contact button in the app if you want to send feedback, bug reports or hints. Use it at your own risk and do feel free to leave constructive comments below on this post.

[1]Editor's Note: All ad revenue for this app goes directly to Erica, not to TUAW. That said, she is the author of the app, and it is provided completely on an as-is basis. TUAW cannot offer support or advice on the app, nor is it guaranteed to be suitable for any purpose or need whatsoever.

Thanks, lbm, davilla, bile/nitotv, Steven Troughton-Smith, conradev, adiabatic, August Joki, and everyone else who helped test and scan and reverse engineer