Azure Media Service:打造可擴充、支援多種播放平台與版權保護的媒體播放雲端平台
陶强Azure 全球黑带
Azure Media Services Introduction
Video-on-demand workflow
• Encoding features
• Dynamic packaging
Azure Media Player
• Features
• Media Player Plugins
Content Protection (AES and DRM)
• Dynamic Encryption
Live encoding and streaming workflow
• How does it work
• Demo
Huge capital investment requiredVideo is the new currency
不断扩大的生态环境,提供第三方合作伙伴增值组件
直播和点播视频流集成CDN
内容保护转码和
媒体智能化
云存储和上传
支持大规模的视频直播、点播和业务视频流应用
客户端
播放器
Ingest/Store
Encode
Encrypt
Publish
Stream/Deliver
Encoder
Starting from 1.99/GB
Premium Encoder
Starting from 1.99/GB
0
1
2
3
4
5
6
Basic Standard Premium
Encoder Performance
2x faster
4-5x faster
$69/mo $139/mo $399/mo
comparison between Encoder and Premium encoder
Video sources Multi-bitrates Mp4Origin Service
HLS
Smooth
Streaming
Encode
Video sources Multi-bitrates Mp4
Origin Service
HLS
Smooth
Streaming
Encode
Dynamic
Packaging
Traditional Encode and Package
Dynamic Packaging
Input format: Mp4 or Smooth Streaming Output format: Smooth Streaming , Http-Live-Streaming (v4 and v3), MPEG-DASH
You need to have at least 1 reserved streaming unit to enable dynamic packaging!
DASH
Media Services APIs and SDKs REST API for all platformsReference: http://msdn.microsoft.com/en-us/library/windowsazure/hh973617.aspx
.NET library Nuget package: https://nuget.org/packages/windowsazure.mediaservices
GitHub: https://github.com/Azure/azure-sdk-for-media-services
Extensions for .NET SDK: https://github.com/sazure/azure-sdk-for-media-services-extensions
PHP Library GitHub: https://github.com/windowsazure/azure-sdk-for-php
Open Tech blog with demo: http://msopentech.com/blog/2014/01/23/ms-open-technologies-enhances-open-source-php-sdk-windows-azure/
JAVA library http://www.windowsazure.com/en-us/develop/java/java-home Windows / Mac / Linux
GitHub: https://github.com/windowsazure/azure-sdk-for-java/
PowerShell cmdletsHow to use: http://www.gtrifonov.com/2013/08/24/how-to-use-windows-azure-powershell-for-media-services/
Node.js libraryGitHub: https://github.com/fritzy/node-azure-media
http{media services account name}.origin.mediaservices.net/{locator ID}/{filename}.ism/Manifest(format=mpd-time-csf)
Streaming Locator
Format Syntax
Smooth Streaming
Smooth Streaming 2.0 manifest (legacy manifest) (format=fmp4-v20)
MPEG DASH (format=mpd-time-csf)
Apple HTTP Live Streaming (HLS) V4 (format=m3u8-aapl)
Apple HTTP Live Streaming (HLS) V3 (format=m3u8-aapl-v3)
HDS (for Adobe PrimeTime/Access licensees only) (format=f4m-f4f)
• 一个播放器支持所有屏幕尺寸与设备
• HTML / JavaScript / CSS 多种部署方式
• 支持 HTML5 和回退到 Flash / Silverlight
• 自动检测系统寻找视频流
• 最佳的回放格式,自适应比特率
Demo: http://aka.ms/azuremediaplayer
可嵌入到自定义的网页与移动应用中
Implemented Features
• Playback of Content from Azure Media
Services
• Clear On Demand
• Clear Live
• AES-128 Encrypted content
• PlayReady Encrypted content
• Widevine encrypted content
• Playback across a wide range of devices
• Simple setup with <video> or via JS
• Unified JavaScript APIs
• Basic Heuristics
• Unified Player UI
Coming Soon
• Full Subtitles/Captions support
• Discontinuities
• Trick-Play
• Audio Only
• Ads support
• Analytics
• Audio Track Selection
• Bitrate Selection
• Heuristics APIs
• Specific error messaging and across-tech error unification
• Multi-period presentations
• Multiple camera angles
Unified CSS UI
Unified JS Interface
Tech order
A DASH player (HTML5 EME/MSE)
A flash player
A Silverlight player
Native HTML5(Built in browser)
• Access Platform/device capability• Choose player based on tech order• Pick up right streaming URLs from AMS
Playback (VOD, live, protected content)
Azure Media Player PluginsPlugin Name Demo URL Source Code Description
Additional Features
Title Overlay Demo Github Overlays configurable video title over screen
Timeline Markers Demo GithubThis plugin takes in an array of times and overlays tiny markers
over the progress bar at those times
Analytics
Application
InsightsBlog Post Github
Plugin that tracks your player metrics and ports it to Power BI for
an intuitive graphical representation of your viewers' player
experience
Google Analytics N/A Github Google Analytics plugin for Azure Media Player
Diagnostics
Diagnostics
OutputDemo Github
This plugin outputs an array of diagnostics from your player, to
see it in action go to the demo link and open up your javascript
console
Ease of Access
Zoom In Demo GithubThis plugin displays a drag-able zoom-in scale on the players
screen so viewers can zoom in on your content
Live CaptionsSubPly Post,
Azure Blog PostN/A
End to End workflow designed for live captioning built plugin for
Azure Media Player, click on the left most lin to go to SubPly's
site and learn more about the solution
Social
Share Demo GithubThis plugin adds a share button to the player's control bar so that
your viewers can share the video they're watching with their
friends via Facebook, Twitter or Linkedin
AMP Application Insights Pluginshttps://github.com/Azure-Samples/media-services-javascript-azure-media-player-application-insights-plugin
AMP Application Insights Pluginshttps://github.com/Azure-Samples/media-services-javascript-azure-media-player-application-insights-plugin
Azure Media Player announcement
Player API documentation
Player API version
Player demo pages
Azure Media Play Plugins
• Secure Upload and Secure Storage Options
• Dynamic Encryption Options for Content Streaming
• AES-128 Clear Key
• Microsoft PlayReady
• Hosted License for Key Delivery
• Token-based Authentication models and Integration with Active Directory
• Diverse playback options
Dynamically encrypt your single encoded multi-bitrate MP4 via common encryption scheme (CENC) with popular DRM technologies such as Microsoft PlayReady and Google Widevine, and deliver via MPEG-DASH. DRM technology allows you to define restrictive licensing agreement to manage user access rights to your media.
Source: IDC Successful Cloud Partners 2013
DRM technology
Who should use this feature:
Premium studio content or high business impact content: Key is encrypted and decryption happens in a secure DRM decoder environment
Choose the best content protection method on the fly
Encrypt on-the-wire communication using the widely-known symmetric AES encryption algorithm. An authentication service for key is provided.
Source: IDC Successful Cloud Partners 2013
AES Clear Key encryption
Who should use this feature:
Trusted audience or time-valued content: Key is stored in clear format so it can only be used with trusted users or content that has time value associated with it. Used to prevent “man-in-the-middle” attacks
Storage
• MP4
Define:
Origin Service
DRM/Key services
Tokenverification
License/AES Key
Customer’s Auth system
Content Key Authorization policy(Token/IP/Open)
assetAsset Delivery policy (MPEG-DASH with PlayReady or Widevine)(Smooth/HLS with PlayReady)
Client SDK
Customers
Microsoft PlayReady DRM
(free)
(free)
(free)
(licensee fee)
Google Widevine DRM
All free to use
Ingest
Transform
Archive
Encrypt
Deliver
Live channel
Ingest URL
RTMP (Highest Bitrate)RTP
Smooth Streaming
Preview URL
Live
Enc
odin
g
Prev
iew
Input devices
• Ingest endpoint to accept Live streams
• Convert ingest data to fMP4 (e.g. RTMP fMP4)
• Forwards the stream to live encoding or preview end-points
Azure Media Services
• Encode video into multi-bitrates
Live channel
Ingest URL
RTMP (Highest Bitrate)RTP
Smooth Streaming
Preview URL
Live
Enc
odin
g
Prev
iew
Input devices
• Receives stream from Ingest
• Forwards to Program
• Exposes Preview URL (for monitoring)
Azure Media Services
• Writes it to Blob Storage for
Archive/DVR
Prog
ram Storage
(fmp4)
Prog
ram
Streaming endpoints
Dyn
amic
Enc
rypt
ion
Dyn
amic
Pac
kagi
ng
CDN Live stream(Program URLs)
StorageFMP4
Streaming Endpoint
Client SDK
Players
Architecture: Live Streaming with dynamic encryption
ChannelProgram
Multi-bitrate RTMP/Smooth
Preview- monitoring
PlayReady license/ AES Key Services
Token Authentication
PlayReady License/ AES Key
Customer’s Auth system
Features:
• Live encoding of a single bitrate live feed into an adaptive bitrate stream
• Ability to ingest a live feed over RTP protocol (MPEG Transport Streams), RTMP and Smooth Streaming
• Ability to control insertion of slates
• Ability to get a thumbnail preview of the live feed
live streaming through the cloud
Key Takeaways
• Media Services are easy, flexible, and powerful
• Customers can reach any device using any protocol
• Partner ecosystem: easily build-in or build-on
• Content protection across all clients
• Pay for what you use, easy to understand billing
• Any media, on any device, delivered from the cloud