Maccast Members #134 - Airplay Mirroring
V A little background
* AirPlay began life as AirTunes which was announced in June of 2004. AirTunes let you stream audio from iTunes to an Airport Express which you could connect a set of powered speakers to.
* In September of 2010 Apple changed the name to AirPlay and expanded the functionality to allow streaming video from iOS 4.2 to an Apple TV
* Then in 2011 Apple added AirPlay Mirroring in iOS 5 and the feature is now part of Mountain Lion
V So really in a way AirPlay is rolled up into 3 different technologies
V AirPlay Audio (AirTunes)
* Uses the User Datagram Protocol (UDP) and Real Time Streaming Protocol (RTSP)
* Sends Apple Lossless 44.k Khz 2 channel audio
* Encrypted with AES with the private keys embedded in the receiver
* Apple licenses the technology to 3rd party audio manufacturers
V AirPlay Video
* Uses a reverse-HTTP protocol over Bonjour
* Basically your devices finds an AirPlay receiver, pings it, and then that device sends a request back to the device for the content and starts to receive (pull it). The server, becomes the client and vice versa.
* Interestingly is un-encrypted
* You can telenet, say to an Apple TV, on port 7000 and issue HTTP protocol commands and get it to respond
* If you want Google some of Erica Sudun's stuff and you can learn more about how this stuff works
V AirPlay Mirroring
* Got a lot of details from Aoren Software and Spencer Nielsen (Blue Lotus Blog)
* You'd think AirPlay Mirroring would be similar to AirPlay Video and in some ways you'd be kinda right
* It does use Bonjour and similar protocols to AirPlay Video
* It doesn't run on port 7000, 7100
* Seems to initiate an AirTunes connection first before mirroring (maybe for carrying system audio?)
* Connection does seem to be AES encrypted, like AirTunes. Would need a private key to consume the video stream
V Mirroring According to Apple
V Minimum Requirements
* iPhone 4S or iPad 2 (and later) with iOS 5 and later
* Apple TV (2nd or 3rd generation) with software version 5.0 or later
* An 802.11a, -g or -n wireless network
V Enabling
* Connect your iPhone or iPad and your Apple TV to the same Wi-Fi network.
* Double-click the Home Button to display your recently used apps.
* Swipe your recently used apps twice from left to right until you see the AirPlay icon
* Select your AppleTV from the list of AirPlay devices
* If supported, the 'Mirroring' toggle should appear below the device. Toggle it on.
V OS X Mountain Lion
V Supported Macs
* iMac (Mid 2011 or newer), Mac mini (Mid 2011 or newer), MacBook Air (Mid 2011 or newer), MacBook Pro (Early 2011 or newer)
* According to Apple these are the only supported systems because mirroring requires hardware encoding in 2nd and 3rd generation Intel chips to efficiently deliver high frame rates while maintaining optimal system performance
V Enabling and using
V If your Mac supports it, you have a 2nd or 3rd generation Apple TV, your Mac and Apple TV are on the same 802.11g or faster network, and you are running Mountain Lion you should see an AirPlay Mirroring menubar extra
* This can be enabled or disabled under System Preferences > Displays
* To turn on Mirroring simply select the Apple TV from the Airplay Mirroring menubar or in the Displays System Preferences
V Once enabled you'll have access to resolution modes
V Match Desktop Size To: Apple TV
* Best for display of image on Apple TV
* Will conform desktop to 16:9 aspect ration
* Mac display may not be optimal
V Match Desktop Size To: This Mac
* Best image on the Mac
* Apple TV image might not fill the screen
V Troubleshooting
* If you don't see the Apple TV, check the network. Make sure both the Mac and Apple TV are on the same WiFi
* If you don't see the menubar item make sure it's on in the Display System Preferences
* If the menubar or Dock on your HDTV is clipped, you may need to enable 'overscan correction'. You'll find it in the Display preferences screen when you are mirroring
* The built in OS X Firewall can also block mirroring. Make sure “Block all incoming connections” is unchecked (may want to enable after) and “Automatically allow signed software to receive incoming connections” is checked.
* Once turned on anything you see on your Macs screen should be visible on your Apple TV. This includes video content in Flash from sites like Hulu.
V Your system audio should also be AirPlayed to the AppleTV
* You should see the Apple TV as an 'Output' source in System Preferences > Sound
* You can select it if it's not selected and if you hold option while clicking the volume menubar extra you should see it as an output choice
* I think the Audio only features are supported on most, if not all, Macs that can run Mountain Lion
V About the limitations
* There are a lot of theories running around as to why Apple has limited the Airplay Mirroring technologies
V One is that the limitation has to do with DRM technology called "Intel Insider" that is in newer 2011 Intel Chips
* All the research I have done has not proven that DRM is the reason Airplay Mirroring only works on newer Macs
* iOS devices don't have Intel Insider support, so that theory doesn't hold up
* the more likely explanation is that it is just as Apple says it. Airplay Mirroring uses on-GPU H.264 encoding which is a feature of the latest Intel integrated GPUs and AMD chipsets.
* This also holds up as the iPhone 4S, iPad 2, and new iPad support on-chip H.264 encoding
* Of course multi-core processors can handle the H.264 encoding as well, but mirroring also color conversion, from the RGB to YUV space, and scaling (since your HDTV is likely a different resolution).
* All of this means that doing it in hardware instead of software is the better choice in Apple's world where reliability and performance are key. It also reduces heat.
V About older systems
* So all this doesn't mean older systems are out on the Airplay Mirroring front, they are just out on native solutions from Apple
* Luckily some 3rd parties have picked up the slack.
V The main issues with the 3rd party solutions are going to be a little more complexity, they might be a bit more finicky, and you may need to do more troubleshooting
* Higher CPU utilization
* More heat, fans kicking in
* More likely to stutter or suffer lag and performance issues
* The BIG advantage is they are a lot more flexible in their requirements.
V Air Parrot
* If you want to AirPlay mirror on older systems and on Lion this is your app
* Essentially creates an on the fly H.264 encoded video stream of your display
* They recommend and NVidia or Intel HD GPU. I couldn't find hard specs on the site.
* I tried it on my 2011 Macbook Pro and it seemed to use about 40% CPU when mirroring
* Mirrors to an Apple TV 2 or Apple TV 3. It might use more CPU if your mirroring 1080P
* If you have multiple displays you can choose which display to mirror
* Also allows you to mirror single apps which is helpful if you were doing a presentation
* You can also send audio, but it requires and extra install from with in the app and restart
* Settings to adjust the Video Quality and max frame rate
* Also has an extended desktop mode so you could use your HDTV as a 2nd or 3rd monitor.
* Because it converts to H.264 video on the fly and that is a compressed format the quality can vary.
* Will not mirror iTunes purchased videos and TV shows, but iTunes will do that natively
* $9.99 USD
V Reflection
* This app allows you to Airplay your iOS device screen to your Mac or PC
* Turning your Mac into an Apple TV in a way
* Works really well for mirroring your device screen to the Mac
* Great for presentations.
* Can display with a device frame. black or white.
* Also can go full screen, and scale up, but can get pixelated
* Can use to also video capture
V Some apps, like video apps and games, have support for Airplay mode that gives an Airplay presentation instead of pure mirroring. That kinda work, but I've had issues with just pure AirPlay video mirroring.
* Launches and tries to stream through Quicktime and not always reliable
* $14.99 USD
V Air Server
* AirServer is similar to reflection
* Turns your Mac into an Airplay device
* Seemed to me to better at video and game mirroring that Reflection, but also seemed more glitchy and less reliable.
* Has the ability to mirror 2 devices at once
* Also has controls for doing post processing of the video. Adjust brightness, contrast, etc.
* Also sends sound, but didn't work for every app.
* I think a lot has to do with the Mac your running on. My Mac Mini had a hard time with video and 3D games like Infinity Blade.