SlideShare a Scribd company logo
1 of 105
Download to read offline
<初級> Windows Azure Media Services
を活用したマルチデバイスへの動画配信
2013年05月11日(土)15:00-15:50
Community Open Day 2013 東京会場
せき@fullvirtue
1Copyright © @fullvirtue. All rights reserved.
はじめに
セッション概要(告知文)
Windows Azure Media Services とは、
ビデオの作成、管理、およびユーザーへの配信をだれでも簡単に
利用できるようにした機能で、Windows Azure の中でも非常に
注目を集めています。
Windows Azure Media Services を使ったサービスを開発した
経験から、開発方法や Tips を、デモを交えてお届けいたします。
Copyright © @fullvirtue. All rights reserved. 2
はじめに
本セッションのゴール
Windows Azure 管理ポータルから配信する手順を確認
Windows Azure Media Services の開発環境準備方法を確認
Windows Azure Media Services のAPIを使った配信手順を確認
Windows Azure Media Services の背景やコンセプトを確認
– 本セッションは、2012年12月リリースの public beta の仕様に
基づきます。
– 今後、予告なく変更される可能性がありますのでご注意ください。
Copyright © @fullvirtue. All rights reserved. 3
Copyright © @fullvirtue. All rights reserved.
今日のアジェンダ(1/1)
Windows Azure 管理ポータルでの配信手順
Windows Azure Media Services 開発環境の準備
Windows Azure Media Services APIを使った配信手順
Windows Azure Media Services コンセプト
まとめ
4
おことわり(1/1)
今回の資料について
 本内容はMicrosoftより許可を得て、一部他資料をそのまま利用しています
 今回の資料は、以下の資料を参考にしています。
私自身のオリジナルはほとんどありませんので、ご了承ください。
– はじめての Windows Azure メディア サービス
» http://msdn.microsoft.com/ja-jp/windowsazure/dn133199
– Media Services SDK for .NET を使用したアプリケーション構築
» http://msdn.microsoft.com/ja-jp/en-
us/library/windowsazure/hh973613.aspx
– msdn - Windows Azure Media Services
» http://msdn.microsoft.com/ja-jp/library/hh973629
– Windows Azure Media Services Poster
» http://www.microsoft.com/en-us/download/details.aspx?id=38195
– ScottGu’s Blog: Windows Azure Media Services and London 2012 Olympics
» http://weblogs.asp.net/scottgu/archive/2012/08/21/windows-azure-
media-services-and-the-london-2012-olympics.aspx
Copyright © @fullvirtue. All rights reserved. 5
WINDOWS AZURE 管理ポータルでの
配信手順
Copyright © @fullvirtue. All rights reserved. 6
Windows Azure 管理ポータルでの配信手順(1/26)
Windows Azure Media Service の用意
1. Windows Azure サブスクリプションのご用意
2. Windows Azure Media Services アカウント作成
3. 動画ファイルのご用意
4. Sample Playerの準備
Copyright © @fullvirtue. All rights reserved. 7
Windows Azure 管理ポータルでの配信手順(2/26)
1. Windows Azure サブスクリプションのご用意
1. Windows Azureのサブスクリプション購入
2. Windows AzureのWebサイトおよびWindows Azureポータル
のサブスクリプション購入の確認
3. Windows Azure プレビュー機能のサインアップ
[ご参考]
– http://aka.ms/azure-subscription
Copyright © @fullvirtue. All rights reserved. 8
Windows Azure 管理ポータルでの配信手順(3/26)
2. Windows Azure Media Services アカウント作成
Windows Azure 管理ポータルより以下を選択
[新規]-[アプリ サービス]-[メディアサービス]-[簡易作成]
Copyright © @fullvirtue. All rights reserved. 9
Windows Azure 管理ポータルでの配信手順(4/26)
2. Windows Azure Media Services アカウント作成
【ご参考】
– アカウント管理のAPI(RESTのみ)について
» Operations on Media Services (only English)
» http://msdn.microsoft.com/ja-jp/library/dn167014
» 使い道の例
Windows Azure Media Servicesの存在を意識させたくない場合
• →SaaS のような統合パッケージ等
マルチテナントでの課金などの簡易化
Copyright © @fullvirtue. All rights reserved. 10
Windows Azure Media Services 開発環境の準備(5/26)
3. 動画ファイルのご用意
– Windows Azure Media Encoder でサポートされている
コーデックとファイルの種類
» http://msdn.microsoft.com/ja-jp/library/hh973634
Copyright © @fullvirtue. All rights reserved. 11
ビデオコーデック •H.264 (Baseline、Main、および High Profile)
•MPEG-1
•MPEG-2 (Simple および Main Profile)
•MPEG-4 v2 (Simple Visual Profile および Advanced Simple Profile)
•VC-1 (Simple、Main、および Advanced Profile)
•Windows Media ビデオ (Simple、Main、および Advanced Profile)
•DV (DVC、DVHD、DVSD、DVSL)
ビデオファイル形式 ファイル形式 ファイル拡張子
•3GPP、3GPP2
•Advanced Systems Format (ASF)
•Advanced Video Coding High Definition (AVCHD) [MPEG-2 トランスポート ストリーム]
•Audio-Video Interleaved (AVI)
•Digital camcorder MPEG-2 (MOD)
•デジタル ビデオ (DV) カメラ ファイル
•DVD トランスポート ストリーム (TS) ファイル
•DVD ビデオ オブジェクト (VOB) ファイル
•Expression Encoder Screen Capture Codec ファイル
•MP4
•MPEG-1 システム ストリーム
•MPEG-2 ビデオ ファイル
•スムーズ ストリーミング ファイル形式 (PIFF 1.3)
•Windows Media ビデオ (WMV)
.3gp、.3g2、.3gp2
.asf
.mts、.m2ts
.avi
.mod
.dv
.ts
.vob
.xesc
.mp4
.mpeg、.mpg
.m2v
.ismv
.wmv
Windows Azure Media Services 開発環境の準備(6/26)
3. 動画ファイルのご用意
– Windows Azure Media Encoder でサポートされている
コーデックとファイルの種類
» http://msdn.microsoft.com/ja-jp/library/hh973634
Copyright © @fullvirtue. All rights reserved. 12
オーディオコーデック •AC-3 (Dolby Digital オーディオ)
•AAC (AAC-LC、HE-AAC v1 と AAC-LC コア、および HE-AAC v2 と AAC-LC コア)
•MP3
•Windows Media オーディオ (Windows Media オーディオ Standard、Windows Media オーディオ Professional、お
よび Windows Media オーディオ ロスレス)
オーディオファイル形式 ファイル形式 ファイル拡張子
•AC-3 (Dolby Digital) オーディオ
•Audio Interchange File Format (AIFF)
•Broadcast Wave Format
•MP3 (MPEG-1 Audio Layer 3)
•MP4 オーディオ
•MPEG-4 オーディオ ブック
•WAVE ファイル
•Windows Media オーディオ
.ac3
.aiff
.bwf
.mp3
.m4A
.m4b
.wav
.wma
画像ファイル形式 ファイル形式 ファイル拡張子
•ビットマップ
•GIF、アニメーション GIF
•JPEG
•PNG
•TIFF
•WPF Canvas XAML
.bmp
.gif
.jpeg、.jpg
.png
.tif
.xaml
Windows Azure Media Services 開発環境の準備(7/26)
3. 動画ファイルのご用意
– Windows Azure Media Encoder でエクスポート用に
サポートされているコーデックとファイルの種類
» http://msdn.microsoft.com/ja-jp/library/hh973634
» Media Servicesでサポートされているコーデックの詳細
http://msdn.microsoft.com/en-us/library/windows/desktop/ff819077.aspx
» Media Servicesでサポートされているフィルターの詳細
http://msdn.microsoft.com/en-us/library/windows/desktop/dd375464.aspx
Copyright © @fullvirtue. All rights reserved. 13
ファイル形式 ビデオ コーデック オーディオ コーデック
•Windows メディア (*.wmv、.wma) •VC-1 (Advanced、Main、および Simple
Profile)
•Windows Media オーディオ Standard
•Windows Media オーディオ Professional
•Windows Media オーディオ音声
•Windows Media オーディオ ロスレス
•MP4 (*.mp4) •H.264 (High、Main、および Baseline Profile) •AAC-LC
•HE-AAC v1
•HE-AAC v2
•スムーズ ストリーミング ファイル形
式 (PIFF 1.1) (*.ismv、*.isma)
•VC-1 (Advanced Profile)
•H.264 (High、Main、および Baseline Profile)
•Windows Media オーディオ Standard
•Windows Media オーディオ Professional
•AAC-LC
•HE-AAC v1
•HE-AAC v2
Windows Azure Media Services 開発環境の準備(8/26)
3. 動画ファイルのご用意
[ご参考]
– 動画のファイルをシステムの管理下に置く事を
「インジェスト」と呼びます
» Windows Azure はクラウド上にあるため、多くのシナリオでは
クラウドへのファイルのアップロードとなります
– Windows Azure メディア サービスの内部では、
動画のファイルは「アセット」という単位で管理されています
» インジェストを行う際には、空のアセットを作成し、そこに「アセット
ファイル」を追加していく作業となります
» アセット ファイルは実ファイルそのものです
» ストリーミングの方式に由来し、複数のファイルが必要となります
Copyright © @fullvirtue. All rights reserved. 14
Windows Azure Media Services 開発環境の準備(9/26)
3. 動画ファイルのご用意
[ご参考]
– よく利用される動画配信の方式には以下があります。
» Microsoft が開発して主に Silverlight、Windows Phone、Windows 8 な
どで利用されている Smooth Streaming
» Apple が開発して主に iOS で利用されている HTTP Live Streaming
(HLS)
新しい Android でも HLS サポートが始まっています。
» Adobe が開発して主に Flash で使われる HTTP Dynamic Streaming
(HDS)
– 動画のファイルは異なるビット レートごとに複数作成されます
» デバイスの CPU とネットワーク帯域を鑑みて、デバイス側で自動的にどの
ビット レートのファイルを再生するかを短期間で切り替えながら動画の再
生を行う方式です
» 「Adaptive Bitrate Streaming over HTTP」と呼ばれています
Copyright © @fullvirtue. All rights reserved. 15
Windows Azure Media Services 開発環境の準備(10/26)
3. 動画ファイルのご用意
[ご参考]
– Smooth Streaming を実施する際の動画ファイル
» .ismv が動画ファイルそのもの
» HTML5 の VIDEO タグでは執筆時点では MP4 ファイルのプログレッシブ
ダウンロードでしか配信が出来ないため、このような複数のビット レート
のファイルは作成されません
Copyright © @fullvirtue. All rights reserved. 16
Windows Azure Media Services 開発環境の準備(11/26)
4. Sample Playerの準備
Smooth Streaming
– HelthMonitor Tool サイト
» http://smf.cloudapp.net/healthmonitor
» 任意の場所にある ismファイル指定が出来る
– Microsoft Media Platform: Player Framework
» Windows 8
http://playerframework.codeplex.com/releases/view/94684
» Silverlight
http://smf.codeplex.com/releases/view/88970
HTML5 <video> (iOS用)
Copyright © @fullvirtue. All rights reserved. 17
<video width="640"
height="480"
src="http://<your url>/hogehoge.mp4"
autoplay controls >
ご利用の Web ブラウザー では再生できません
</video>
Windows Azure 管理ポータルでの配信手順(12/26)
Windows Azure 管理ポータルでの配信手順
1. Ingest:ファイルのアップロード
– 動画のファイルをシステムに取り込む(管理下に置く)
2. Process:エンコード(正確にはトランスコード)
– Windows Azure 管理ポータルの画面は「エンコード」と記載
[参考:言葉の正確な定義]
» エンコード:アナログ→デジタルの変換を行う
» トランスコード:デジタル→デジタルの変換を行う
 Manage:管理
– コンテンツの管理
3. Delivery:配信
– ダウンロード、ストリーミング等にて、動画の配信を行う
Copyright © @fullvirtue. All rights reserved. 18
Windows Azure 管理ポータルでの配信手順(13/26)
Windows Azure 管理ポータルでの配信手順
Copyright © @fullvirtue. All rights reserved. 19
ComputeStorage
Windows Azure Media Services
Windows Azure 管理ポータルでの配信手順(14/26)
1. Ingest:ファイルのアップロード
Windows Azure 管理ポータルの、作成された Windows Azure
Media Servicesから [コンテンツ] タブに移動します
Copyright © @fullvirtue. All rights reserved. 20
Windows Azure 管理ポータルでの配信手順(15/26)
1. Ingest:ファイルのアップロード
[アップロード] をクリックして、ファイル アップロードの画面を
表示させます
[ローカルから] または [ストレージから(Windows Azure Blob
Storage)] からファイルを選択し、決定するとアップロードを
開始します
Copyright © @fullvirtue. All rights reserved. 21
Windows Azure 管理ポータルでの配信手順(16/26)
1. Ingest:ファイルのアップロード
アップロードが完了すると、[サイズ] にファイルサイズが表示さ
れます
Copyright © @fullvirtue. All rights reserved. 22
Windows Azure 管理ポータルでの配信手順(17/26)
2. Process:エンコード(正確にはトランスコード)
ファイルを選択したまま、管理ポータル下部にあるコマンドから
[エンコード] を選択します
Copyright © @fullvirtue. All rights reserved. 23
Windows Azure 管理ポータルでの配信手順(18/26)
2. Process:エンコード(正確にはトランスコード)
[PC/Mac での再生] または [HTML5での再生]を実行します
Copyright © @fullvirtue. All rights reserved. 24
[メモ]
実際のエンコードでは、コーデック、画
角などの細かい設定が必要です。これら
をテンプレートとしてまとめたものを
「プリセット」と呼びます。
管理ポータルでは、[主なプリセット]と
[詳細なプリセット]から選択可能です。
APIを使うと、もっと細かい設定も可能
となります。
Windows Azure 管理ポータルでの配信手順(19/26)
2. Process:エンコード(正確にはトランスコード)
管理ポータルで [ジョブ] に移動すると、実行中のエンコード処理
の状況が確認できます
– 処理の状況は、逐次確認が出来ます
– 処理は、Windows Azure Media Servicesでは「ジョブ」という単位
で管理されています
Copyright © @fullvirtue. All rights reserved. 25
Windows Azure 管理ポータルでの配信手順(20/26)
2. Process:エンコード(正確にはトランスコード)
– [進捗状況] が [Finished] となっていると、エンコード処理が正常に
行われたことになります
– エラーがあった場合は、ジョブを選択し、コマンドの [詳細] から、
エラー内容を確認してください
– 既定では、処理は 1 つずつしか行われません
– 同時に複数のジョブを走らせたい場合は、管理ポータルの [スケール]
から、ENCODING のユニット数を増やす必要があります
» こちらはサービスを占有するため、日割りで追加の料金が発生する点をご
留意ください。
Copyright © @fullvirtue. All rights reserved. 26
Windows Azure 管理ポータルでの配信手順(21/26)
2. Process:エンコード(正確にはトランスコード)
– [進捗状況] が [Finished] となっていると、エンコード処理が正常に
行われたことになります
– エラーがあった場合は、ジョブを選択し、コマンドの [詳細] から、
エラー内容を確認してください
– 既定では、処理は 1 つずつしか行われません
– 同時に複数のジョブを走らせたい場合は、管理ポータルの [スケール]
から、ENCODING のユニット数を増やす必要があります
» こちらはサービスを占有するため、日割りで追加の料金が発生する点をご
留意ください。
Copyright © @fullvirtue. All rights reserved. 27
Windows Azure 管理ポータルでの配信手順(22/26)
3. Delivery:配信
発行対象のコンテンツを選択し、画面下部の [発行] を選択します
– 5 ~ 10 秒程度で、配信準備が終わります
– エンコードしただけでは、動画の配信はされません
– 「コンテンツを公開する」という手順を踏みます
– Windows Azure Media Services では高いセキュリティを維持する
ため、指示が無い限りコンテンツは外部に出ていきません
Copyright © @fullvirtue. All rights reserved. 28
Windows Azure 管理ポータルでの配信手順(23/26)
3. Delivery:配信
発行が完了すると、[発行 URL] が出力されます
– そのままプレイヤーのアプリケーションに設定する URL です
– (未発行)のものは公開されていません
– [発行 URL] の各データを選択すると、クリップ ボードにコピーする
アイコンが表示されます
Copyright © @fullvirtue. All rights reserved. 29
Windows Azure 管理ポータルでの配信手順(24/26)
3. Delivery:配信
コンテンツを選択して [再生] を選択すると、
発行結果を確認できます
– Windows Azure メディア サービスの管理ポータルには、
Flash と HTML5 のプレイヤーが搭載されているため、
結果をすぐ確認できます
– Windows OS では、iOS用の動画は再生できません
Copyright © @fullvirtue. All rights reserved. 30
Windows Azure 管理ポータルでの配信手順(25/26)
[参考]安定した実行・パフォーマンスのための 「占有」型
[スケール] タブ内の [ON-DEMAND STREAMING]や
[ENCODING] に割り当てるユニットを増やします
– 反映にある程度時間がかかり、課金額も増えます
Copyright © @fullvirtue. All rights reserved. 31
Windows Azure 管理ポータルでの配信手順(26/26)
[参考]再生できなかった場合のトラブルシューティング
IIS上で、MAXビットレートを1,600kbpsにする必要があります
– Azureは1,600に設定されています
再生ができなかったらファイルの詳細でビットレートを確認
してください
ビットレートが大きすぎたら、エンコードでビットレートを
下げてください
Copyright © @fullvirtue. All rights reserved. 32
WINDOWS AZURE MEDIA
SERVICES 開発環境の準備
Copyright © @fullvirtue. All rights reserved. 33
Windows Azure Media Services 開発環境の準備(1/11)
開発環境の事前準備
1. SDKインストール
– .NET の場合
– Java の場合
[ご参考]
– Windows 7, Windows 8, Windows 2008 R2
– .NET Framework 4.5 or 4.0
– Visual Studio 2012, Visual Studio 2010 SP1
– Windows Azure Media Services SDK 2.0.1.0
» http://msdn.microsoft.com/en-us/library/jj129588.aspx
Copyright © @fullvirtue. All rights reserved. 34
Windows Azure Media Services 開発環境の準備(2/11)
1. SDKインストール
【.NET の場合】
– NuGetパッケージにて Windows Azure Media Services を追加
Copyright © @fullvirtue. All rights reserved. 35
Windows Azure Media Services 開発環境の準備(3/11)
1. SDKインストール
【.NET の場合】
– NuGetパッケージにて Windows Azure Media Services を追加
Copyright © @fullvirtue. All rights reserved. 36
「安定版パッケージのみ」
「名前:降順」
「Media」
で検索すると探しやすいです
Windows Azure Media Services 開発環境の準備(4/11)
1. SDKインストール
【.NET の場合】
– 既存の関連モジュールの確認作業が終わった後、[ライセンスの同意]
画面が出てくるので、確認後[同意する]をクリックします
Copyright © @fullvirtue. All rights reserved. 37
Windows Azure Media Services 開発環境の準備(5/11)
1. SDKインストール
【.NET の場合】
– インストールが正常に完了するとNuGet パッケージの管理画面の
Windows Azure Media Services の右上に
緑色のチェックアイコンが付きます
Copyright © @fullvirtue. All rights reserved. 38
Windows Azure Media Services 開発環境の準備(6/11)
1. SDKインストール
【Java の場合】
– Windows Azure Media Services は、オープンな開発環境を提供
– .NET 以外の環境でも Windows Azure Media Services の開発が可能
– Windows Azure SDK for Javaの中に
Windows Azure Media Servicesも含まれています
[ご参考]
– Eclipse におけるWindows Azure SDK for Javaのインストール手順
» Installing the Windows Azure Plugin for Eclipse with Java
(by Microsoft Open Technologies)
» http://msdn.microsoft.com/en-us/library/windowsazure/hh690946
Copyright © @fullvirtue. All rights reserved. 39
Windows Azure Media Services 開発環境の準備(7/11)
1. SDKインストール
【Java の場合】
– Windows Azure Library for Java の 参照設定
適切なプロジェクトを作成後、プロジェクトの [プロパティー]を選択
Copyright © @fullvirtue. All rights reserved. 40
Windows Azure Media Services 開発環境の準備(8/11)
1. SDKインストール
【Java の場合】
– [Java のビルド・パス] – [ライブラリー] – [ライブラリーの追加] を
選択します
Copyright © @fullvirtue. All rights reserved. 41
Windows Azure Media Services 開発環境の準備(9/11)
1. SDKインストール
【Java の場合】
– [Package for Windows Azure Libraries for Java (by MS Open
Tech)] を選択、ウィザードをそのまま進めて完了します
Copyright © @fullvirtue. All rights reserved. 42
Windows Azure Media Services 開発環境の準備(10/11)
1. SDKインストール
【Java の場合】
– Eclipse の開発環境の中にも、
”com.microsoft.windowsazure.services.media” 以下に
Windows Azure Media Services のSDKがあることが確認できます
Copyright © @fullvirtue. All rights reserved. 43
Windows Azure Media Services 開発環境の準備(11/11)
ご参考:Windows Azure Media Services SDK for .NET
Copyright © @fullvirtue. All rights reserved. 44
Microsoft.WindowsAzure.MediaServices.Client.
CloudMediaContext サービスとのセッション
Asset / AssetFile コンテンツ(ファイル)
Job / Task エンコードなどのメディア処理
MediaProcessor メディア処理アプリ定義
Locator 配布/配信ポイント
AccessPolicy 配布/配信 公開ポリシー
WINDOWS AZURE MEDIA
SERVICES APIを使った配信手順
Copyright © @fullvirtue. All rights reserved. 45
Windows Azure Media Services APIを使った配信手順(1/21)
Windows Azure Media Services APIを使った配信手順
Copyright © @fullvirtue. All rights reserved. 46
ComputeStorage
Windows Azure Media Services
Windows Azure Media Services APIを使った配信手順(2/21)
コーディングの流れ
Copyright © @fullvirtue. All rights reserved. 47
Windows Azure Media Services APIを使った配信手順(3/21)
コーディングの流れ
Copyright © @fullvirtue. All rights reserved. 48
Windows Azure Media Services APIを使った配信手順(4/21)
Windows Azure Media Services接続
Copyright © @fullvirtue. All rights reserved. 49
Windows Azure Media Servicesとの全てのやりとりは、CloudMediaContext クラ
スを通じて行っています
注意点
 CloudMediaContext はスレッドセーフではありません
ParalellTransferThreadCountは同時にファイル転送を行う上限値を設定しています
 初期値が 10 です
 適切な数に設定ください。
 多すぎるとネットワーク帯域が不足する場合もありますので、ご注意ください
var context = new CloudMediaContext(
ConfigurationManager.AppSettings["accountName"],
ConfigurationManager.AppSettings["accountKey"]
);
context.ParallelTransferThreadCount = 100;
Windows Azure Media Services APIを使った配信手順(5/21)
Windows Azure Media Services接続
引数になっているメディア サービスのアカウント名、アカウント
キーは、Windows Azure 管理ポータルから取得します
Copyright © @fullvirtue. All rights reserved. 50
Windows Azure Media Services APIを使った配信手順(6/21)
1. Ingest:ファイルのアップロード
Copyright © @fullvirtue. All rights reserved. 51
Ingest
Asset作成 = ファイルをWindows Azure Media Services 管理下に
置く
別の Blob からのコピーも可能
 Asset に 書き込み可能な SAS URLを作成し、それを元に
Containerを作成する
 http://social.msdn.microsoft.com/Forums/en-
US/MediaServices/thread/be486bac-ac37-4984-87d0-
20931fcb1328
2つの暗号化オプション: AES 256bit / Common Encryption
途中経過取得のためには、非同期実行とBlobTransferClient
Windows Azure Media Services APIを使った配信手順(7/21)
1. Ingest – sample code: 同期
Copyright © @fullvirtue. All rights reserved. 52
var targetFile = new FileInfo(@"D:¥Demo¥Sample.wmv");
// 1. 空のAssetを作成
var ingestAsset = context.Assets.Create(
targetFile.Name,
AssetCreationOptions.StorageEncrypted);
// 2. 空のAssetFileを作成
var ingestAssetFile = ingestAsset.AssetFiles.Create(
targetFile.Name);
// 3. AccessPolicyを作成します。ここでは1時間のみ書き込み許可
var uploadAccessPolicy = context.AccessPolicies.Create(targetFile.Name,
TimeSpan.FromHours(1),
AccessPermissions.Write | AccessPermissions.List);
// 4. SAS Locatorを作成
var locator = context.Locators.CreateLocator(LocatorType.Sas,
ingestAsset,
uploadAccessPolicy);
// 2.5. Upload を実行します (同期実行)
ingestAssetFile.Upload(targetFile.FullName);
Ingest
Windows Azure Media Services APIを使った配信手順(8/21)
1. Ingest – sample code: 非同期
Copyright © @fullvirtue. All rights reserved. 53
// 2.5. Upload を実行します (非同期実行)
// ---- ファイル転送 途中経過取得用 ----
BlobTransferClient transferClient = new BlobTransferClient();
transferClient.TransferProgressChanged += transferClient_TransferProgressChanged;
// ----------------------------------
var uploadTask = ingestAssetFile.UploadAsync(
targetFile.FullName,
transferClient,
locator,
System.Threading.CancellationToken.None);
Ingest
//ファイルアップロードの状況確認
static void transferClient_TransferProgressChanged(object sender, BlobTransferProgressChangedEventArgs e)
{
Console.WriteLine(" 経過 {0}%", e.ProgressPercentage);
}
Windows Azure Media Services APIを使った配信手順(9/21)
Manage:管理
Copyright © @fullvirtue. All rights reserved. 54
Asset / Job / AccessPolicy の管理
 実際には Windows Azure SQL database 上で管理
LINQ サポート
Ingest
Windows Azure Media Services APIを使った配信手順(10/21)
Manage: Assetの作成
アセットは言わば「器」です
– アップロード対象のファイル名を、アセットとアセット ファイル、そ
れぞれの名前とします
» Windows Azure メディア サービスは Contents Management System
(CMS) を併せ持っていません
» この名前でクエリーをかける事も可能ですが、コンテンツそのものの検索
はサーチ エンジンなどと合わせて CMS 側にて行ってください
» つまり、この名前は何でも良いのです
» アセット作成時に Id が発行されます
» Id は大変重要で、Primary Key として作用します
» 単一アセットの検索スピードが、最も速いのです。
– Asset オブジェクトには、Id 以外に AlternatedId というフィールド
があり、こちらは皆さんがお使いの CMS の ID を設定いただくことを
想定しています
Copyright © @fullvirtue. All rights reserved. 55
Windows Azure Media Services APIを使った配信手順(11/21)
Manage: Assetの作成
Copyright © @fullvirtue. All rights reserved. 56
Windows Azure Blob コンテナ
アプリケーション的なメタは持っていない
 Asset. AlternateId にてCMS連携
削除する際の注意点
 関連する Locator は個別削除が必要
 AssetCreationOptions.CommonEncryptionProtected 指定を
したAsset を削除する場合は、ContentsKey の個別削除が必須
Ingest
Id AlternateId Name
<guid> 0001 contoso
ID Name Title Artist
0001 Contoso Great Video Art #1
Windows Azure Media Services APIを使った配信手順(12/21)
2. Process:エンコード(正確にはトランスコード)
Copyright © @fullvirtue. All rights reserved. 57
エンコードなどのメディア処理の実行単位
Job に、n個 の Task を作成
 Job が実行の単位。トランザクションではない
 開始/キャンセル/終了/エラーなど
 入力/出力ファイルを指定する
 ファイル同士の依存関係がないと
Task は並列実行。あると直列実行
途中経過取得のためには、以下を呼び出す
 job.GetExecutionProgressTask
Ingest
Job
Task
Input Asset
Output Asset
Task
Input Asset
Output Asset
Windows Azure Media Services APIを使った配信手順(13/21)
2. Process:Windows Azure Media Encoder
Copyright © @fullvirtue. All rights reserved. 58
Expression Encoder 4 Pro SP2 がベース
Azure に最適化
 Adaptive Bitrate Streamingでは、複数VMを使う
タスク プリセット 指定
 http://msdn.microsoft.com/en-
us/library/jj129582.aspx
「現在」は、Expression Encoder 4 Pro SP2 の
カスタム タスク プリセット (XML文字列) も動作する!
 サムネイル作成, 時間指定の切り出し など
Ingest
Windows Azure Media Services APIを使った配信手順(14/21)
2. Process:Windows Azure Media Encoder
Copyright © @fullvirtue. All rights reserved. 59
サポートしているファイルフォーマット: Import
Ingest
File Format File Extensions
3GPP, 3GPP2 .3gp, .3g2, .3gp2
Advanced Systems Format (ASF) .asf
Advanced Video Coding High
Definition (AVCHD) [MPEG-2
Transport Stream]
.mts, .m2ts
Audio-Video Interleaved (AVI) .avi
Digital camcorder MPEG-2 (MOD) .mod
Digital video (DV) camera file .dv
DVD transport stream (TS) file .ts
DVD video object (VOB) file .vob
Expression Encoder Screen
Capture Codec file
.xesc
MP4 .mp4
MPEG-1 System Stream .mpeg, .mpg
MPEG-2 video file .m2v
Smooth Streaming File Format
(PIFF 1.3)
.ismv
Windows Media Video (WMV) .wmv
File Format File Extensions
AC-3 (Dolby Digital) audio .ac3
Audio Interchange File Format
(AIFF)
.aiff
Broadcast Wave Format .bwf
MP3 (MPEG-1 Audio Layer 3) .mp3
MP4 audio .m4A
MPEG-4 audio book .m4b
WAVE file .wav
Windows Media Audio .wma
Video Audio
http://msdn.microsoft.com/en-us/library/hh973634.aspx
Windows Azure Media Services APIを使った配信手順(15/21)
2. Process:Windows Azure Media Encoder
Copyright © @fullvirtue. All rights reserved. 60http://msdn.microsoft.com/en-us/library/hh973634.aspx
サポートしているコーデック: Import
Ingest
H.264
MPEG-1
MPEG-2
VC-1
Windows Media Video
AC-3 (Dolby Digital audio)
Advanced Audio Coding (AAC)
MP3 (MPEG-1 Audio Layer 3)
Windows Media Audio
Video Audio
Windows Azure Media Services APIを使った配信手順(16/21)
2. Process:Windows Azure Media Encoder
Copyright © @fullvirtue. All rights reserved. 61http://msdn.microsoft.com/en-us/library/hh973634.aspx
サポートしているファイルフォーマット/コーデック:
Export
Ingest
File Format Video Codec Audio Codec
Windows Media (*.wmv;
*.wma)
VC-1 (Advanced, Main, and
Simple Profiles)
WMA Standard, WMA
Professional, WMA Voice,
WMA Lossless
MP4 (*.mp4)
H.264 (High, Main, and
Baseline Profiles)
AAC-LC, HE-AAC v1, HE-
AAC v2
Smooth Streaming File
Format (PIFF 1.1) (*.ismv;
*.isma)
VC-1 (Advanced Profile)
H.264 (High, Main, and
Baseline Profiles)
WMA Standard, WMA
Professional
AAC-LC, HE-AAC v1, HE-
AAC v2
Windows Azure Media Services APIを使った配信手順(17/21)
2. Process:Windows Azure Media Packager / Encryptor
Copyright © @fullvirtue. All rights reserved. 62http://msdn.microsoft.com/en-us/library/hh973634.aspx
IIS Transform Manager 1.1 がベース
 http://msdn.microsoft.com/en-us/library/hh973619.aspx
Media Processor 定義 + 設定XML文字列
 PlayReady Protection Task
 MP4 to Smooth Streams Task
 Smooth Streams to HLS Conversion Task
 サムネイル作成
 Storage Decryption
 http://msdn.microsoft.com/en-
us/library/jj129580.aspx#get_media_processor
Ingest
Windows Azure Media Services APIを使った配信手順(18/21)
2. Process – sample code: エンコード
Copyright © @fullvirtue. All rights reserved. 63http://msdn.microsoft.com/en-us/library/hh973634.aspx
// 1. Job 作成
var job = context.Jobs.Create("WMVをSmooth StreamingとHLSにエンコード : " + DateTime.Now.ToLongTimeString());
var windowsAzureMediaEncoder = context.MediaProcessors
.Where(p => p.Name == "Windows Azure Media Encoder").
ToList().OrderBy(p => new Version(p.Version)).LastOrDefault();
// 2. タスクの作成
var WMS2SSTask = job.Tasks.AddNew("WMV to Smooth Streaming - " + DateTime.Now.ToLongTimeString(),
windowsAzureMediaEncoder,
"H264 Smooth Streaming SD 4x3",
TaskOptions.None);
// 3. 入出力Asset指定
WMS2SSTask.InputAssets.Add(ingestAsset);
var SSedAsset = WMS2SSTask.OutputAssets.AddNew(
string.Format("{0} - SmoothStreaming:{1}",
ingestAssetFile.Name,
DateTime.Now.ToLongTimeString()),
AssetCreationOptions.None);
// 4. ジョブ実行
job.Submit();
// ----- ジョブ実行の途中経過の取得をする設定 ---------------------
var progressJobTask = job.GetExecutionProgressTask(CancellationToken.None);
// ------------------------------------------------------------
Ingest
Windows Azure Media Services APIを使った配信手順(19/21)
2. Process – sample code: Job 状態確認
Copyright © @fullvirtue. All rights reserved. 64http://msdn.microsoft.com/en-us/library/hh973634.aspx
bool jobFinalize = false;
while (!jobFinalize) {
switch (job.State) {
case JobState.Finished:
jobFinalize = true;
Console.WriteLine(" 正常終了: {0}", job.RunningDuration);
break;
case JobState.Error:
jobFinalize = true;
Console.WriteLine(" エラー発生: {0}", job.Tasks[0].ErrorDetails);
StringBuilder errorDescription = new StringBuilder();
errorDescription.Append(" ** 詳細: ¥n");
foreach (var task in job.Tasks) {
foreach (ErrorDetail detail in task.ErrorDetails) {
errorDescription.AppendLine(" ** Task Id: " + task.Id);
errorDescription.AppendLine(" ** Error Code: " + detail.Code);
errorDescription.AppendLine(" ** Error Message: " + detail.Message +
"¥n");
}
}
Console.WriteLine(errorDescription);
break;
default:
Console.WriteLine(" 15秒間 待機します: {0}", DateTime.Now.ToLongTimeString());
System.Threading.Thread.Sleep(15000);
break;
}
}
Ingest
Windows Azure Media Services APIを使った配信手順(20/21)
3. Delivery:配信
Copyright © @fullvirtue. All rights reserved. 65http://msdn.microsoft.com/en-us/library/hh973634.aspx
ストリーミング / ダウンロード のオリジンサーバー
Locator に Asset 単位で割り当てる
 1 つの Asset につき 5つの Locator が上限
AccessPolicyによって、時間単位での公開を設定
 アクセス権設定ではない
占有型と共有型は一つのアカウントで同居できない
 Dynamic Packaging を使う場合は、占有型でのみ対応。
 Dynamic Packaging は Smooth Streaming, HLSのみ。
DRM未対応
Ingest
Windows Azure Media Services APIを使った配信手順(21/21)
3. Delivery – sample code
Copyright © @fullvirtue. All rights reserved. 66http://msdn.microsoft.com/en-us/library/hh973634.aspx
// 1. Access Policy 作成
var deliveryAccessPolicy = context.AccessPolicies.Create("Streaming",
TimeSpan.FromHours(3),
AccessPermissions.Read | AccessPermissions.List);
var SS_OutputAsset = job.OutputMediaAssets[0];
var SS_Manifest = (from f in SS_OutputAsset.AssetFiles
where f.Name.EndsWith(".ism")
select f).First();
// 2. Locator 作成
var SS_StreamingPointLocator = context.Locators.CreateLocator(
LocatorType.OnDemandOrigin,
SS_OutputAsset,
deliveryAccessPolicy,
DateTime.UtcNow.AddMinutes(-5));
// 3. プレイヤーに渡すURL生成 (ここではデスクトップに出力)
WriteToFile(Environment.GetEnvironmentVariable("USERPROFILE") +
@"¥Desktop¥SSPath.txt",
SS_StreamingPointLocator.Path + SS_Manifest.Name+ "/manifest");
Ingest
"/manifest(format=m3u8-aapl)"
WINDOWS AZURE MEDIA
SERVICES コンセプト
Copyright © @fullvirtue. All rights reserved. 67
Windows Azure Media Services コンセプト(1/35)
動画配信を取り巻く環境
Copyright © @fullvirtue. All rights reserved. 68
コンテンツを
どこに届けたいですか?
ポケットには iPhone
リビングには iPad
自宅の机はもちろんWindows PC
電子書籍、いよいよ本格化?
All in One の新しい形
Windows Azure Media Services コンセプト(8/35)
Copyright © @fullvirtue. All rights reserved. 75
99%
PC/Mac
NO PLUGIN
PROGRESSIVE DOWNLOAD
ADAPTIVE STREAMING
RTSP/RTMP
Web とともに歩んだ動画配信
Windows Azure Media Services コンセプト(9/35)
Copyright © @fullvirtue. All rights reserved. 76
(standard) Streaming
3Mbps
Streaming Server
HTTP Progressive Download
RTMP / RTSP / MMS
etc …
3Mbps
Web ServerHTTP Cache
Adaptive bitrate Streaming over HTTP
3Mbps
Streaming ServerHTTP Cache
1Mbps
512 kbps
256 kbps
No Live!
配信技術の変遷
動画技術は
どこへ向かっている?
Windows Azure Media Services コンセプト(11/35)
見えてきた次世代技術
Copyright © @fullvirtue. All rights reserved. 78
Creation ConsumerCloud
4K / 8K
MPEG-DASH / CSF
HEVC (H.265)
2nd Screen
Big Data
Tablet
Smart
Phone
PC
8K UHD 4320p (7680 x 4320)
Windows Azure Media Services コンセプト(12/35)
高解像度が生む巨大なファイル
Copyright © @fullvirtue. All rights reserved. 79
4K UHD
2160p (3840 x 2160)
HD
1080i/1080p (1920 x
1080)
SD
480i
(720 x 480)
10
分
約50MB
約200MB
約800MB
約3.2GB ?
Windows Azure Media Services コンセプト(13/35)
期待の圧縮技術 HEVC ですが…
Copyright © @fullvirtue. All rights reserved. 80
半分 500 – 1,000倍
ファイルサイズ エンコード時間
Windows Azure Media Services コンセプト(14/35)
HTML5
Copyright © @fullvirtue. All rights reserved. 81
Windows Azure Media Services コンセプト(15/35)
HTML5 に不足しているもの
Copyright © @fullvirtue. All rights reserved. 82
Live
配信システム
ネットワーク
ストリーミング
DRM
コンテンツ保護
MPEG-DASH CENC
Windows Azure Media Services コンセプト(16/35)
MPEG-DASH – 標準規格となるか
Copyright © @fullvirtue. All rights reserved. 83
Dynamic Adaptive Streaming over HTTP (DASH)
Also called MPEG-DASH
Smooth Streaming Http Live Streaming Http Dynamic Streaming
Windows Azure Media Services コンセプト(17/35)
動画ファイルの構造
Copyright © @fullvirtue. All rights reserved. 84
Windows Azure Media Services コンセプト(18/35)
Dynamic Packagingによる最適な動画配信
Copyright © @fullvirtue. All rights reserved. 85
Standard
MP4
Origin
Source
Multi
Bitrate MP4
Smooth
File
HLS File
Encode
Package
Package
Smooth
HLS
Dynamic Packaging
Origin
(Reserved)
Source
Multi
Bitrate
MP4
Encode
Smooth
HLS
Windows Azure Media Services コンセプト(19/35)
Dynamic Packagingによる最適な動画配信
サンプルソースコード
– http://daiyuhatakeyama.wordpress.com/2013/05/10/dynamic-packaging-
%E3%81%AB%E3%82%88%E3%82%8B%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%
89%E3%81%AA%E3%81%97%E3%81%A7%E3%81%AE%E3%83%9E%E3%83%AB%E3%83%81%E3%83
%87%E3%83%90%E3%82%A4%E3%82%B9%E5%AF%BE/
注意事項
– [スケール]内の[ON DEMAND STREAMING]のユニットを1以上に
してください
Copyright © @fullvirtue. All rights reserved. 86
Windows Azure Media Services コンセプト(20/35)
さらにリッチな体験を(日本では閲覧不可)
Copyright © @fullvirtue. All rights reserved. 87
Windows Azure Media Services コンセプト(21/35)
Microsoft MIX 2011 Ustream視聴者数を可視化した結果
Copyright © @fullvirtue. All rights reserved. 88
Windows Azure Media Services コンセプト(22/35)
Microsoft Media Platform: Video Editor
Web ベースのラフカット編集ツール
オープンソース
NBC Olympic など多くの利用実績
リアルタイムのクリップ作成
– マニフェスト/インデックスファイルの作成のみを行う
Copyright © @fullvirtue. All rights reserved. 89
Windows Azure Media Services コンセプト(23/35)
ブラウザーだけでも、ここまで出来る!という事例
Copyright © @fullvirtue. All rights reserved. 90
Windows Azure Media Services コンセプト(24/35)
スマートフォンにおけるネイティブアプリの現状
Copyright © @fullvirtue. All rights reserved. 91
•固定的に設置された広告枠と異なり、ユーザー行動
の主眼であるコンテンツと同様の表示形式を持った
広告であること
ユーザー主体
•編集コンテンツに対し、その品質や表示トーンが一
致する、もしくは近似するコンテンツ性の高い広告
であること
融合
•ソーシャルやモバイルなど、読者のメディア接点の
変化や多様性に最適化した広告形式であること
マルチデザイン
•テクノロジーと人間の編集力が関与する余地のある
広告形式であること
“おもてなし”
• 雑多なノイズが抑制され、お目当
てのコンテンツに没頭できる
読者
• 読者が嫌うものとしての広告から、
コンテンツ同様の精読率で接して
くれる広告が生まれる
広告主
• 読者とのエンゲージメント強化を
第一義に広告を制作できる
メディア運営者の視点から
定義 メリット
Source: http://mediaprobe.co.jp/blog/digitalmedia/2012/12/17/2838/
Windows Azure Media Services コンセプト(25/35)
動画アプリのインフラはとても大変…
Copyright © @fullvirtue. All rights reserved. 92
ネットワーク/ストレージ
コンテンツ管理
サービス
インテグ
レーショ
ン突発的な
高負荷
ジョブ
管理
Windows Azure Media Services コンセプト(26/35)
現状のカバーエリア
Copyright © @fullvirtue. All rights reserved. 93
ネットワーク/ストレージ
コンテンツ管理
サービス
インテグ
レーショ
ン突発的な
高負荷
ジョブ
管理
Windows Azure Media Services コンセプト(27/35)
とある動画配信インフラ…
Copyright © @fullvirtue. All rights reserved. 94
Windows Azure Media Services コンセプト(28/35)
動画配信のワークフロー
Copyright © @fullvirtue. All rights reserved. 95
Windows Azure Media Services
(APIだけしかない)
取り込み Encoding/
Transcoding
コンテンツ
保護
ストリーミン
グサーバー
ライブ中継 分析 広告差し込み
Windows Azure Media Services コンセプト(29/35)
Windows Azure Media Services を取り巻く環境
Copyright © @fullvirtue. All rights reserved. 96
Media Job
Scheduling
"Build-In"
Partner
Media
Processors
Content
Protection Analytics
Identity
Managemen
t
Live
Encoding
"Build-On" Media Partners and Customers
Secure
Media
Ingest
PartnerCDNs
Encoding
On-
Demand
Origin Live Origin
Ad
InsertionLive Ingest
Blobs
Load
Balancer
Windows Azure Media Services コンセプト(30/35)
柔軟なカスタマイズ
Microsoft または Microsoftパートナー企業の
アプリケーションを自由に選択
Copyright © @fullvirtue. All rights reserved. 97
Windows Azure Media Services コンセプト(31/35)
パートナーエコシステム
Copyright © @fullvirtue. All rights reserved. 98
Ingest
Encoding/
Transcoding
Content
Protection
Origin &
CDN
ISV
Windows Azure Media Services コンセプト(32/35)
クラウドを活用した最適な動画配信
Copyright © @fullvirtue. All rights reserved. 99
権利所有
読み取り
アクセス権付与
読み取り
アクセス権付与
コピー時間
が”0”
バックアップ
不要
CRMのスタート
地点
Windows Azure Media Services コンセプト(33/35)
自前で環境を用意する必要がなくなる
Copyright © @fullvirtue. All rights reserved. 100
圧倒的な
コンピューター
処理能力が容易
に
必要最低限の
ハードウェア
ワンソース
マルチユース
Windows Azure Media Services コンセプト(34/35)
料金プラン
Copyright © @fullvirtue. All rights reserved. 101
Media
Job
Sched
uling
"Build-In"
Partner
Media
Processors
Content
Protection
"Build-On" Media Partners and Customers
Secur
e
Media
Ingest
PartnerCDNs
On-Demand
Origin
パートナー様が決定
Encoding
処理データ量 /
月
料金 (GB)
最初の5TB ¥165.25
5 – 15 TB ¥132.87
15 - 30 TB ¥107.13
30 – 50 TB ¥84.71
100TB 以上 要ご相談
Blobs Load Balancer
量 / 月 Geo Replica
(GB)
無し (GB)
最初の1TB ¥7.89 ¥5.82
- 49TB ¥6.65 ¥5.40
-450TB ¥5.82 ¥4.99
-500TB ¥5.40 ¥4.57
– 4,000TB ¥4.99 ¥3.74
- 9,000 TB ¥4.57 ¥3.08
9,000TB超 ご相談 ご相談
量 / 月 (GB)
最初の10TB ¥15.78
-40TB ¥11.63
-100TB ¥9.97
-350TB ¥8.31
-524TB ¥6.65
-4096TB ¥5.82
5,120TB超 お問い合わせ
量 / 月 (GB)
最初の10TB ¥15.78
-40TB ¥12.46
-100TB ¥10.80
-350TB ¥9.97
500TB超 お問い合わせ
料金 (Unit /
月)
¥16,524.87
料金 (Unit / 月)
¥8,220.92
共有ユニット 占有ユニット 占有ユニット (のみ)
Windows Azure Media Services コンセプト(35/35)
“動画配信” だけでサービスは成り立たない
Copyright © @fullvirtue. All rights reserved. 102
仮想マシン
(Virtual Machines)
クラウド サービス
(Cloud Services)
Web サイト
(Web Sites)
SQL データベース
(SQL Database)
ストレージ
(Storage)
トラフィック管理
(Traffic Manager)
仮想ネットワーク
(Virtual Network)
サービス バス
(Service Bus)
メディア配信
(Media)
コンテンツ配信
(CDN)
キャッシュ
(Caching)
アクセス制御&AD
(ACS & Active Directory)
まとめ
Copyright © @fullvirtue. All rights reserved. 103
Copyright © @fullvirtue. All rights reserved.
今日お話したこと(1/1)
Windows Azure 管理ポータルでの配信手順
Windows Azure Media Services 開発環境の準備
Windows Azure Media Services APIを使った配信手順
Windows Azure Media Services コンセプト
まとめ
104
Copyright © @fullvirtue. All rights reserved. 105
ご静聴ありがとうございました。

More Related Content

What's hot

B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)chenree3
 
「動画配信の過去と未来」(第一回市ヶ谷Geek★Night)
「動画配信の過去と未来」(第一回市ヶ谷Geek★Night)「動画配信の過去と未来」(第一回市ヶ谷Geek★Night)
「動画配信の過去と未来」(第一回市ヶ谷Geek★Night)オプト公式
 
SoftLayer Bluemix Community Festa 2016 はじめてのSoftLayer
SoftLayer Bluemix Community Festa 2016 はじめてのSoftLayerSoftLayer Bluemix Community Festa 2016 はじめてのSoftLayer
SoftLayer Bluemix Community Festa 2016 はじめてのSoftLayerYuichi Tamagawa
 
A2 niijima
A2 niijimaA2 niijima
A2 niijimachenree3
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018Masahito Zembutsu
 
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモHyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモwintechq
 
IIS Media Services 3.0 による動画配信
IIS Media Services 3.0 による動画配信IIS Media Services 3.0 による動画配信
IIS Media Services 3.0 による動画配信shigeya
 
Interact2019 ws2019 s2d_IN05
Interact2019 ws2019 s2d_IN05Interact2019 ws2019 s2d_IN05
Interact2019 ws2019 s2d_IN05Hiroshi Matsumoto
 
Hyper-V Replica
Hyper-V ReplicaHyper-V Replica
Hyper-V ReplicaNaoki Abe
 
Hyper vを理解する
Hyper vを理解するHyper vを理解する
Hyper vを理解するNaoki Abe
 
20181027 ws meetup2_hybrid
20181027 ws meetup2_hybrid20181027 ws meetup2_hybrid
20181027 ws meetup2_hybridOsamu Takazoe
 
1st step LogicFlow
1st step LogicFlow1st step LogicFlow
1st step LogicFlowTomoyuki Obi
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Takashi Kanai
 
配布:リアル事例で比較する SoftLayer と他クラウド
配布:リアル事例で比較する SoftLayer と他クラウド配布:リアル事例で比較する SoftLayer と他クラウド
配布:リアル事例で比較する SoftLayer と他クラウドTomoari Yasuda
 

What's hot (19)

vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについてvSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
 
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
 
「動画配信の過去と未来」(第一回市ヶ谷Geek★Night)
「動画配信の過去と未来」(第一回市ヶ谷Geek★Night)「動画配信の過去と未来」(第一回市ヶ谷Geek★Night)
「動画配信の過去と未来」(第一回市ヶ谷Geek★Night)
 
VIOPS03: XenServer アーキテクチャー
VIOPS03: XenServer アーキテクチャーVIOPS03: XenServer アーキテクチャー
VIOPS03: XenServer アーキテクチャー
 
SoftLayer Bluemix Community Festa 2016 はじめてのSoftLayer
SoftLayer Bluemix Community Festa 2016 はじめてのSoftLayerSoftLayer Bluemix Community Festa 2016 はじめてのSoftLayer
SoftLayer Bluemix Community Festa 2016 はじめてのSoftLayer
 
A2 niijima
A2 niijimaA2 niijima
A2 niijima
 
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018
 
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモHyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
 
IIS Media Services 3.0 による動画配信
IIS Media Services 3.0 による動画配信IIS Media Services 3.0 による動画配信
IIS Media Services 3.0 による動画配信
 
Interact2019 ws2019 s2d_IN05
Interact2019 ws2019 s2d_IN05Interact2019 ws2019 s2d_IN05
Interact2019 ws2019 s2d_IN05
 
Hyper-V Replica
Hyper-V ReplicaHyper-V Replica
Hyper-V Replica
 
Hyper vを理解する
Hyper vを理解するHyper vを理解する
Hyper vを理解する
 
20181027 ws meetup2_hybrid
20181027 ws meetup2_hybrid20181027 ws meetup2_hybrid
20181027 ws meetup2_hybrid
 
VIOPS03: VMware参考資料
VIOPS03: VMware参考資料VIOPS03: VMware参考資料
VIOPS03: VMware参考資料
 
1st step LogicFlow
1st step LogicFlow1st step LogicFlow
1st step LogicFlow
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
 
配布:リアル事例で比較する SoftLayer と他クラウド
配布:リアル事例で比較する SoftLayer と他クラウド配布:リアル事例で比較する SoftLayer と他クラウド
配布:リアル事例で比較する SoftLayer と他クラウド
 
第6回「VMware vSphere 5」(2011/08/11 on しすなま!)
第6回「VMware vSphere 5」(2011/08/11 on しすなま!)第6回「VMware vSphere 5」(2011/08/11 on しすなま!)
第6回「VMware vSphere 5」(2011/08/11 on しすなま!)
 

Similar to <初級> Windows Azure Media Services を活用したマルチデバイスへの動画配信 - Community OpenDay 2013

DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~decode2016
 
Dev camp2012jpn day2session2
Dev camp2012jpn day2session2Dev camp2012jpn day2session2
Dev camp2012jpn day2session2Daiyu Hatakeyama
 
build 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめbuild 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめSunao Tomita
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developer Camp 2012 Japan Fall
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2specialKatsuhito Katoh
 
Azure vs aws比較 エンコード ace用
Azure vs aws比較 エンコード ace用Azure vs aws比較 エンコード ace用
Azure vs aws比較 エンコード ace用裕之 木下
 
HTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastHTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastKatsumi Onishi
 
Azure Media Services 大全
Azure Media Services 大全Azure Media Services 大全
Azure Media Services 大全Daiyu Hatakeyama
 
20140920 大分進化したメディアサービスで遊んでみた
20140920 大分進化したメディアサービスで遊んでみた20140920 大分進化したメディアサービスで遊んでみた
20140920 大分進化したメディアサービスで遊んでみたnormalian
 
ストリーミングのげんざい
ストリーミングのげんざいストリーミングのげんざい
ストリーミングのげんざいTetsuya Morimoto
 
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。Daiyu Hatakeyama
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門Shuji Kikuchi
 
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Akira Inoue
 
17-D-1 Azure開発の極意 ~2011年版~
17-D-1 Azure開発の極意 ~2011年版~17-D-1 Azure開発の極意 ~2011年版~
17-D-1 Azure開発の極意 ~2011年版~Sunao Tomita
 
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドApp controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドTakashi Kanai
 
組み込みブラウザとメディアﰀ仕様あれこれ
組み込みブラウザとメディアﰀ仕様あれこれ組み込みブラウザとメディアﰀ仕様あれこれ
組み込みブラウザとメディアﰀ仕様あれこれMasashi Umeda
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドTakashi Kanai
 

Similar to <初級> Windows Azure Media Services を活用したマルチデバイスへの動画配信 - Community OpenDay 2013 (20)

DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
DEV-019_Programmable Video ~Azure Media Services でのビデオ サービス開発~
 
Dev camp2012jpn day2session2
Dev camp2012jpn day2session2Dev camp2012jpn day2session2
Dev camp2012jpn day2session2
 
Dev camp2012jpn day2session2
Dev camp2012jpn day2session2Dev camp2012jpn day2session2
Dev camp2012jpn day2session2
 
build 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめbuild 2012 Windows Azure 的まとめ
build 2012 Windows Azure 的まとめ
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
 
Azure vs aws比較 エンコード ace用
Azure vs aws比較 エンコード ace用Azure vs aws比較 エンコード ace用
Azure vs aws比較 エンコード ace用
 
HTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastHTML5 VIDEO on Chromecast
HTML5 VIDEO on Chromecast
 
Azure Media Services 大全
Azure Media Services 大全Azure Media Services 大全
Azure Media Services 大全
 
20140920 大分進化したメディアサービスで遊んでみた
20140920 大分進化したメディアサービスで遊んでみた20140920 大分進化したメディアサービスで遊んでみた
20140920 大分進化したメディアサービスで遊んでみた
 
ストリーミングのげんざい
ストリーミングのげんざいストリーミングのげんざい
ストリーミングのげんざい
 
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。
第1回 html5j TV部 勉強会 MPEG-DASH向けの動画配信。
 
Visual Studio 2010
Visual Studio 2010Visual Studio 2010
Visual Studio 2010
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門
[AKIBA.AWS] AWS Elemental MediaConvertから学ぶコーデック入門
 
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
 
17-D-1 Azure開発の極意 ~2011年版~
17-D-1 Azure開発の極意 ~2011年版~17-D-1 Azure開発の極意 ~2011年版~
17-D-1 Azure開発の極意 ~2011年版~
 
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドApp controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウド
 
組み込みブラウザとメディアﰀ仕様あれこれ
組み込みブラウザとメディアﰀ仕様あれこれ組み込みブラウザとメディアﰀ仕様あれこれ
組み込みブラウザとメディアﰀ仕様あれこれ
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
 

More from 満徳 関

なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjugなんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug満徳 関
 
XPプラクティスをオンラインで体験しよう!計画ゲーム(ストーリーの作成、リリース計画) #xpjug
XPプラクティスをオンラインで体験しよう!計画ゲーム(ストーリーの作成、リリース計画) #xpjugXPプラクティスをオンラインで体験しよう!計画ゲーム(ストーリーの作成、リリース計画) #xpjug
XPプラクティスをオンラインで体験しよう!計画ゲーム(ストーリーの作成、リリース計画) #xpjug満徳 関
 
Agile Tech EXPO mini #0 - 僕らが伝えたいあじゃてく - #agiletechexpo
Agile Tech EXPO mini #0 - 僕らが伝えたいあじゃてく - #agiletechexpoAgile Tech EXPO mini #0 - 僕らが伝えたいあじゃてく - #agiletechexpo
Agile Tech EXPO mini #0 - 僕らが伝えたいあじゃてく - #agiletechexpo満徳 関
 
Q思考 シンプルな問いで本質をつかむ思考法 ITコンサルタントへの第一歩シリーズ #eLV勉強会
Q思考 シンプルな問いで本質をつかむ思考法 ITコンサルタントへの第一歩シリーズ #eLV勉強会Q思考 シンプルな問いで本質をつかむ思考法 ITコンサルタントへの第一歩シリーズ #eLV勉強会
Q思考 シンプルな問いで本質をつかむ思考法 ITコンサルタントへの第一歩シリーズ #eLV勉強会満徳 関
 
【eLV】ITコンサルタントへの第一歩シリーズ:正しい疑問をもつ技術 #eLv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ:正しい疑問をもつ技術 #eLv勉強会【eLV】ITコンサルタントへの第一歩シリーズ:正しい疑問をもつ技術 #eLv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ:正しい疑問をもつ技術 #eLv勉強会満徳 関
 
制約を外そう!XPからその先へ #xpjug
制約を外そう!XPからその先へ #xpjug制約を外そう!XPからその先へ #xpjug
制約を外そう!XPからその先へ #xpjug満徳 関
 
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazugAzure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug満徳 関
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019満徳 関
 
【eLV】ITコンサルタントへの第一歩シリーズ ~セルフブランディング戦略~
【eLV】ITコンサルタントへの第一歩シリーズ ~セルフブランディング戦略~【eLV】ITコンサルタントへの第一歩シリーズ ~セルフブランディング戦略~
【eLV】ITコンサルタントへの第一歩シリーズ ~セルフブランディング戦略~満徳 関
 
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)②~ #elv勉強会 「システム原型図」を使ってビジネスに影...
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)②~ #elv勉強会 「システム原型図」を使ってビジネスに影...【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)②~ #elv勉強会 「システム原型図」を使ってビジネスに影...
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)②~ #elv勉強会 「システム原型図」を使ってビジネスに影...満徳 関
 
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)①~ 「因果ループ図」を使ってビジネスに影響を与える変数を見...
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)①~ 「因果ループ図」を使ってビジネスに影響を与える変数を見...【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)①~ 「因果ループ図」を使ってビジネスに影響を与える変数を見...
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)①~ 「因果ループ図」を使ってビジネスに影響を与える変数を見...満徳 関
 
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ #elv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ #elv勉強会【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ #elv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ #elv勉強会満徳 関
 
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案②~ 課題候補を課題にするために
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案②~ 課題候補を課題にするために【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案②~ 課題候補を課題にするために
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案②~ 課題候補を課題にするために満徳 関
 
プロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処 #eaug
プロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処  #eaugプロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処  #eaug
プロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処 #eaug満徳 関
 
知識集約型の製品開発においてプロダクトオーナーがやるべき3つのこと #agilejapan #agilejapannagasaki #agilejapan...
知識集約型の製品開発においてプロダクトオーナーがやるべき3つのこと #agilejapan #agilejapannagasaki #agilejapan...知識集約型の製品開発においてプロダクトオーナーがやるべき3つのこと #agilejapan #agilejapannagasaki #agilejapan...
知識集約型の製品開発においてプロダクトオーナーがやるべき3つのこと #agilejapan #agilejapannagasaki #agilejapan...満徳 関
 
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案①~ #elv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案①~ #elv勉強会【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案①~ #elv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案①~ #elv勉強会満徳 関
 
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ 課題立案10本ノック #eLV勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ 課題立案10本ノック #eLV勉強会【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ 課題立案10本ノック #eLV勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ 課題立案10本ノック #eLV勉強会満徳 関
 
ヘビプロのすゝめ XP祭り2018 LTトーク #xpjug
ヘビプロのすゝめ XP祭り2018 LTトーク #xpjugヘビプロのすゝめ XP祭り2018 LTトーク #xpjug
ヘビプロのすゝめ XP祭り2018 LTトーク #xpjug満徳 関
 
エンジニアのためのプロダクトマネジメント入門 XP祭り2018 #xpjug
エンジニアのためのプロダクトマネジメント入門 XP祭り2018 #xpjugエンジニアのためのプロダクトマネジメント入門 XP祭り2018 #xpjug
エンジニアのためのプロダクトマネジメント入門 XP祭り2018 #xpjug満徳 関
 
[終日研修資料] 企画担当者のためのリーン・アジャイル・プロダクトマネジメント集中特訓講座 ~課題発見からバックログ作成へ~ #postudy
[終日研修資料] 企画担当者のためのリーン・アジャイル・プロダクトマネジメント集中特訓講座 ~課題発見からバックログ作成へ~ #postudy[終日研修資料] 企画担当者のためのリーン・アジャイル・プロダクトマネジメント集中特訓講座 ~課題発見からバックログ作成へ~ #postudy
[終日研修資料] 企画担当者のためのリーン・アジャイル・プロダクトマネジメント集中特訓講座 ~課題発見からバックログ作成へ~ #postudy満徳 関
 

More from 満徳 関 (20)

なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjugなんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
なんちゃってアジャイルをアジャイルにした話 ~ライトニングトーク版~ #xpjug
 
XPプラクティスをオンラインで体験しよう!計画ゲーム(ストーリーの作成、リリース計画) #xpjug
XPプラクティスをオンラインで体験しよう!計画ゲーム(ストーリーの作成、リリース計画) #xpjugXPプラクティスをオンラインで体験しよう!計画ゲーム(ストーリーの作成、リリース計画) #xpjug
XPプラクティスをオンラインで体験しよう!計画ゲーム(ストーリーの作成、リリース計画) #xpjug
 
Agile Tech EXPO mini #0 - 僕らが伝えたいあじゃてく - #agiletechexpo
Agile Tech EXPO mini #0 - 僕らが伝えたいあじゃてく - #agiletechexpoAgile Tech EXPO mini #0 - 僕らが伝えたいあじゃてく - #agiletechexpo
Agile Tech EXPO mini #0 - 僕らが伝えたいあじゃてく - #agiletechexpo
 
Q思考 シンプルな問いで本質をつかむ思考法 ITコンサルタントへの第一歩シリーズ #eLV勉強会
Q思考 シンプルな問いで本質をつかむ思考法 ITコンサルタントへの第一歩シリーズ #eLV勉強会Q思考 シンプルな問いで本質をつかむ思考法 ITコンサルタントへの第一歩シリーズ #eLV勉強会
Q思考 シンプルな問いで本質をつかむ思考法 ITコンサルタントへの第一歩シリーズ #eLV勉強会
 
【eLV】ITコンサルタントへの第一歩シリーズ:正しい疑問をもつ技術 #eLv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ:正しい疑問をもつ技術 #eLv勉強会【eLV】ITコンサルタントへの第一歩シリーズ:正しい疑問をもつ技術 #eLv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ:正しい疑問をもつ技術 #eLv勉強会
 
制約を外そう!XPからその先へ #xpjug
制約を外そう!XPからその先へ #xpjug制約を外そう!XPからその先へ #xpjug
制約を外そう!XPからその先へ #xpjug
 
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazugAzure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
 
【eLV】ITコンサルタントへの第一歩シリーズ ~セルフブランディング戦略~
【eLV】ITコンサルタントへの第一歩シリーズ ~セルフブランディング戦略~【eLV】ITコンサルタントへの第一歩シリーズ ~セルフブランディング戦略~
【eLV】ITコンサルタントへの第一歩シリーズ ~セルフブランディング戦略~
 
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)②~ #elv勉強会 「システム原型図」を使ってビジネスに影...
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)②~ #elv勉強会 「システム原型図」を使ってビジネスに影...【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)②~ #elv勉強会 「システム原型図」を使ってビジネスに影...
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)②~ #elv勉強会 「システム原型図」を使ってビジネスに影...
 
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)①~ 「因果ループ図」を使ってビジネスに影響を与える変数を見...
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)①~ 「因果ループ図」を使ってビジネスに影響を与える変数を見...【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)①~ 「因果ループ図」を使ってビジネスに影響を与える変数を見...
【eLV】ITコンサルタントへの第一歩シリーズ ~システム思考(SystemThinking)①~ 「因果ループ図」を使ってビジネスに影響を与える変数を見...
 
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ #elv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ #elv勉強会【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ #elv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ #elv勉強会
 
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案②~ 課題候補を課題にするために
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案②~ 課題候補を課題にするために【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案②~ 課題候補を課題にするために
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案②~ 課題候補を課題にするために
 
プロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処 #eaug
プロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処  #eaugプロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処  #eaug
プロダクトオーナーがエンタープライズアジャイルで抱える苦悩と対処 #eaug
 
知識集約型の製品開発においてプロダクトオーナーがやるべき3つのこと #agilejapan #agilejapannagasaki #agilejapan...
知識集約型の製品開発においてプロダクトオーナーがやるべき3つのこと #agilejapan #agilejapannagasaki #agilejapan...知識集約型の製品開発においてプロダクトオーナーがやるべき3つのこと #agilejapan #agilejapannagasaki #agilejapan...
知識集約型の製品開発においてプロダクトオーナーがやるべき3つのこと #agilejapan #agilejapannagasaki #agilejapan...
 
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案①~ #elv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案①~ #elv勉強会【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案①~ #elv勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案①~ #elv勉強会
 
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ 課題立案10本ノック #eLV勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ 課題立案10本ノック #eLV勉強会【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ 課題立案10本ノック #eLV勉強会
【eLV】ITコンサルタントへの第一歩シリーズ ~課題の仮説立案③~ 課題立案10本ノック #eLV勉強会
 
ヘビプロのすゝめ XP祭り2018 LTトーク #xpjug
ヘビプロのすゝめ XP祭り2018 LTトーク #xpjugヘビプロのすゝめ XP祭り2018 LTトーク #xpjug
ヘビプロのすゝめ XP祭り2018 LTトーク #xpjug
 
エンジニアのためのプロダクトマネジメント入門 XP祭り2018 #xpjug
エンジニアのためのプロダクトマネジメント入門 XP祭り2018 #xpjugエンジニアのためのプロダクトマネジメント入門 XP祭り2018 #xpjug
エンジニアのためのプロダクトマネジメント入門 XP祭り2018 #xpjug
 
[終日研修資料] 企画担当者のためのリーン・アジャイル・プロダクトマネジメント集中特訓講座 ~課題発見からバックログ作成へ~ #postudy
[終日研修資料] 企画担当者のためのリーン・アジャイル・プロダクトマネジメント集中特訓講座 ~課題発見からバックログ作成へ~ #postudy[終日研修資料] 企画担当者のためのリーン・アジャイル・プロダクトマネジメント集中特訓講座 ~課題発見からバックログ作成へ~ #postudy
[終日研修資料] 企画担当者のためのリーン・アジャイル・プロダクトマネジメント集中特訓講座 ~課題発見からバックログ作成へ~ #postudy
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

<初級> Windows Azure Media Services を活用したマルチデバイスへの動画配信 - Community OpenDay 2013

  • 1. <初級> Windows Azure Media Services を活用したマルチデバイスへの動画配信 2013年05月11日(土)15:00-15:50 Community Open Day 2013 東京会場 せき@fullvirtue 1Copyright © @fullvirtue. All rights reserved.
  • 2. はじめに セッション概要(告知文) Windows Azure Media Services とは、 ビデオの作成、管理、およびユーザーへの配信をだれでも簡単に 利用できるようにした機能で、Windows Azure の中でも非常に 注目を集めています。 Windows Azure Media Services を使ったサービスを開発した 経験から、開発方法や Tips を、デモを交えてお届けいたします。 Copyright © @fullvirtue. All rights reserved. 2
  • 3. はじめに 本セッションのゴール Windows Azure 管理ポータルから配信する手順を確認 Windows Azure Media Services の開発環境準備方法を確認 Windows Azure Media Services のAPIを使った配信手順を確認 Windows Azure Media Services の背景やコンセプトを確認 – 本セッションは、2012年12月リリースの public beta の仕様に 基づきます。 – 今後、予告なく変更される可能性がありますのでご注意ください。 Copyright © @fullvirtue. All rights reserved. 3
  • 4. Copyright © @fullvirtue. All rights reserved. 今日のアジェンダ(1/1) Windows Azure 管理ポータルでの配信手順 Windows Azure Media Services 開発環境の準備 Windows Azure Media Services APIを使った配信手順 Windows Azure Media Services コンセプト まとめ 4
  • 5. おことわり(1/1) 今回の資料について  本内容はMicrosoftより許可を得て、一部他資料をそのまま利用しています  今回の資料は、以下の資料を参考にしています。 私自身のオリジナルはほとんどありませんので、ご了承ください。 – はじめての Windows Azure メディア サービス » http://msdn.microsoft.com/ja-jp/windowsazure/dn133199 – Media Services SDK for .NET を使用したアプリケーション構築 » http://msdn.microsoft.com/ja-jp/en- us/library/windowsazure/hh973613.aspx – msdn - Windows Azure Media Services » http://msdn.microsoft.com/ja-jp/library/hh973629 – Windows Azure Media Services Poster » http://www.microsoft.com/en-us/download/details.aspx?id=38195 – ScottGu’s Blog: Windows Azure Media Services and London 2012 Olympics » http://weblogs.asp.net/scottgu/archive/2012/08/21/windows-azure- media-services-and-the-london-2012-olympics.aspx Copyright © @fullvirtue. All rights reserved. 5
  • 6. WINDOWS AZURE 管理ポータルでの 配信手順 Copyright © @fullvirtue. All rights reserved. 6
  • 7. Windows Azure 管理ポータルでの配信手順(1/26) Windows Azure Media Service の用意 1. Windows Azure サブスクリプションのご用意 2. Windows Azure Media Services アカウント作成 3. 動画ファイルのご用意 4. Sample Playerの準備 Copyright © @fullvirtue. All rights reserved. 7
  • 8. Windows Azure 管理ポータルでの配信手順(2/26) 1. Windows Azure サブスクリプションのご用意 1. Windows Azureのサブスクリプション購入 2. Windows AzureのWebサイトおよびWindows Azureポータル のサブスクリプション購入の確認 3. Windows Azure プレビュー機能のサインアップ [ご参考] – http://aka.ms/azure-subscription Copyright © @fullvirtue. All rights reserved. 8
  • 9. Windows Azure 管理ポータルでの配信手順(3/26) 2. Windows Azure Media Services アカウント作成 Windows Azure 管理ポータルより以下を選択 [新規]-[アプリ サービス]-[メディアサービス]-[簡易作成] Copyright © @fullvirtue. All rights reserved. 9
  • 10. Windows Azure 管理ポータルでの配信手順(4/26) 2. Windows Azure Media Services アカウント作成 【ご参考】 – アカウント管理のAPI(RESTのみ)について » Operations on Media Services (only English) » http://msdn.microsoft.com/ja-jp/library/dn167014 » 使い道の例 Windows Azure Media Servicesの存在を意識させたくない場合 • →SaaS のような統合パッケージ等 マルチテナントでの課金などの簡易化 Copyright © @fullvirtue. All rights reserved. 10
  • 11. Windows Azure Media Services 開発環境の準備(5/26) 3. 動画ファイルのご用意 – Windows Azure Media Encoder でサポートされている コーデックとファイルの種類 » http://msdn.microsoft.com/ja-jp/library/hh973634 Copyright © @fullvirtue. All rights reserved. 11 ビデオコーデック •H.264 (Baseline、Main、および High Profile) •MPEG-1 •MPEG-2 (Simple および Main Profile) •MPEG-4 v2 (Simple Visual Profile および Advanced Simple Profile) •VC-1 (Simple、Main、および Advanced Profile) •Windows Media ビデオ (Simple、Main、および Advanced Profile) •DV (DVC、DVHD、DVSD、DVSL) ビデオファイル形式 ファイル形式 ファイル拡張子 •3GPP、3GPP2 •Advanced Systems Format (ASF) •Advanced Video Coding High Definition (AVCHD) [MPEG-2 トランスポート ストリーム] •Audio-Video Interleaved (AVI) •Digital camcorder MPEG-2 (MOD) •デジタル ビデオ (DV) カメラ ファイル •DVD トランスポート ストリーム (TS) ファイル •DVD ビデオ オブジェクト (VOB) ファイル •Expression Encoder Screen Capture Codec ファイル •MP4 •MPEG-1 システム ストリーム •MPEG-2 ビデオ ファイル •スムーズ ストリーミング ファイル形式 (PIFF 1.3) •Windows Media ビデオ (WMV) .3gp、.3g2、.3gp2 .asf .mts、.m2ts .avi .mod .dv .ts .vob .xesc .mp4 .mpeg、.mpg .m2v .ismv .wmv
  • 12. Windows Azure Media Services 開発環境の準備(6/26) 3. 動画ファイルのご用意 – Windows Azure Media Encoder でサポートされている コーデックとファイルの種類 » http://msdn.microsoft.com/ja-jp/library/hh973634 Copyright © @fullvirtue. All rights reserved. 12 オーディオコーデック •AC-3 (Dolby Digital オーディオ) •AAC (AAC-LC、HE-AAC v1 と AAC-LC コア、および HE-AAC v2 と AAC-LC コア) •MP3 •Windows Media オーディオ (Windows Media オーディオ Standard、Windows Media オーディオ Professional、お よび Windows Media オーディオ ロスレス) オーディオファイル形式 ファイル形式 ファイル拡張子 •AC-3 (Dolby Digital) オーディオ •Audio Interchange File Format (AIFF) •Broadcast Wave Format •MP3 (MPEG-1 Audio Layer 3) •MP4 オーディオ •MPEG-4 オーディオ ブック •WAVE ファイル •Windows Media オーディオ .ac3 .aiff .bwf .mp3 .m4A .m4b .wav .wma 画像ファイル形式 ファイル形式 ファイル拡張子 •ビットマップ •GIF、アニメーション GIF •JPEG •PNG •TIFF •WPF Canvas XAML .bmp .gif .jpeg、.jpg .png .tif .xaml
  • 13. Windows Azure Media Services 開発環境の準備(7/26) 3. 動画ファイルのご用意 – Windows Azure Media Encoder でエクスポート用に サポートされているコーデックとファイルの種類 » http://msdn.microsoft.com/ja-jp/library/hh973634 » Media Servicesでサポートされているコーデックの詳細 http://msdn.microsoft.com/en-us/library/windows/desktop/ff819077.aspx » Media Servicesでサポートされているフィルターの詳細 http://msdn.microsoft.com/en-us/library/windows/desktop/dd375464.aspx Copyright © @fullvirtue. All rights reserved. 13 ファイル形式 ビデオ コーデック オーディオ コーデック •Windows メディア (*.wmv、.wma) •VC-1 (Advanced、Main、および Simple Profile) •Windows Media オーディオ Standard •Windows Media オーディオ Professional •Windows Media オーディオ音声 •Windows Media オーディオ ロスレス •MP4 (*.mp4) •H.264 (High、Main、および Baseline Profile) •AAC-LC •HE-AAC v1 •HE-AAC v2 •スムーズ ストリーミング ファイル形 式 (PIFF 1.1) (*.ismv、*.isma) •VC-1 (Advanced Profile) •H.264 (High、Main、および Baseline Profile) •Windows Media オーディオ Standard •Windows Media オーディオ Professional •AAC-LC •HE-AAC v1 •HE-AAC v2
  • 14. Windows Azure Media Services 開発環境の準備(8/26) 3. 動画ファイルのご用意 [ご参考] – 動画のファイルをシステムの管理下に置く事を 「インジェスト」と呼びます » Windows Azure はクラウド上にあるため、多くのシナリオでは クラウドへのファイルのアップロードとなります – Windows Azure メディア サービスの内部では、 動画のファイルは「アセット」という単位で管理されています » インジェストを行う際には、空のアセットを作成し、そこに「アセット ファイル」を追加していく作業となります » アセット ファイルは実ファイルそのものです » ストリーミングの方式に由来し、複数のファイルが必要となります Copyright © @fullvirtue. All rights reserved. 14
  • 15. Windows Azure Media Services 開発環境の準備(9/26) 3. 動画ファイルのご用意 [ご参考] – よく利用される動画配信の方式には以下があります。 » Microsoft が開発して主に Silverlight、Windows Phone、Windows 8 な どで利用されている Smooth Streaming » Apple が開発して主に iOS で利用されている HTTP Live Streaming (HLS) 新しい Android でも HLS サポートが始まっています。 » Adobe が開発して主に Flash で使われる HTTP Dynamic Streaming (HDS) – 動画のファイルは異なるビット レートごとに複数作成されます » デバイスの CPU とネットワーク帯域を鑑みて、デバイス側で自動的にどの ビット レートのファイルを再生するかを短期間で切り替えながら動画の再 生を行う方式です » 「Adaptive Bitrate Streaming over HTTP」と呼ばれています Copyright © @fullvirtue. All rights reserved. 15
  • 16. Windows Azure Media Services 開発環境の準備(10/26) 3. 動画ファイルのご用意 [ご参考] – Smooth Streaming を実施する際の動画ファイル » .ismv が動画ファイルそのもの » HTML5 の VIDEO タグでは執筆時点では MP4 ファイルのプログレッシブ ダウンロードでしか配信が出来ないため、このような複数のビット レート のファイルは作成されません Copyright © @fullvirtue. All rights reserved. 16
  • 17. Windows Azure Media Services 開発環境の準備(11/26) 4. Sample Playerの準備 Smooth Streaming – HelthMonitor Tool サイト » http://smf.cloudapp.net/healthmonitor » 任意の場所にある ismファイル指定が出来る – Microsoft Media Platform: Player Framework » Windows 8 http://playerframework.codeplex.com/releases/view/94684 » Silverlight http://smf.codeplex.com/releases/view/88970 HTML5 <video> (iOS用) Copyright © @fullvirtue. All rights reserved. 17 <video width="640" height="480" src="http://<your url>/hogehoge.mp4" autoplay controls > ご利用の Web ブラウザー では再生できません </video>
  • 18. Windows Azure 管理ポータルでの配信手順(12/26) Windows Azure 管理ポータルでの配信手順 1. Ingest:ファイルのアップロード – 動画のファイルをシステムに取り込む(管理下に置く) 2. Process:エンコード(正確にはトランスコード) – Windows Azure 管理ポータルの画面は「エンコード」と記載 [参考:言葉の正確な定義] » エンコード:アナログ→デジタルの変換を行う » トランスコード:デジタル→デジタルの変換を行う  Manage:管理 – コンテンツの管理 3. Delivery:配信 – ダウンロード、ストリーミング等にて、動画の配信を行う Copyright © @fullvirtue. All rights reserved. 18
  • 19. Windows Azure 管理ポータルでの配信手順(13/26) Windows Azure 管理ポータルでの配信手順 Copyright © @fullvirtue. All rights reserved. 19 ComputeStorage Windows Azure Media Services
  • 20. Windows Azure 管理ポータルでの配信手順(14/26) 1. Ingest:ファイルのアップロード Windows Azure 管理ポータルの、作成された Windows Azure Media Servicesから [コンテンツ] タブに移動します Copyright © @fullvirtue. All rights reserved. 20
  • 21. Windows Azure 管理ポータルでの配信手順(15/26) 1. Ingest:ファイルのアップロード [アップロード] をクリックして、ファイル アップロードの画面を 表示させます [ローカルから] または [ストレージから(Windows Azure Blob Storage)] からファイルを選択し、決定するとアップロードを 開始します Copyright © @fullvirtue. All rights reserved. 21
  • 22. Windows Azure 管理ポータルでの配信手順(16/26) 1. Ingest:ファイルのアップロード アップロードが完了すると、[サイズ] にファイルサイズが表示さ れます Copyright © @fullvirtue. All rights reserved. 22
  • 23. Windows Azure 管理ポータルでの配信手順(17/26) 2. Process:エンコード(正確にはトランスコード) ファイルを選択したまま、管理ポータル下部にあるコマンドから [エンコード] を選択します Copyright © @fullvirtue. All rights reserved. 23
  • 24. Windows Azure 管理ポータルでの配信手順(18/26) 2. Process:エンコード(正確にはトランスコード) [PC/Mac での再生] または [HTML5での再生]を実行します Copyright © @fullvirtue. All rights reserved. 24 [メモ] 実際のエンコードでは、コーデック、画 角などの細かい設定が必要です。これら をテンプレートとしてまとめたものを 「プリセット」と呼びます。 管理ポータルでは、[主なプリセット]と [詳細なプリセット]から選択可能です。 APIを使うと、もっと細かい設定も可能 となります。
  • 25. Windows Azure 管理ポータルでの配信手順(19/26) 2. Process:エンコード(正確にはトランスコード) 管理ポータルで [ジョブ] に移動すると、実行中のエンコード処理 の状況が確認できます – 処理の状況は、逐次確認が出来ます – 処理は、Windows Azure Media Servicesでは「ジョブ」という単位 で管理されています Copyright © @fullvirtue. All rights reserved. 25
  • 26. Windows Azure 管理ポータルでの配信手順(20/26) 2. Process:エンコード(正確にはトランスコード) – [進捗状況] が [Finished] となっていると、エンコード処理が正常に 行われたことになります – エラーがあった場合は、ジョブを選択し、コマンドの [詳細] から、 エラー内容を確認してください – 既定では、処理は 1 つずつしか行われません – 同時に複数のジョブを走らせたい場合は、管理ポータルの [スケール] から、ENCODING のユニット数を増やす必要があります » こちらはサービスを占有するため、日割りで追加の料金が発生する点をご 留意ください。 Copyright © @fullvirtue. All rights reserved. 26
  • 27. Windows Azure 管理ポータルでの配信手順(21/26) 2. Process:エンコード(正確にはトランスコード) – [進捗状況] が [Finished] となっていると、エンコード処理が正常に 行われたことになります – エラーがあった場合は、ジョブを選択し、コマンドの [詳細] から、 エラー内容を確認してください – 既定では、処理は 1 つずつしか行われません – 同時に複数のジョブを走らせたい場合は、管理ポータルの [スケール] から、ENCODING のユニット数を増やす必要があります » こちらはサービスを占有するため、日割りで追加の料金が発生する点をご 留意ください。 Copyright © @fullvirtue. All rights reserved. 27
  • 28. Windows Azure 管理ポータルでの配信手順(22/26) 3. Delivery:配信 発行対象のコンテンツを選択し、画面下部の [発行] を選択します – 5 ~ 10 秒程度で、配信準備が終わります – エンコードしただけでは、動画の配信はされません – 「コンテンツを公開する」という手順を踏みます – Windows Azure Media Services では高いセキュリティを維持する ため、指示が無い限りコンテンツは外部に出ていきません Copyright © @fullvirtue. All rights reserved. 28
  • 29. Windows Azure 管理ポータルでの配信手順(23/26) 3. Delivery:配信 発行が完了すると、[発行 URL] が出力されます – そのままプレイヤーのアプリケーションに設定する URL です – (未発行)のものは公開されていません – [発行 URL] の各データを選択すると、クリップ ボードにコピーする アイコンが表示されます Copyright © @fullvirtue. All rights reserved. 29
  • 30. Windows Azure 管理ポータルでの配信手順(24/26) 3. Delivery:配信 コンテンツを選択して [再生] を選択すると、 発行結果を確認できます – Windows Azure メディア サービスの管理ポータルには、 Flash と HTML5 のプレイヤーが搭載されているため、 結果をすぐ確認できます – Windows OS では、iOS用の動画は再生できません Copyright © @fullvirtue. All rights reserved. 30
  • 31. Windows Azure 管理ポータルでの配信手順(25/26) [参考]安定した実行・パフォーマンスのための 「占有」型 [スケール] タブ内の [ON-DEMAND STREAMING]や [ENCODING] に割り当てるユニットを増やします – 反映にある程度時間がかかり、課金額も増えます Copyright © @fullvirtue. All rights reserved. 31
  • 32. Windows Azure 管理ポータルでの配信手順(26/26) [参考]再生できなかった場合のトラブルシューティング IIS上で、MAXビットレートを1,600kbpsにする必要があります – Azureは1,600に設定されています 再生ができなかったらファイルの詳細でビットレートを確認 してください ビットレートが大きすぎたら、エンコードでビットレートを 下げてください Copyright © @fullvirtue. All rights reserved. 32
  • 33. WINDOWS AZURE MEDIA SERVICES 開発環境の準備 Copyright © @fullvirtue. All rights reserved. 33
  • 34. Windows Azure Media Services 開発環境の準備(1/11) 開発環境の事前準備 1. SDKインストール – .NET の場合 – Java の場合 [ご参考] – Windows 7, Windows 8, Windows 2008 R2 – .NET Framework 4.5 or 4.0 – Visual Studio 2012, Visual Studio 2010 SP1 – Windows Azure Media Services SDK 2.0.1.0 » http://msdn.microsoft.com/en-us/library/jj129588.aspx Copyright © @fullvirtue. All rights reserved. 34
  • 35. Windows Azure Media Services 開発環境の準備(2/11) 1. SDKインストール 【.NET の場合】 – NuGetパッケージにて Windows Azure Media Services を追加 Copyright © @fullvirtue. All rights reserved. 35
  • 36. Windows Azure Media Services 開発環境の準備(3/11) 1. SDKインストール 【.NET の場合】 – NuGetパッケージにて Windows Azure Media Services を追加 Copyright © @fullvirtue. All rights reserved. 36 「安定版パッケージのみ」 「名前:降順」 「Media」 で検索すると探しやすいです
  • 37. Windows Azure Media Services 開発環境の準備(4/11) 1. SDKインストール 【.NET の場合】 – 既存の関連モジュールの確認作業が終わった後、[ライセンスの同意] 画面が出てくるので、確認後[同意する]をクリックします Copyright © @fullvirtue. All rights reserved. 37
  • 38. Windows Azure Media Services 開発環境の準備(5/11) 1. SDKインストール 【.NET の場合】 – インストールが正常に完了するとNuGet パッケージの管理画面の Windows Azure Media Services の右上に 緑色のチェックアイコンが付きます Copyright © @fullvirtue. All rights reserved. 38
  • 39. Windows Azure Media Services 開発環境の準備(6/11) 1. SDKインストール 【Java の場合】 – Windows Azure Media Services は、オープンな開発環境を提供 – .NET 以外の環境でも Windows Azure Media Services の開発が可能 – Windows Azure SDK for Javaの中に Windows Azure Media Servicesも含まれています [ご参考] – Eclipse におけるWindows Azure SDK for Javaのインストール手順 » Installing the Windows Azure Plugin for Eclipse with Java (by Microsoft Open Technologies) » http://msdn.microsoft.com/en-us/library/windowsazure/hh690946 Copyright © @fullvirtue. All rights reserved. 39
  • 40. Windows Azure Media Services 開発環境の準備(7/11) 1. SDKインストール 【Java の場合】 – Windows Azure Library for Java の 参照設定 適切なプロジェクトを作成後、プロジェクトの [プロパティー]を選択 Copyright © @fullvirtue. All rights reserved. 40
  • 41. Windows Azure Media Services 開発環境の準備(8/11) 1. SDKインストール 【Java の場合】 – [Java のビルド・パス] – [ライブラリー] – [ライブラリーの追加] を 選択します Copyright © @fullvirtue. All rights reserved. 41
  • 42. Windows Azure Media Services 開発環境の準備(9/11) 1. SDKインストール 【Java の場合】 – [Package for Windows Azure Libraries for Java (by MS Open Tech)] を選択、ウィザードをそのまま進めて完了します Copyright © @fullvirtue. All rights reserved. 42
  • 43. Windows Azure Media Services 開発環境の準備(10/11) 1. SDKインストール 【Java の場合】 – Eclipse の開発環境の中にも、 ”com.microsoft.windowsazure.services.media” 以下に Windows Azure Media Services のSDKがあることが確認できます Copyright © @fullvirtue. All rights reserved. 43
  • 44. Windows Azure Media Services 開発環境の準備(11/11) ご参考:Windows Azure Media Services SDK for .NET Copyright © @fullvirtue. All rights reserved. 44 Microsoft.WindowsAzure.MediaServices.Client. CloudMediaContext サービスとのセッション Asset / AssetFile コンテンツ(ファイル) Job / Task エンコードなどのメディア処理 MediaProcessor メディア処理アプリ定義 Locator 配布/配信ポイント AccessPolicy 配布/配信 公開ポリシー
  • 45. WINDOWS AZURE MEDIA SERVICES APIを使った配信手順 Copyright © @fullvirtue. All rights reserved. 45
  • 46. Windows Azure Media Services APIを使った配信手順(1/21) Windows Azure Media Services APIを使った配信手順 Copyright © @fullvirtue. All rights reserved. 46 ComputeStorage Windows Azure Media Services
  • 47. Windows Azure Media Services APIを使った配信手順(2/21) コーディングの流れ Copyright © @fullvirtue. All rights reserved. 47
  • 48. Windows Azure Media Services APIを使った配信手順(3/21) コーディングの流れ Copyright © @fullvirtue. All rights reserved. 48
  • 49. Windows Azure Media Services APIを使った配信手順(4/21) Windows Azure Media Services接続 Copyright © @fullvirtue. All rights reserved. 49 Windows Azure Media Servicesとの全てのやりとりは、CloudMediaContext クラ スを通じて行っています 注意点  CloudMediaContext はスレッドセーフではありません ParalellTransferThreadCountは同時にファイル転送を行う上限値を設定しています  初期値が 10 です  適切な数に設定ください。  多すぎるとネットワーク帯域が不足する場合もありますので、ご注意ください var context = new CloudMediaContext( ConfigurationManager.AppSettings["accountName"], ConfigurationManager.AppSettings["accountKey"] ); context.ParallelTransferThreadCount = 100;
  • 50. Windows Azure Media Services APIを使った配信手順(5/21) Windows Azure Media Services接続 引数になっているメディア サービスのアカウント名、アカウント キーは、Windows Azure 管理ポータルから取得します Copyright © @fullvirtue. All rights reserved. 50
  • 51. Windows Azure Media Services APIを使った配信手順(6/21) 1. Ingest:ファイルのアップロード Copyright © @fullvirtue. All rights reserved. 51 Ingest Asset作成 = ファイルをWindows Azure Media Services 管理下に 置く 別の Blob からのコピーも可能  Asset に 書き込み可能な SAS URLを作成し、それを元に Containerを作成する  http://social.msdn.microsoft.com/Forums/en- US/MediaServices/thread/be486bac-ac37-4984-87d0- 20931fcb1328 2つの暗号化オプション: AES 256bit / Common Encryption 途中経過取得のためには、非同期実行とBlobTransferClient
  • 52. Windows Azure Media Services APIを使った配信手順(7/21) 1. Ingest – sample code: 同期 Copyright © @fullvirtue. All rights reserved. 52 var targetFile = new FileInfo(@"D:¥Demo¥Sample.wmv"); // 1. 空のAssetを作成 var ingestAsset = context.Assets.Create( targetFile.Name, AssetCreationOptions.StorageEncrypted); // 2. 空のAssetFileを作成 var ingestAssetFile = ingestAsset.AssetFiles.Create( targetFile.Name); // 3. AccessPolicyを作成します。ここでは1時間のみ書き込み許可 var uploadAccessPolicy = context.AccessPolicies.Create(targetFile.Name, TimeSpan.FromHours(1), AccessPermissions.Write | AccessPermissions.List); // 4. SAS Locatorを作成 var locator = context.Locators.CreateLocator(LocatorType.Sas, ingestAsset, uploadAccessPolicy); // 2.5. Upload を実行します (同期実行) ingestAssetFile.Upload(targetFile.FullName); Ingest
  • 53. Windows Azure Media Services APIを使った配信手順(8/21) 1. Ingest – sample code: 非同期 Copyright © @fullvirtue. All rights reserved. 53 // 2.5. Upload を実行します (非同期実行) // ---- ファイル転送 途中経過取得用 ---- BlobTransferClient transferClient = new BlobTransferClient(); transferClient.TransferProgressChanged += transferClient_TransferProgressChanged; // ---------------------------------- var uploadTask = ingestAssetFile.UploadAsync( targetFile.FullName, transferClient, locator, System.Threading.CancellationToken.None); Ingest //ファイルアップロードの状況確認 static void transferClient_TransferProgressChanged(object sender, BlobTransferProgressChangedEventArgs e) { Console.WriteLine(" 経過 {0}%", e.ProgressPercentage); }
  • 54. Windows Azure Media Services APIを使った配信手順(9/21) Manage:管理 Copyright © @fullvirtue. All rights reserved. 54 Asset / Job / AccessPolicy の管理  実際には Windows Azure SQL database 上で管理 LINQ サポート Ingest
  • 55. Windows Azure Media Services APIを使った配信手順(10/21) Manage: Assetの作成 アセットは言わば「器」です – アップロード対象のファイル名を、アセットとアセット ファイル、そ れぞれの名前とします » Windows Azure メディア サービスは Contents Management System (CMS) を併せ持っていません » この名前でクエリーをかける事も可能ですが、コンテンツそのものの検索 はサーチ エンジンなどと合わせて CMS 側にて行ってください » つまり、この名前は何でも良いのです » アセット作成時に Id が発行されます » Id は大変重要で、Primary Key として作用します » 単一アセットの検索スピードが、最も速いのです。 – Asset オブジェクトには、Id 以外に AlternatedId というフィールド があり、こちらは皆さんがお使いの CMS の ID を設定いただくことを 想定しています Copyright © @fullvirtue. All rights reserved. 55
  • 56. Windows Azure Media Services APIを使った配信手順(11/21) Manage: Assetの作成 Copyright © @fullvirtue. All rights reserved. 56 Windows Azure Blob コンテナ アプリケーション的なメタは持っていない  Asset. AlternateId にてCMS連携 削除する際の注意点  関連する Locator は個別削除が必要  AssetCreationOptions.CommonEncryptionProtected 指定を したAsset を削除する場合は、ContentsKey の個別削除が必須 Ingest Id AlternateId Name <guid> 0001 contoso ID Name Title Artist 0001 Contoso Great Video Art #1
  • 57. Windows Azure Media Services APIを使った配信手順(12/21) 2. Process:エンコード(正確にはトランスコード) Copyright © @fullvirtue. All rights reserved. 57 エンコードなどのメディア処理の実行単位 Job に、n個 の Task を作成  Job が実行の単位。トランザクションではない  開始/キャンセル/終了/エラーなど  入力/出力ファイルを指定する  ファイル同士の依存関係がないと Task は並列実行。あると直列実行 途中経過取得のためには、以下を呼び出す  job.GetExecutionProgressTask Ingest Job Task Input Asset Output Asset Task Input Asset Output Asset
  • 58. Windows Azure Media Services APIを使った配信手順(13/21) 2. Process:Windows Azure Media Encoder Copyright © @fullvirtue. All rights reserved. 58 Expression Encoder 4 Pro SP2 がベース Azure に最適化  Adaptive Bitrate Streamingでは、複数VMを使う タスク プリセット 指定  http://msdn.microsoft.com/en- us/library/jj129582.aspx 「現在」は、Expression Encoder 4 Pro SP2 の カスタム タスク プリセット (XML文字列) も動作する!  サムネイル作成, 時間指定の切り出し など Ingest
  • 59. Windows Azure Media Services APIを使った配信手順(14/21) 2. Process:Windows Azure Media Encoder Copyright © @fullvirtue. All rights reserved. 59 サポートしているファイルフォーマット: Import Ingest File Format File Extensions 3GPP, 3GPP2 .3gp, .3g2, .3gp2 Advanced Systems Format (ASF) .asf Advanced Video Coding High Definition (AVCHD) [MPEG-2 Transport Stream] .mts, .m2ts Audio-Video Interleaved (AVI) .avi Digital camcorder MPEG-2 (MOD) .mod Digital video (DV) camera file .dv DVD transport stream (TS) file .ts DVD video object (VOB) file .vob Expression Encoder Screen Capture Codec file .xesc MP4 .mp4 MPEG-1 System Stream .mpeg, .mpg MPEG-2 video file .m2v Smooth Streaming File Format (PIFF 1.3) .ismv Windows Media Video (WMV) .wmv File Format File Extensions AC-3 (Dolby Digital) audio .ac3 Audio Interchange File Format (AIFF) .aiff Broadcast Wave Format .bwf MP3 (MPEG-1 Audio Layer 3) .mp3 MP4 audio .m4A MPEG-4 audio book .m4b WAVE file .wav Windows Media Audio .wma Video Audio http://msdn.microsoft.com/en-us/library/hh973634.aspx
  • 60. Windows Azure Media Services APIを使った配信手順(15/21) 2. Process:Windows Azure Media Encoder Copyright © @fullvirtue. All rights reserved. 60http://msdn.microsoft.com/en-us/library/hh973634.aspx サポートしているコーデック: Import Ingest H.264 MPEG-1 MPEG-2 VC-1 Windows Media Video AC-3 (Dolby Digital audio) Advanced Audio Coding (AAC) MP3 (MPEG-1 Audio Layer 3) Windows Media Audio Video Audio
  • 61. Windows Azure Media Services APIを使った配信手順(16/21) 2. Process:Windows Azure Media Encoder Copyright © @fullvirtue. All rights reserved. 61http://msdn.microsoft.com/en-us/library/hh973634.aspx サポートしているファイルフォーマット/コーデック: Export Ingest File Format Video Codec Audio Codec Windows Media (*.wmv; *.wma) VC-1 (Advanced, Main, and Simple Profiles) WMA Standard, WMA Professional, WMA Voice, WMA Lossless MP4 (*.mp4) H.264 (High, Main, and Baseline Profiles) AAC-LC, HE-AAC v1, HE- AAC v2 Smooth Streaming File Format (PIFF 1.1) (*.ismv; *.isma) VC-1 (Advanced Profile) H.264 (High, Main, and Baseline Profiles) WMA Standard, WMA Professional AAC-LC, HE-AAC v1, HE- AAC v2
  • 62. Windows Azure Media Services APIを使った配信手順(17/21) 2. Process:Windows Azure Media Packager / Encryptor Copyright © @fullvirtue. All rights reserved. 62http://msdn.microsoft.com/en-us/library/hh973634.aspx IIS Transform Manager 1.1 がベース  http://msdn.microsoft.com/en-us/library/hh973619.aspx Media Processor 定義 + 設定XML文字列  PlayReady Protection Task  MP4 to Smooth Streams Task  Smooth Streams to HLS Conversion Task  サムネイル作成  Storage Decryption  http://msdn.microsoft.com/en- us/library/jj129580.aspx#get_media_processor Ingest
  • 63. Windows Azure Media Services APIを使った配信手順(18/21) 2. Process – sample code: エンコード Copyright © @fullvirtue. All rights reserved. 63http://msdn.microsoft.com/en-us/library/hh973634.aspx // 1. Job 作成 var job = context.Jobs.Create("WMVをSmooth StreamingとHLSにエンコード : " + DateTime.Now.ToLongTimeString()); var windowsAzureMediaEncoder = context.MediaProcessors .Where(p => p.Name == "Windows Azure Media Encoder"). ToList().OrderBy(p => new Version(p.Version)).LastOrDefault(); // 2. タスクの作成 var WMS2SSTask = job.Tasks.AddNew("WMV to Smooth Streaming - " + DateTime.Now.ToLongTimeString(), windowsAzureMediaEncoder, "H264 Smooth Streaming SD 4x3", TaskOptions.None); // 3. 入出力Asset指定 WMS2SSTask.InputAssets.Add(ingestAsset); var SSedAsset = WMS2SSTask.OutputAssets.AddNew( string.Format("{0} - SmoothStreaming:{1}", ingestAssetFile.Name, DateTime.Now.ToLongTimeString()), AssetCreationOptions.None); // 4. ジョブ実行 job.Submit(); // ----- ジョブ実行の途中経過の取得をする設定 --------------------- var progressJobTask = job.GetExecutionProgressTask(CancellationToken.None); // ------------------------------------------------------------ Ingest
  • 64. Windows Azure Media Services APIを使った配信手順(19/21) 2. Process – sample code: Job 状態確認 Copyright © @fullvirtue. All rights reserved. 64http://msdn.microsoft.com/en-us/library/hh973634.aspx bool jobFinalize = false; while (!jobFinalize) { switch (job.State) { case JobState.Finished: jobFinalize = true; Console.WriteLine(" 正常終了: {0}", job.RunningDuration); break; case JobState.Error: jobFinalize = true; Console.WriteLine(" エラー発生: {0}", job.Tasks[0].ErrorDetails); StringBuilder errorDescription = new StringBuilder(); errorDescription.Append(" ** 詳細: ¥n"); foreach (var task in job.Tasks) { foreach (ErrorDetail detail in task.ErrorDetails) { errorDescription.AppendLine(" ** Task Id: " + task.Id); errorDescription.AppendLine(" ** Error Code: " + detail.Code); errorDescription.AppendLine(" ** Error Message: " + detail.Message + "¥n"); } } Console.WriteLine(errorDescription); break; default: Console.WriteLine(" 15秒間 待機します: {0}", DateTime.Now.ToLongTimeString()); System.Threading.Thread.Sleep(15000); break; } } Ingest
  • 65. Windows Azure Media Services APIを使った配信手順(20/21) 3. Delivery:配信 Copyright © @fullvirtue. All rights reserved. 65http://msdn.microsoft.com/en-us/library/hh973634.aspx ストリーミング / ダウンロード のオリジンサーバー Locator に Asset 単位で割り当てる  1 つの Asset につき 5つの Locator が上限 AccessPolicyによって、時間単位での公開を設定  アクセス権設定ではない 占有型と共有型は一つのアカウントで同居できない  Dynamic Packaging を使う場合は、占有型でのみ対応。  Dynamic Packaging は Smooth Streaming, HLSのみ。 DRM未対応 Ingest
  • 66. Windows Azure Media Services APIを使った配信手順(21/21) 3. Delivery – sample code Copyright © @fullvirtue. All rights reserved. 66http://msdn.microsoft.com/en-us/library/hh973634.aspx // 1. Access Policy 作成 var deliveryAccessPolicy = context.AccessPolicies.Create("Streaming", TimeSpan.FromHours(3), AccessPermissions.Read | AccessPermissions.List); var SS_OutputAsset = job.OutputMediaAssets[0]; var SS_Manifest = (from f in SS_OutputAsset.AssetFiles where f.Name.EndsWith(".ism") select f).First(); // 2. Locator 作成 var SS_StreamingPointLocator = context.Locators.CreateLocator( LocatorType.OnDemandOrigin, SS_OutputAsset, deliveryAccessPolicy, DateTime.UtcNow.AddMinutes(-5)); // 3. プレイヤーに渡すURL生成 (ここではデスクトップに出力) WriteToFile(Environment.GetEnvironmentVariable("USERPROFILE") + @"¥Desktop¥SSPath.txt", SS_StreamingPointLocator.Path + SS_Manifest.Name+ "/manifest"); Ingest "/manifest(format=m3u8-aapl)"
  • 67. WINDOWS AZURE MEDIA SERVICES コンセプト Copyright © @fullvirtue. All rights reserved. 67
  • 68. Windows Azure Media Services コンセプト(1/35) 動画配信を取り巻く環境 Copyright © @fullvirtue. All rights reserved. 68
  • 74. All in One の新しい形
  • 75. Windows Azure Media Services コンセプト(8/35) Copyright © @fullvirtue. All rights reserved. 75 99% PC/Mac NO PLUGIN PROGRESSIVE DOWNLOAD ADAPTIVE STREAMING RTSP/RTMP Web とともに歩んだ動画配信
  • 76. Windows Azure Media Services コンセプト(9/35) Copyright © @fullvirtue. All rights reserved. 76 (standard) Streaming 3Mbps Streaming Server HTTP Progressive Download RTMP / RTSP / MMS etc … 3Mbps Web ServerHTTP Cache Adaptive bitrate Streaming over HTTP 3Mbps Streaming ServerHTTP Cache 1Mbps 512 kbps 256 kbps No Live! 配信技術の変遷
  • 78. Windows Azure Media Services コンセプト(11/35) 見えてきた次世代技術 Copyright © @fullvirtue. All rights reserved. 78 Creation ConsumerCloud 4K / 8K MPEG-DASH / CSF HEVC (H.265) 2nd Screen Big Data Tablet Smart Phone PC
  • 79. 8K UHD 4320p (7680 x 4320) Windows Azure Media Services コンセプト(12/35) 高解像度が生む巨大なファイル Copyright © @fullvirtue. All rights reserved. 79 4K UHD 2160p (3840 x 2160) HD 1080i/1080p (1920 x 1080) SD 480i (720 x 480) 10 分 約50MB 約200MB 約800MB 約3.2GB ?
  • 80. Windows Azure Media Services コンセプト(13/35) 期待の圧縮技術 HEVC ですが… Copyright © @fullvirtue. All rights reserved. 80 半分 500 – 1,000倍 ファイルサイズ エンコード時間
  • 81. Windows Azure Media Services コンセプト(14/35) HTML5 Copyright © @fullvirtue. All rights reserved. 81
  • 82. Windows Azure Media Services コンセプト(15/35) HTML5 に不足しているもの Copyright © @fullvirtue. All rights reserved. 82 Live 配信システム ネットワーク ストリーミング DRM コンテンツ保護 MPEG-DASH CENC
  • 83. Windows Azure Media Services コンセプト(16/35) MPEG-DASH – 標準規格となるか Copyright © @fullvirtue. All rights reserved. 83 Dynamic Adaptive Streaming over HTTP (DASH) Also called MPEG-DASH Smooth Streaming Http Live Streaming Http Dynamic Streaming
  • 84. Windows Azure Media Services コンセプト(17/35) 動画ファイルの構造 Copyright © @fullvirtue. All rights reserved. 84
  • 85. Windows Azure Media Services コンセプト(18/35) Dynamic Packagingによる最適な動画配信 Copyright © @fullvirtue. All rights reserved. 85 Standard MP4 Origin Source Multi Bitrate MP4 Smooth File HLS File Encode Package Package Smooth HLS Dynamic Packaging Origin (Reserved) Source Multi Bitrate MP4 Encode Smooth HLS
  • 86. Windows Azure Media Services コンセプト(19/35) Dynamic Packagingによる最適な動画配信 サンプルソースコード – http://daiyuhatakeyama.wordpress.com/2013/05/10/dynamic-packaging- %E3%81%AB%E3%82%88%E3%82%8B%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83% 89%E3%81%AA%E3%81%97%E3%81%A7%E3%81%AE%E3%83%9E%E3%83%AB%E3%83%81%E3%83 %87%E3%83%90%E3%82%A4%E3%82%B9%E5%AF%BE/ 注意事項 – [スケール]内の[ON DEMAND STREAMING]のユニットを1以上に してください Copyright © @fullvirtue. All rights reserved. 86
  • 87. Windows Azure Media Services コンセプト(20/35) さらにリッチな体験を(日本では閲覧不可) Copyright © @fullvirtue. All rights reserved. 87
  • 88. Windows Azure Media Services コンセプト(21/35) Microsoft MIX 2011 Ustream視聴者数を可視化した結果 Copyright © @fullvirtue. All rights reserved. 88
  • 89. Windows Azure Media Services コンセプト(22/35) Microsoft Media Platform: Video Editor Web ベースのラフカット編集ツール オープンソース NBC Olympic など多くの利用実績 リアルタイムのクリップ作成 – マニフェスト/インデックスファイルの作成のみを行う Copyright © @fullvirtue. All rights reserved. 89
  • 90. Windows Azure Media Services コンセプト(23/35) ブラウザーだけでも、ここまで出来る!という事例 Copyright © @fullvirtue. All rights reserved. 90
  • 91. Windows Azure Media Services コンセプト(24/35) スマートフォンにおけるネイティブアプリの現状 Copyright © @fullvirtue. All rights reserved. 91 •固定的に設置された広告枠と異なり、ユーザー行動 の主眼であるコンテンツと同様の表示形式を持った 広告であること ユーザー主体 •編集コンテンツに対し、その品質や表示トーンが一 致する、もしくは近似するコンテンツ性の高い広告 であること 融合 •ソーシャルやモバイルなど、読者のメディア接点の 変化や多様性に最適化した広告形式であること マルチデザイン •テクノロジーと人間の編集力が関与する余地のある 広告形式であること “おもてなし” • 雑多なノイズが抑制され、お目当 てのコンテンツに没頭できる 読者 • 読者が嫌うものとしての広告から、 コンテンツ同様の精読率で接して くれる広告が生まれる 広告主 • 読者とのエンゲージメント強化を 第一義に広告を制作できる メディア運営者の視点から 定義 メリット Source: http://mediaprobe.co.jp/blog/digitalmedia/2012/12/17/2838/
  • 92. Windows Azure Media Services コンセプト(25/35) 動画アプリのインフラはとても大変… Copyright © @fullvirtue. All rights reserved. 92 ネットワーク/ストレージ コンテンツ管理 サービス インテグ レーショ ン突発的な 高負荷 ジョブ 管理
  • 93. Windows Azure Media Services コンセプト(26/35) 現状のカバーエリア Copyright © @fullvirtue. All rights reserved. 93 ネットワーク/ストレージ コンテンツ管理 サービス インテグ レーショ ン突発的な 高負荷 ジョブ 管理
  • 94. Windows Azure Media Services コンセプト(27/35) とある動画配信インフラ… Copyright © @fullvirtue. All rights reserved. 94
  • 95. Windows Azure Media Services コンセプト(28/35) 動画配信のワークフロー Copyright © @fullvirtue. All rights reserved. 95 Windows Azure Media Services (APIだけしかない) 取り込み Encoding/ Transcoding コンテンツ 保護 ストリーミン グサーバー ライブ中継 分析 広告差し込み
  • 96. Windows Azure Media Services コンセプト(29/35) Windows Azure Media Services を取り巻く環境 Copyright © @fullvirtue. All rights reserved. 96 Media Job Scheduling "Build-In" Partner Media Processors Content Protection Analytics Identity Managemen t Live Encoding "Build-On" Media Partners and Customers Secure Media Ingest PartnerCDNs Encoding On- Demand Origin Live Origin Ad InsertionLive Ingest Blobs Load Balancer
  • 97. Windows Azure Media Services コンセプト(30/35) 柔軟なカスタマイズ Microsoft または Microsoftパートナー企業の アプリケーションを自由に選択 Copyright © @fullvirtue. All rights reserved. 97
  • 98. Windows Azure Media Services コンセプト(31/35) パートナーエコシステム Copyright © @fullvirtue. All rights reserved. 98 Ingest Encoding/ Transcoding Content Protection Origin & CDN ISV
  • 99. Windows Azure Media Services コンセプト(32/35) クラウドを活用した最適な動画配信 Copyright © @fullvirtue. All rights reserved. 99 権利所有 読み取り アクセス権付与 読み取り アクセス権付与 コピー時間 が”0” バックアップ 不要 CRMのスタート 地点
  • 100. Windows Azure Media Services コンセプト(33/35) 自前で環境を用意する必要がなくなる Copyright © @fullvirtue. All rights reserved. 100 圧倒的な コンピューター 処理能力が容易 に 必要最低限の ハードウェア ワンソース マルチユース
  • 101. Windows Azure Media Services コンセプト(34/35) 料金プラン Copyright © @fullvirtue. All rights reserved. 101 Media Job Sched uling "Build-In" Partner Media Processors Content Protection "Build-On" Media Partners and Customers Secur e Media Ingest PartnerCDNs On-Demand Origin パートナー様が決定 Encoding 処理データ量 / 月 料金 (GB) 最初の5TB ¥165.25 5 – 15 TB ¥132.87 15 - 30 TB ¥107.13 30 – 50 TB ¥84.71 100TB 以上 要ご相談 Blobs Load Balancer 量 / 月 Geo Replica (GB) 無し (GB) 最初の1TB ¥7.89 ¥5.82 - 49TB ¥6.65 ¥5.40 -450TB ¥5.82 ¥4.99 -500TB ¥5.40 ¥4.57 – 4,000TB ¥4.99 ¥3.74 - 9,000 TB ¥4.57 ¥3.08 9,000TB超 ご相談 ご相談 量 / 月 (GB) 最初の10TB ¥15.78 -40TB ¥11.63 -100TB ¥9.97 -350TB ¥8.31 -524TB ¥6.65 -4096TB ¥5.82 5,120TB超 お問い合わせ 量 / 月 (GB) 最初の10TB ¥15.78 -40TB ¥12.46 -100TB ¥10.80 -350TB ¥9.97 500TB超 お問い合わせ 料金 (Unit / 月) ¥16,524.87 料金 (Unit / 月) ¥8,220.92 共有ユニット 占有ユニット 占有ユニット (のみ)
  • 102. Windows Azure Media Services コンセプト(35/35) “動画配信” だけでサービスは成り立たない Copyright © @fullvirtue. All rights reserved. 102 仮想マシン (Virtual Machines) クラウド サービス (Cloud Services) Web サイト (Web Sites) SQL データベース (SQL Database) ストレージ (Storage) トラフィック管理 (Traffic Manager) 仮想ネットワーク (Virtual Network) サービス バス (Service Bus) メディア配信 (Media) コンテンツ配信 (CDN) キャッシュ (Caching) アクセス制御&AD (ACS & Active Directory)
  • 103. まとめ Copyright © @fullvirtue. All rights reserved. 103
  • 104. Copyright © @fullvirtue. All rights reserved. 今日お話したこと(1/1) Windows Azure 管理ポータルでの配信手順 Windows Azure Media Services 開発環境の準備 Windows Azure Media Services APIを使った配信手順 Windows Azure Media Services コンセプト まとめ 104
  • 105. Copyright © @fullvirtue. All rights reserved. 105 ご静聴ありがとうございました。