devcon12 // msdevcon.ru #msdevcon. // devcon12 azr203 ia
TRANSCRIPT
DevCon•12// msdevcon.ru
#msdevcon
// DevCon•12
ДМИТРИЙ МАРТЫНОВ
dmitrim @ microsoft.com
Platform Strategy Adviser, Azure Incubation
Microsoft
AZR203 www.windowsazure.com/media
Темы
Введение в темуКак это работало раньшеОбзор и использование Azure Media ServicesДемонстрацияRoadmap
Растет потребление видео
35% Интернет трафика - видео, 80% к 2015Рост ~50% в год
TВ IP TВ
~50 млн. телевизоров с Интернет продано в 2012
150 млн.+ телефонов с доступом к ИнтернетБолее 66 млн. консолей Xbox
Поставщикам нужен доступ к новым потребителям
Трафик
Потребители
Увеличивается сложность
Форм факторыРазмер экранаМетоды ввода данныхПроизводительность
СценарииОнлайн и оффлайнПредпросмотр, приобретение, аренда, подпискаДоступ к защищенному контенту
ФорматыКонтейнерыКодекиЗащита
?
Меняется парадигма
Цифровая революция
Облачная революция
vs vs
Windows Azure
PushPublishing
Point
ExpressionEncoder 4 SP1
Push
Pull
Web-roleMedia Services
Sm
ooth
Stre
am
ing
Web-roleMedia Services
Как это обычно работало
http://upstream.cloudapp.net/push.isml*
http://downstream.cloudapp.net/pull.isml/manifest*
Web-roleMedia ServicesWeb-role
Media ServicesWeb-role
Media ServicesPullPublishing
Point
Load Balanced Farm
Silverlight Player XAP
Silverlight Player XAP
<video/>iOS devices
*Example address
Как это обычно работало (2)
azlivestreaming.codeplex.com
Деплой сервисовНастройкаОбработка архиваРучной транскодингПубликация...
Windows Azure Media Services
Расширяемая мульти-тенантная платформа наWindows Azure• Взято лучшее от медиа-компонентов
Microsoft
• Партнеры могут разрабатывать интегрированные компоненты или готовые сервисы поверх платформы
• Заказчики могут создавать собственные решения или использовать готовые сервисы
Возможности Media ServicesНабор компонентов для для создания готовых медиа-решений в
облаке
Encoding Analytics
Windows Azure Media Services
LiveStreaming
FormatConversio
n
Content Protection
On-DemandStreaming
Advertising
Ingestion
Как использовать Media Services?
Windows Azure Media Encoder
3rd Party Media Encoder A
3rd Party Media Encoder B
3rd Party Media Encoder C
Microsoft PlayReady Packager
3rd Party Packager A
3rd Party Packager B
3rd Party Packager C
IIS Smooth Streaming Origin
3rd Party Server A
3rd Party Server B
3rd Party Server C
Content Protection
On-Demand StreamingEncoding
Компоненты Microsoft или встроенные компоненты партнеров
Как использовать Media Services? (1)
BroadcastersNetwork OperatorsContent OwnersEnterprises
Готовое решение по доставке видео до потребителя
Encoding Analytics
Windows Azure Media Services
LiveStreaming
FormatConversio
n
Content Protection
On-DemandStreaming
Advertising
Ingestion
Как использовать Media Services? (2)
Analytics
Content Protection
Encoding
Объединение с локальными или Интернет-ресурсами
Encoding Analytics
Windows Azure Media Services
LiveStreaming
FormatConversio
n
Content Protection
On-DemandStreaming
Advertising
Ingestion
BroadcastersNetwork OperatorsContent OwnersEnterprises
Все популярные сценарии и устройства
Как использовать Media Services? (3)
Rental | Subscription | Purchase | Free
Windows Azure Media Services
Windows Azure CDN
3rd Party CDN
LiveStreaming
On-DemandStreaming
Архитектура Media Services
REST API
Решения партнеров и заказчиков
Azu
re C
DN
Компоненты Azure Media Services
Adaptive StreamingPorting Kits(STB, iOS/Android)
Silverlight
Windows Phone
HTML5
Flash
Пар
тнер
ский
CD
N
Origin
Caching
Windows 8
Windows Azure
Secure Media Ingest
Media Job Scheduling
Encoding
ContentProtection
On-DemandOrigin
Live Origin
Analytics Identity Management
Ad InsertionXbox
“Build-In”Partner Media Processors
Live Ingest
Live Encoding
Client Libraries
#msdevcon
Пример решения на платформе
Windows Azure Media Services
Демонстрация
Возможности для разработки
Build-OnBuild-In
• Предложение уникальных компонентов
• Другие компании используют ваши компоненты напрямую через интерфейс Media Services -или/и-
• Предоставить свои сервисы через маркетплейсWindows Azure
• SaaS медиа-решения поверх Media Services• Готовые или специализированные
приложения• Использование всех или выбранных
компонентов Media Services
• Продажа от своего имени-и/или-
• Продвижение через маркетплейсWindows Azure
Партнеры Azure Media ServicesPartner Category Partners
Ingest Aspera
Encoding Digital Rapids, ATEME, Vanguard Software Solutions, iStreamPlanet, Dolby, etc.
Content Protection BuyDRM, EZDRM, Civolution, etc.
Origin Wowza
CDN Akamai
“Build-On” ISV’s deltatre, iStreamPlanet, Movideo, Origin Digital, etc.
Broadcasters CTV, France Televisions, Terra, RTVE, KBS
Clients / Devices Authentec, Irdeto, LG, MStar, OpenTV, Pace, Roku, Sigma Design, STMicro, Tatung, Vestel
Пример решения - VoD
AzureCDN
Media Services
REST API
Partner UDP Upload
Application
UDP
AzureBlob
Storage
Create AssetsClient Application
HTTP Upload via SAS URL
Submit Jobs
Windows Azure Media Services
FTPs, Azure, S3, HTTP URL
Upload / DownloadService
Job Scheduler
Media ServicesOrigin
Servers
Encoders,Transmux
&Encrypt
Encoders,Transmux
&Encrypt
Partner Encoders,Transmux
&Encrypt
PlayReadyLicenseServers
FTP/s, HTTP/s
Media Services
Client Library
Player
Ingest Transform Deliver
PartnerUDPFile
Receiver
AssetMetadata
KeyManagement
PartnerCDNs
TAPOn-Demand• December 2011 – April 2012
PreviewOn-Demand• May 2012 – August 2012
Release 1On-Demand Only• Fall 2012
Preview – Live Streaming• May 2012 – Fall 2012
Release 2Live+On-Demand• Winter 2012
TAP: Encoding December ’11
- Ingest (HTTPs)- Encoding and Job
management- Encryption- Download- Client SDK- Partner SDK
Preview: Encoding and Delivery May ‘12
Adds…- Partner encoders- Ingest via UDP- Origin servers- CDN delivery
TAP: Live May ‘12
- Channel creation- Channel
management- Live Streaming
(Smooth and HLS)
Preview: Live Q3 CY12
Adds…- Transport Stream
ingest- Ad insertion- Rough Cut Editing
Roadmap
Весенний релизВозможности и сценарииVoD сценарий
Загрузка HTTP и быстрый UDP (Aspera)
Кодирование Windows Azure Media Encoder и партнерские кодировщики
“Media Processor” .NET SDK для интеграции (Digital Rapids)
Транскодинг IIS Transform Manager
MP4 Smooth
Smooth HLS
Шифрование PlayReady, лицензии*
Видео по запросу сервисы с поддержкой HLS, Flash и Smooth Streaming
Потоковое видео через Azure CDN или партнерский CDN (pulling from Origins)
ODATA REST API и Client SDK для .NET
* Доступны провайдеры PlayReady
Весенний релиз (Preview) : Ключевой сценарий Video On Demand
Защищенная загрузка с помощью сервиса быстрой загрузки видео
Хранение зашифрованного контента в облаке
Кодирование контента в H.264
Шифрование DRM, например, BuyDRM
Доставка защищенного DRM видеопотока через Media Services и CDN, например, Akamai
Клиенты PC, Xbox, iOS и Windows Phone
Ключевые моменты
Media Services – простые, гибкие и мощные
Можно создавать или встраивать решения
Оплата за использование – прозрачный биллинг Компоненты можно использовать вместе или раздельноПоддерживаются популярные форматы и устройства
Призыв к действию
Подпишитесь на preview www.windowsazure.com/media
Media Services будут бесплатными на период preview(другие сервисы Windows Azure оплачиваются как обычно: хранилище, трафик, etc.)
ОНЛАЙН ТРАНСЛЯЦИЯ
MEET Windows Azure
7 июня24:00 (МСК)
www.meetwindowsazure.com
Вопросы и обсуждение
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be
a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
PRESENTATION.
Technical Appendix
Example Workflow - VoD
AzureCDN
Media Services
REST API
Partner UDP Upload
Application
UDP
AzureBlob
Storage
Create AssetsClient Application
HTTP Upload via SAS URL
Submit Jobs
Windows Azure Media Services
FTPs, Azure, S3, HTTP URL
Upload / DownloadService
Job Scheduler
Media ServicesOrigin
Servers
Encoders,Transmux
&Encrypt
Encoders,Transmux
&Encrypt
Partner Encoders,Transmux
&Encrypt
PlayReadyLicenseServers
FTP/s, HTTP/s
Media Services
Client Library
Player
Ingest Transform Deliver
PartnerUDPFile
Receiver
AssetMetadata
KeyManagement
PartnerCDNs
Media Services SDK
Typical On-Demand Workflow
Job Creation
Media Processing
Delivery
Ingest Assets
Ingest Assets into the SystemFast UDP, HTTPS, Ship Disk
Job Creation/ManagementManage custom job workflowsMonitor current status of jobs
Media ProcessingAutomatically scalable media processorsPartner components, custom workflows
Encode, Transmux, DRM, Watermark
DeliveryFast UDP, SAS URL, Origin serving overAzure and Partner CDN
Partner Integration
Build InIntegrated into On-Demand pipelineValidated by Microsoft
Build OnConsume On-Demand pipeline through REST APIsOn premise or Azure based services/solutions
ObjectsThese are traditional entitiesAssets, content keys, files
DescriptorsDescribe operations to be taken in the systemJobs, tasksWorkflow templates
Build-OnEntities
Files
AccessPolicies
Content
Keys
Actual video and audio blobs stored on diskStored in Azure Blob Storage
URLs used to access contents of the assetAssociated with locators
Encryption information for protected assetsAssets encrypted by default
Asset
Build-OnObjects
Job
Task
Task
Task
Build-OnDescriptors
Jobs
Description of work that needs to be performed in the systemCan be scheduled, monitored, cancelled
Tasks
Each job has one or more tasks definedDefine the workflow – dependencies, inputs, outputsSingle unit of work to be executed by a media processor
Templates
System and custom templates
Build-OnClient libraries
REST API for all platforms, using Odata 3.0
Client .NET library that wraps the REST API
.NET for v1, with more clients in future Simple to write your own client libraries using existing OData support or just use the direct REST API using standard HTTP verbs (GET, POST, PUT, DELETE)
Future Client libraries for Java, PHP, Node in works
Libraries available with source code (Apache 2 license) on GitHub
Job Creation
Media Processing
Delivery
Build-InMedia processing pipeline
Media TaskTask description information
Inputs/Outputs, Content KeysMedia Processor-specific private data
Bitrates, presets, file formats, DRM keys
System HostAccess to the On-Demand system resources
Compute resources – scheduling subtasksStorage resources – creating temporary assets
Media Processing
Azure Media ServicesOn-Demand
Partner Media Processor
IMed
iaPro
cess
or
IMed
iaPro
cess
orH
ost
IMediaTask
Build-InMedia processor workflow
public interface IMediaProcessor{ public void Initialize(IMediaProcessorHost host); public TaskResult ProcessTask(IMediaTask task); public void CancelTask(Guid taskId);}
public interface IMediaTask{ public Guid TaskId { get; } public IAsset[] Inputs { get; } public IAsset[] Outputs { get; } public double Progress { get; set; } public IMediaTask[] DependentTasks { get; } public string PrivateData { get; }}
public interface IAsset{ public Guid Id { get; } public IAssetFiles AssetFiles { get; } public IContentKey ContentKeys { get; } public Task DownloadFilesAsync() public Task UploadFilesAsync()}
How Do I Get into the System?
Implement an IMediaProcessorCore interface that the Nimbus system will drive
REST API private data validatorLight weight component, runs in Nimbus Scheduler before task scheduling occursValidate Media Processor specific data sent through the REST APIs
Submit installer for certificationValidation scenariosRegister as a live Media Processor