Content Protection for HTTP Live Streaming

Similar documents
AVContentKeySession Best Practices

Validating HTTP Live Streams

What s New in CloudKit

What s New in tvos #WWDC16. App Frameworks. Session 206. Hans Kim tvos Engineer

HLS Authoring Update. Media #WWDC17. Eryk Vershen, AVFoundation Engineer

Advances in AVFoundation Playback

What s New in Xcode App Signing

Widevine DRM for HLS. version 0.9

Interoperability Quest: OTT Video, WebApps and CE

Introducing the Modern WebKit API

Creating Great App Previews

WatchKit In-Depth, Part 2

Seamless Linking to Your App

nanostream WebRTC.live

Your Apps and the Future of macos Security

Introducing MusicKit. Media #WWDC17. Tim Parthemore, MusicKit Services Joel Lopes Da Silva, ios Music

AWS Elemental MediaPackage. User Guide

Your Apps and Evolving Network Security Standards

Microsoft Expression Studio 4 Editions

A TV platform jelen kihívásai és a fejlődés iránya. Horváth Ede 2017 October 05.

EM L01 Introduction to Mobile

Building Watch Apps #WWDC15. Featured. Session 108. Neil Desai watchos Engineer

Adaptive Video Acceleration. White Paper. 1 P a g e

WHITE PAPER. Good Mobile Intranet Technical Overview

ADAPTIVE STREAMING AND CONVERGED MANAGEMENT STRATEGY IN MULTISCREEN VIDEO SERVICE IMPLEMENTATION Duncan Potter, Goran Appelquist Edgeware AB

Wowza Streaming Engine

Quick Interaction Techniques for watchos

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

What s New in TVMLKit

How Libre can you go?

What s New in Device Configuration, Deployment, and Management

OOYALA LIVE USER GUIDE

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Advances in TVMLKit. App Frameworks #WWDC17. Trevor Cortez, Localization Engineer Parry Panesar, tvos Engineer Jeremy Foo, tvos Engineer

Cisco Encryption

Introducing Password AutoFill for Apps

Video Developer Report 2017

Enabling Your App for CarPlay

HTTP Adaptive Streaming

Anatomy of a DASH Client. Ali C. Begen, Ph.D.

Networking with NSURLSession

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

Introducing On Demand Resources

Business Proposal HLS Gateway for Android

MODELING REAL-TIME MULTIMEDIA STREAMING USING HLS PROTOCOL

ArcGIS Enterprise Security: An Introduction. Gregory Ponto & Jeff Smith

Technology solution provider focused on Video and Test Orchestration solution Developing a Video Solution for Enterprise / Surveillance Application

Dolby Vision. Streams within the HTTP Live Streaming format

What s New in Audio. Media #WWDC17. Akshatha Nagesh, AudioEngine-eer Béla Balázs, Audio Artisan Torrey Holbrook Walker, Audio/MIDI Black Ops

WeChat Adobe Campaign Integration - User Guide

Salesforce1 Mobile Security White Paper. Revised: April 2014

EM L05 Symantec Mobile Management Managing ios and Android Devices

convert MP4 m3u8 convert MP4 MP4 Convert MP4 MP4 MP4 M3U8 convert M3U8 MP4 mp4 MP4

Mobile LREC. Dimension: Mobile: 640 (W) x 500 (H) pixels (for News app now, available on mytv SUPER app since Jan 2018)

ArcGIS Enterprise Security: An Introduction. Randall Williams Esri PSIRT

ADVERTISING SPECIFICATION

Media and Gaming Accessibility

AWS Elemental MediaConvert. User Guide

Editing Media with AV Foundation

EMPOWER Course Calendar

Variations Mobile: Developing an ios Audio Streaming App. September 2011 IU Statewide IT Conference. Mark Notess Sarah Schmiechen

Automatic Strong Passwords and Security Code AutoFill

Cisco Context Service Security and Privacy

EveryonePrint MDM Integration Guide. AirWatch. EveryonePrint MDM Integration Guide AirWatch Page 1 of 22

VMware Workspace ONE UEM Apple tvos Device Management. VMware Workspace ONE UEM 1811 VMware AirWatch

From Desktop to the Cloud with Forge

Evidence.com May 2017 Release Notes

PADS4 Viewer on Samsung SSSP3

TripleStream Product Description Version 4.6

Transcoding in the Cloud

What s New in watchos

Monetize and Promote Your App with iad

INSTALLATION GUIDE Spring 2017

Vision Framework. Building on Core ML. Media #WWDC17. Brett Keating, Apple Manager Frank Doepke, He who wires things together

Cross Platform Nearby Networking

Mastering UIKit on tvos

CLASSROOM TECHNOLOGY GUIDE

ArcGIS Enterprise Security: Advanced. Gregory Ponto & Jeff Smith

Developing Enterprise Cloud Solutions with Azure

Connected. DLNA: Connecting The FUTURE of COMMERCIAL Content

Integration with Apple Configurator 2. VMware Workspace ONE UEM 1902

Xignite CloudStreaming overview

ArcGIS Viewer for Flex Advanced Topics

Creating Extensions for ios and OS X, Part Two

Data Delivery with Drag and Drop

Creating Extensions for Safari

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

Creating Content with iad JS

What's New in Foundation Networking

Moving to Convio CMS. Presented by Scott Williamson October 22, Convio, Inc.

Using and Extending the Xcode Source Editor

icontact for Salesforce Installation Guide

Common Home use IPTV Examples. YouTube Roku Apple TV Verizon Fios Triple Play (Internet, TV, Phone)

Chapter 28. Multimedia

Administering Your ArcGIS Enterprise Portal Bill Major Craig Cleveland

Accessibility on OS X

HTML5 HTML & Fut ure o Web M edi dia Streami a est Work h op, ov 2010 Michael Dale Zohar Babin eve oper o Dev R l e t a i tions & C

ArcGIS Runtime SDK for Java: A Beginner s Guide. Mark Baird JC Malott

VMware AirWatch tvos Platform Guide Deploying and managing tvos devices

Go Ahead Bring Your Own Device to Work... 1 Requirements... 1

Transcription:

Media #WWDC15 Content Protection for HTTP Live Streaming Session 502 Roger Pantos HTTP Live Streaming Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

FairPlay Streaming

Overview of FairPlay Streaming (FPS)

Overview of FairPlay Streaming (FPS) Industrial-strength protection for your HTTP Live Streaming audio & video

Overview of FairPlay Streaming (FPS) Industrial-strength protection for your HTTP Live Streaming audio & video Already delivering keys in the premium content industry

Overview of FairPlay Streaming (FPS) Industrial-strength protection for your HTTP Live Streaming audio & video Already delivering keys in the premium content industry Built into ios, Apple TV, and OS X

Overview of FairPlay Streaming (FPS) Industrial-strength protection for your HTTP Live Streaming audio & video Already delivering keys in the premium content industry Built into ios, Apple TV, and OS X Power-efficient on mobile devices

Overview of FairPlay Streaming (FPS) Industrial-strength protection for your HTTP Live Streaming audio & video Already delivering keys in the premium content industry Built into ios, Apple TV, and OS X Power-efficient on mobile devices Integrated with AirPlay

Overview of FairPlay Streaming (FPS) Industrial-strength protection for your HTTP Live Streaming audio & video Already delivering keys in the premium content industry Built into ios, Apple TV, and OS X Power-efficient on mobile devices Integrated with AirPlay Offered under the Apple Developer Program License Agreement

Scope of FairPlay Streaming What It Is FairPlay Streaming is:

Scope of FairPlay Streaming What It Is FairPlay Streaming is: A secure key delivery mechanism - Content Key is protected on the network and on the client during playback

Scope of FairPlay Streaming What It Is FairPlay Streaming is: A secure key delivery mechanism - Content Key is protected on the network and on the client during playback Key delivery is transport agnostic - Easy to integrate with existing key server infrastructure

Scope of FairPlay Streaming What It Is FairPlay Streaming is: A secure key delivery mechanism - Content Key is protected on the network and on the client during playback Key delivery is transport agnostic - Easy to integrate with existing key server infrastructure Requires protected HDMI for external output

Scope of FairPlay Streaming What It Isn t FairPlay Streaming does NOT: Provide DRM rights expression or policy enforcement, or Provide user authentication or per-device authorization These can be implemented separately and combined with FPS

How to Use FairPlay Streaming

What Do You Need to Do?

What Do You Need to Do? Integrate a FairPlay Streaming Key Security Module (KSM) into your key server

What Do You Need to Do? Integrate a FairPlay Streaming Key Security Module (KSM) into your key server Add code to your app to relay key requests and responses

What Do You Need to Do? Integrate a FairPlay Streaming Key Security Module (KSM) into your key server Add code to your app to relay key requests and responses For each HLS asset that you wish to protect: Generate and store a Content Key (CK) in your back-end database Encrypt the asset using AES Sample encryption Put a reference to the CK into your HLS playlist

Designing a FairPlay Streaming System Gianpaolo Fasoli FairPlay Streaming Engineer

Designing a FairPlay Streaming System

Designing a FairPlay Streaming System Purpose and importance of your credentials

Designing a FairPlay Streaming System Purpose and importance of your credentials Building blocks and data flows

Designing a FairPlay Streaming System Purpose and importance of your credentials Building blocks and data flows What we provide, what you have to build

Designing a FairPlay Streaming System Purpose and importance of your credentials Building blocks and data flows What we provide, what you have to build Integrating FPS into your Key Server

Designing a FairPlay Streaming System Purpose and importance of your credentials Building blocks and data flows What we provide, what you have to build Integrating FPS into your Key Server Testing your Key Security Module

Designing a FairPlay Streaming System Purpose and importance of your credentials Building blocks and data flows What we provide, what you have to build Integrating FPS into your Key Server Testing your Key Security Module Integrating FPS into your app

Designing a FairPlay Streaming System Purpose and importance of your credentials Building blocks and data flows What we provide, what you have to build Integrating FPS into your Key Server Testing your Key Security Module Integrating FPS into your app Encrypting and testing your content

FairPlay Streaming Credentials KSM Credentials differentiate you from other FPS deployments

FairPlay Streaming Credentials KSM Credentials differentiate you from other FPS deployments Playing content on a customer device requires production credentials

FairPlay Streaming Credentials KSM Credentials differentiate you from other FPS deployments Playing content on a customer device requires production credentials You must protect your production credentials

FairPlay Streaming Request Flow Your App Your Key Database Your Key Server Internet AVFoundation Delegate FPS KSM Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 1 Your app asks AVFoundation to play your protected HLS asset Your App Your Key Database Your Key Server Internet AVFoundation Delegate FPS KSM 1 Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 2 AVFoundation will download your m3u8 playlist containing the KEY tag Your App Your Key Database Your Key Server Internet AVFoundation Delegate FPS KSM 2 1 Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 3 AVFoundation will call your app delegate to request the key Your App Your Key Database Your Key Server Internet AVFoundation Delegate FPS KSM 2 1 3 Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 4 Your app delegate calls AVFoundation to create an FPS Server Playback Context request Your App Your Key Database Your Key Server Internet AVFoundation Delegate FPS KSM 2 1 3 4 Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 5 Your app delegate sends the FPS SPC to your key server Your App 5 5 Your Key Database Your Key Server Internet AVFoundation Delegate FPS KSM 2 1 3 4 Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 6 Key server unwraps the SPC with your FPS KSM and performs CK lookup Your App Your Key Database 5 5 6 Your Key Internet Server AVFoundation Delegate FPS KSM 2 1 3 4 Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 7 After lookup, your FPS KSM wraps the content key into a Content Key Context response Your App 5 5 Your Key Database 6 Your Key Server Internet 7 7 AVFoundation Delegate FPS KSM 2 1 3 4 Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 8 Your app delegate provides the CKC to AVFoundation Your App 5 5 Your Key Database 6 Your Key Server Internet 7 7 AVFoundation Delegate FPS KSM 2 1 3 4 8 Existing Provided Your Implementation AVFoundation

FairPlay Streaming Request Flow 9 Now the device can decrypt and play the content 9 Your App 5 5 Your Key Database 6 Your Key Server Internet 7 7 AVFoundation Delegate FPS KSM 2 1 3 4 8 Existing Provided Your Implementation AVFoundation

What Is Provided

What Is Provided AVFoundation, including API for AVAssetResourceLoader delegate

What Is Provided AVFoundation, including API for AVAssetResourceLoader delegate FairPlay Streaming SDK

What Is Provided AVFoundation, including API for AVAssetResourceLoader delegate FairPlay Streaming SDK Protocol specification

What Is Provided AVFoundation, including API for AVAssetResourceLoader delegate FairPlay Streaming SDK Protocol specification Server reference implementation

What Is Provided AVFoundation, including API for AVAssetResourceLoader delegate FairPlay Streaming SDK Protocol specification Server reference implementation Server test vectors and validation tools

What Is Provided AVFoundation, including API for AVAssetResourceLoader delegate FairPlay Streaming SDK Protocol specification Server reference implementation Server test vectors and validation tools Example content

What Is Provided AVFoundation, including API for AVAssetResourceLoader delegate FairPlay Streaming SDK Protocol specification Server reference implementation Server test vectors and validation tools Example content Client example code

Integrating FPS Into Your Key Server Your Key Server must: Decrypt and validate SPC request Lookup CK by the asset identifier Produce CKC response

Integrating FPS Into Your Key Server Your Key Server must: KSM: Decrypt and validate SPC request Lookup CK by the asset identifier Produce CKC response

Integrating FPS Into Your Key Server Your Key Server must: KSM: Decrypt and validate SPC request Lookup CK by the asset identifier KSM: Produce CKC response

Integrating FPS Into Your Key Server Your Key Server must: KSM: Decrypt and validate SPC request Lookup CK by the asset identifier KSM: Produce CKC response Implement KSM logic from scratch using protocol specification, or

Integrating FPS Into Your Key Server Your Key Server must: KSM: Decrypt and validate SPC request Lookup CK by the asset identifier KSM: Produce CKC response Implement KSM logic from scratch using protocol specification, or Customize the C reference implementation in the SDK (language, integration)

Testing Your Key Security Module

Testing Your Key Security Module Supplied test vectors should be used to validate correctness of responses produced

Testing Your Key Security Module Supplied test vectors should be used to validate correctness of responses produced Your KSM implementation will consume test SPC request and produce response

Testing Your Key Security Module Supplied test vectors should be used to validate correctness of responses produced Your KSM implementation will consume test SPC request and produce response Supplied tool will validate your produced CKC response

Testing Your Key Security Module Supplied test vectors should be used to validate correctness of responses produced Your KSM implementation will consume test SPC request and produce response Supplied tool will validate your produced CKC response Test vectors are based on non-functional development credentials

Testing Your Key Security Module Supplied test vectors should be used to validate correctness of responses produced Your KSM implementation will consume test SPC request and produce response Supplied tool will validate your produced CKC response Test vectors are based on non-functional development credentials End-to-end playback test on device requires production credentials!

Integrating FPS Into Your App Register an AVAssetResourceLoader delegate with AVAsset

Integrating FPS Into Your App Register an AVAssetResourceLoader delegate with AVAsset AVAssetResourceLoader delegate must:

Integrating FPS Into Your App Register an AVAssetResourceLoader delegate with AVAsset AVAssetResourceLoader delegate must: Generate the SPC - handle shouldwaitforloadingofrequestedresource: for key requests - call -[AVAssetResourceLoadingRequest streamingcontentkeyrequestdataforapp: contentidentifier: options: error: ] to produce SPC

Integrating FPS Into Your App Register an AVAssetResourceLoader delegate with AVAsset AVAssetResourceLoader delegate must: Generate the SPC - handle shouldwaitforloadingofrequestedresource: for key requests - call -[AVAssetResourceLoadingRequest streamingcontentkeyrequestdataforapp: contentidentifier: options: error: ] to produce SPC Send SPC request to your Key Server

Integrating FPS Into Your App Register an AVAssetResourceLoader delegate with AVAsset AVAssetResourceLoader delegate must: Generate the SPC - handle shouldwaitforloadingofrequestedresource: for key requests - call -[AVAssetResourceLoadingRequest streamingcontentkeyrequestdataforapp: contentidentifier: options: error: ] to produce SPC Send SPC request to your Key Server Provide CKC response (or error) to AVAssetResourceLoadingRequest

Encrypting and Testing Your Content

Encrypting and Testing Your Content Encrypt your content with HLS Sample Encryption

Encrypting and Testing Your Content Encrypt your content with HLS Sample Encryption METHOD=SAMPLE-AES

Encrypting and Testing Your Content Encrypt your content with HLS Sample Encryption METHOD=SAMPLE-AES KEYFORMAT= com.apple.streamingkeydelivery

Encrypting and Testing Your Content Encrypt your content with HLS Sample Encryption METHOD=SAMPLE-AES KEYFORMAT= com.apple.streamingkeydelivery Many 3rd-party encoders support HLS sample encryption

Encrypting and Testing Your Content Encrypt your content with HLS Sample Encryption METHOD=SAMPLE-AES KEYFORMAT= com.apple.streamingkeydelivery Many 3rd-party encoders support HLS sample encryption To check your encryption workflow

Encrypting and Testing Your Content Encrypt your content with HLS Sample Encryption METHOD=SAMPLE-AES KEYFORMAT= com.apple.streamingkeydelivery Many 3rd-party encoders support HLS sample encryption To check your encryption workflow SDK contains an example of sample-encrypted content for comparison

Encrypting and Testing Your Content Encrypt your content with HLS Sample Encryption METHOD=SAMPLE-AES KEYFORMAT= com.apple.streamingkeydelivery Many 3rd-party encoders support HLS sample encryption To check your encryption workflow SDK contains an example of sample-encrypted content for comparison HLS mediafilesegmenter can produce encrypted content for comparison

FairPlay Streaming with AirPlay

FairPlay Streaming with AirPlay

FairPlay Streaming with AirPlay AirPlay Video will transfer streaming operation to Apple TV

FairPlay Streaming with AirPlay AirPlay Video will transfer streaming operation to Apple TV No additional code needs to be written!

FairPlay Streaming with AirPlay AirPlay Video will transfer streaming operation to Apple TV No additional code needs to be written! SPC request is generated by FPS on Apple TV and CKC response is for Apple TV

FairPlay Streaming with AirPlay AirPlay Video will transfer streaming operation to Apple TV No additional code needs to be written! SPC request is generated by FPS on Apple TV and CKC response is for Apple TV Your app on the sending device relays messages between Apple TV and your key server

FairPlay Streaming with AirPlay AirPlay Video will transfer streaming operation to Apple TV No additional code needs to be written! SPC request is generated by FPS on Apple TV and CKC response is for Apple TV Your app on the sending device relays messages between Apple TV and your key server Provides the same level of security as local playback

FairPlay Streaming with AirPlay AirPlay Video will transfer streaming operation to Apple TV No additional code needs to be written! SPC request is generated by FPS on Apple TV and CKC response is for Apple TV Your app on the sending device relays messages between Apple TV and your key server Provides the same level of security as local playback FPS content is disabled by AirPlay Mirroring, not rendered in screenshots or recordings

FairPlay Streaming in Safari on OS X

FairPlay Streaming in Safari on OS X

FairPlay Streaming in Safari on OS X FairPlay Streaming accessed through HTML5 Encrypted Media Extensions

FairPlay Streaming in Safari on OS X FairPlay Streaming accessed through HTML5 Encrypted Media Extensions Key delivery code must be written in JavaScript

FairPlay Streaming in Safari on OS X FairPlay Streaming accessed through HTML5 Encrypted Media Extensions Key delivery code must be written in JavaScript Example provided with FPS SDK

FairPlay Streaming in Safari on OS X FairPlay Streaming accessed through HTML5 Encrypted Media Extensions Key delivery code must be written in JavaScript Example provided with FPS SDK Same KSM can support both ios clients and Safari on OS X

FairPlay Streaming in Safari on OS X FairPlay Streaming accessed through HTML5 Encrypted Media Extensions Key delivery code must be written in JavaScript Example provided with FPS SDK Same KSM can support both ios clients and Safari on OS X Supports AirPlay

Integrating FPS Into Your Web Page

Integrating FPS Into Your Web Page Set m3u8 URL as src attribute of HTML <video> tag (as usual)

Integrating FPS Into Your Web Page Set m3u8 URL as src attribute of HTML <video> tag (as usual) Add EventListener for webkitneedkey to video element:

Integrating FPS Into Your Web Page Set m3u8 URL as src attribute of HTML <video> tag (as usual) Add EventListener for webkitneedkey to video element: Set EME CDM keysystem (video.webkitsetmediakeys) to com.apple.fps.1_0

Integrating FPS Into Your Web Page Set m3u8 URL as src attribute of HTML <video> tag (as usual) Add EventListener for webkitneedkey to video element: Set EME CDM keysystem (video.webkitsetmediakeys) to com.apple.fps.1_0 Create keysession on video/mp4 to relay messages with the keysystem

Integrating FPS Into Your Web Page Set m3u8 URL as src attribute of HTML <video> tag (as usual) Add EventListener for webkitneedkey to video element: Set EME CDM keysystem (video.webkitsetmediakeys) to com.apple.fps.1_0 Create keysession on video/mp4 to relay messages with the keysystem Add Event handler for webkitkeymessage to keysession:

Integrating FPS Into Your Web Page Set m3u8 URL as src attribute of HTML <video> tag (as usual) Add EventListener for webkitneedkey to video element: Set EME CDM keysystem (video.webkitsetmediakeys) to com.apple.fps.1_0 Create keysession on video/mp4 to relay messages with the keysystem Add Event handler for webkitkeymessage to keysession: Send SPC request to your Key Server

Integrating FPS Into Your Web Page Set m3u8 URL as src attribute of HTML <video> tag (as usual) Add EventListener for webkitneedkey to video element: Set EME CDM keysystem (video.webkitsetmediakeys) to com.apple.fps.1_0 Create keysession on video/mp4 to relay messages with the keysystem Add Event handler for webkitkeymessage to keysession: Send SPC request to your Key Server Provide CKC response to keysession.update()

Safari Request Flow Safari Your Key Database Your Key Server Internet Your Site Your JS FPS KSM Existing Provided Your Implementation EME

Safari Request Flow 1 User hits Play 1 Safari Your Key Database Your Key Server Internet Your Site Your JS FPS KSM Existing Provided Your Implementation EME

Safari Request Flow 2 Your Event Listener receives webkitneedkey message 1 Safari Your Key Database Your Key Server Internet Your Site Your JS FPS KSM 2 Existing Provided Your Implementation EME

Safari Request Flow 3 Your Event Listener creates keysession and waits for webkitkeymessage Event 1 Safari Your Key Database Your Key Server Internet Your Site Your JS FPS KSM 2 3 Existing Provided Your Implementation EME

Safari Request Flow 4 Your webkitkeymessage Event Handler receives message containing SPC 1 Safari Your Key Database Your Key Server Internet Your Site Your JS FPS KSM 2 3 4 Existing Provided Your Implementation EME

Safari Request Flow 5 Your Event Handler sends SPC to your Key Server 1 Safari Your Key Database Your Key Server 5 Internet 5 Your Site Your JS FPS KSM 2 3 4 Existing Provided Your Implementation EME

Safari Request Flow 6 You update keysession upon receipt of CKC response 1 Safari Your Key Database Your Key Server 5 6 Internet 5 6 Your Site Your JS FPS KSM 2 3 4 6 Existing Provided Your Implementation EME

FairPlay Streaming Integration Troubleshooting

Troubleshooting Content Doesn t Play Content or Key?

Troubleshooting Content Doesn t Play Content or Key? KEYFORMAT= identity

Troubleshooting Content Doesn t Play Content Content or Key? Sample level encryption PAT/PMT, audio setup info Use supported codecs CK rotation on HLS segments

Troubleshooting Content Doesn t Play Content Content or Key? Key Delivery Sample level encryption PAT/PMT, audio setup info Use supported codecs CK rotation on HLS segments SPC generation failure Transport CK lookup CKC processing failure

Summary of FairPlay Streaming FairPlay Streaming provides industrial-strength content protection for HLS Built into on ios, Apple TV and Safari on OS X Deeply integrated into the OS Designed for power-efficient playback Supports platform features such as AirPlay, external output protection, and HTML5

More Information Documentation and Videos FairPlay Streaming http://developer.apple.com/streaming/fps/ Technical Support Apple Developer Forums http://developer.apple.com/forums Developer Technical Support http://developer.apple.com/support/technical

Labs HTTP Live Streaming Lab AirPlay Lab AVKit and AV Foundation Lab AVKit and AV Foundation Lab HTTP Live Streaming Lab Graphics, Games and Media Lab B Graphics, Games and Media Lab B Graphics, Games and Media Lab A Graphics, Games and Media Lab B Graphics, Games and Media Lab C Tuesday 11:00AM Tuesday 3:30PM Wednesday 1:30PM Thursday 11:00AM Thursday 11:00AM