devcon12 // msdevcon.ru #msdevcon. // devcon12 azr203 ia

42
DevCon•12 // msdevcon.ru #msdevcon 23-24 мая, 2012 г. Microsoft

Upload: lesley-goodwin

Post on 25-Dec-2015

241 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

DevCon•12// msdevcon.ru

#msdevcon

Page 2: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

// DevCon•12

ДМИТРИЙ МАРТЫНОВ

dmitrim @ microsoft.com

Platform Strategy Adviser, Azure Incubation

Microsoft

AZR203 www.windowsazure.com/media

Page 3: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Темы

Введение в темуКак это работало раньшеОбзор и использование Azure Media ServicesДемонстрацияRoadmap

Page 4: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Растет потребление видео

35% Интернет трафика - видео, 80% к 2015Рост ~50% в год

TВ IP TВ

~50 млн. телевизоров с Интернет продано в 2012

150 млн.+ телефонов с доступом к ИнтернетБолее 66 млн. консолей Xbox

Поставщикам нужен доступ к новым потребителям

Трафик

Потребители

Page 5: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Увеличивается сложность

Форм факторыРазмер экранаМетоды ввода данныхПроизводительность

СценарииОнлайн и оффлайнПредпросмотр, приобретение, аренда, подпискаДоступ к защищенному контенту

ФорматыКонтейнерыКодекиЗащита

?

Page 6: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Меняется парадигма

Цифровая революция

Облачная революция

vs vs

Page 7: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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

Page 8: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Как это обычно работало (2)

azlivestreaming.codeplex.com

Деплой сервисовНастройкаОбработка архиваРучной транскодингПубликация...

Page 9: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Windows Azure Media Services

Расширяемая мульти-тенантная платформа наWindows Azure• Взято лучшее от медиа-компонентов

Microsoft

• Партнеры могут разрабатывать интегрированные компоненты или готовые сервисы поверх платформы

• Заказчики могут создавать собственные решения или использовать готовые сервисы

Page 10: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Возможности Media ServicesНабор компонентов для для создания готовых медиа-решений в

облаке

Encoding Analytics

Windows Azure Media Services

LiveStreaming

FormatConversio

n

Content Protection

On-DemandStreaming

Advertising

Ingestion

Page 11: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Как использовать 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 или встроенные компоненты партнеров

Page 12: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Как использовать Media Services? (1)

BroadcastersNetwork OperatorsContent OwnersEnterprises

Готовое решение по доставке видео до потребителя

Encoding Analytics

Windows Azure Media Services

LiveStreaming

FormatConversio

n

Content Protection

On-DemandStreaming

Advertising

Ingestion

Page 13: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Как использовать 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

Page 14: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Все популярные сценарии и устройства

Как использовать Media Services? (3)

Rental | Subscription | Purchase | Free

Windows Azure Media Services

Windows Azure CDN

3rd Party CDN

LiveStreaming

On-DemandStreaming

Page 15: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Архитектура 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

Page 16: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

#msdevcon

Пример решения на платформе

Windows Azure Media Services

Демонстрация

Page 17: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Возможности для разработки

Build-OnBuild-In

• Предложение уникальных компонентов

• Другие компании используют ваши компоненты напрямую через интерфейс Media Services -или/и-

• Предоставить свои сервисы через маркетплейсWindows Azure

• SaaS медиа-решения поверх Media Services• Готовые или специализированные

приложения• Использование всех или выбранных

компонентов Media Services

• Продажа от своего имени-и/или-

• Продвижение через маркетплейсWindows Azure

Page 18: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Партнеры 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

Page 19: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Пример решения - 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

Page 20: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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

Page 21: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Весенний релизВозможности и сценарии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

Page 22: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Весенний релиз (Preview) : Ключевой сценарий Video On Demand

Защищенная загрузка с помощью сервиса быстрой загрузки видео

Хранение зашифрованного контента в облаке

Кодирование контента в H.264

Шифрование DRM, например, BuyDRM

Доставка защищенного DRM видеопотока через Media Services и CDN, например, Akamai

Клиенты PC, Xbox, iOS и Windows Phone

Page 23: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Ключевые моменты

Media Services – простые, гибкие и мощные

Можно создавать или встраивать решения

Оплата за использование – прозрачный биллинг Компоненты можно использовать вместе или раздельноПоддерживаются популярные форматы и устройства

Page 24: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Призыв к действию

Подпишитесь на preview www.windowsazure.com/media

Media Services будут бесплатными на период preview(другие сервисы Windows Azure оплачиваются как обычно: хранилище, трафик, etc.)

Page 25: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

ОНЛАЙН ТРАНСЛЯЦИЯ

MEET Windows Azure

7 июня24:00 (МСК)

www.meetwindowsazure.com

Page 26: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Вопросы и обсуждение

Page 27: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

© 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.

Page 28: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Technical Appendix

Page 29: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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

Page 30: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Media Services SDK

Page 31: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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

Page 32: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Partner Integration

Build InIntegrated into On-Demand pipelineValidated by Microsoft

Build OnConsume On-Demand pipeline through REST APIsOn premise or Azure based services/solutions

Page 33: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

ObjectsThese are traditional entitiesAssets, content keys, files

DescriptorsDescribe operations to be taken in the systemJobs, tasksWorkflow templates

Build-OnEntities

Page 34: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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

Page 35: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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

Page 36: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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

Page 37: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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

Page 38: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

Azure Media ServicesOn-Demand

Partner Media Processor

IMed

iaPro

cess

or

IMed

iaPro

cess

orH

ost

IMediaTask

Build-InMedia processor workflow

Page 39: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

public interface IMediaProcessor{ public void Initialize(IMediaProcessorHost host); public TaskResult ProcessTask(IMediaTask task); public void CancelTask(Guid taskId);}

Page 40: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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; }}

Page 41: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

public interface IAsset{ public Guid Id { get; } public IAssetFiles AssetFiles { get; } public IContentKey ContentKeys { get; } public Task DownloadFilesAsync() public Task UploadFilesAsync()}

Page 42: DevCon12 // msdevcon.ru #msdevcon. // DevCon12 AZR203  ia

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