Upload
normalian
View
1.325
Download
0
Embed Size (px)
DESCRIPTION
JAZUG 4周年イベントの LT として話した内容
Citation preview
大分進化したメディアサービスで遊んでみた
2014年9月20日
#jazug
割と普通( @normalian )
自己紹介
• 割と普通 ( @normalian )
–社蓄★戦士(キリッ
– Microsoft Azure と ASP.NET とか得意です
– JavaEE 系は割かし得意です
– Microsoft MVP for Microsoft Azure 2010~
2
メディアサービスの全体像
3
http://www.microsoft.com/en-us/download/details.aspx?id=38195
様々なデバイスに配信可能
3G 等の低速回線
ブロードバンド回線
低画質
高画質
DP 向け
Smooth Streaming
HTTP Live Streaming
ブロードバンド回線
開発者
Microsoft Azureメディアサービス
… 配信制御
DP … DynamicPackage
元動画
一つの動画ファイルで複数形式で配信可
アップロード
5
最近の主な更新
① コンテンツ保護
② スケールアップ
③ Live Streaming
④ SDK Extensions の追加
① コンテンツ保護(1/2)
• コンテンツ保護のエンコードが追加された
6
コンテンツ保護エンコード
① コンテンツ保護(2/2)
• トークン制御、有効期間、アクセス許可の設定が可能
7
② スケールアップ
• BASIC / STANDARD /PREMIUM を選択可能
8
③ Live Streaming
9
• 生放送が可能
• 放送したその場で動画が BLOB に保存される
• MEPG-DASH を利用したマルチデバイス配信が可能
– もちろん Smooth Streaming も可能
実映像と1分位ずれてるような・・・
10
④ SDK Extensions の追加 (1/3)
• NuGet のパッケージ検索窓で「Media Azure」で検索する
11
④ SDK Extensions の追加 (2/3)//動画の URI 取得var file = asset.AssetFiles.ToList().First(af =>af.Name.EndsWith(".mp4", StringComparison.OrdinalIgnoreCase);
locator.BaseUri + "/" + file.Name + locator.ContentAccessComponent;
//ストリーム配信の URI 取得new Uri(locator.Path + file.Name + "/Manifest").ToString();
//動画の URI 取得asset.AssetFiles.ToList().First(af =>
af.Name.EndsWith(".mp4",StringComparison.OrdinalIgnoreCase).GetSasUri();
//ストリーム配信の URI 取得locator.GetSmoothStreamingUri();
SDK Extensions 利用後
12
④ SDK Extensions の追加 (3/3)//動画のアップロード
var asset = context.Assets.Create(assetName,AssetCreationOptions.None);
var assetFile = asset.AssetFiles.Create(Path.GetFileName(filePath));assetFile.UploadProgressChanged += (sender, e) => Console.WriteLine("★ {0}% uploaded. {1}/{2} bytes",e.Progress,e.BytesUploaded, e.TotalBytes);assetFile.Upload(filePath);
//動画の URI 取得var asset = context.Assets.CreateFromFile(filePath,
AssetCreationOptions.None,(sender, e) => Console.WriteLine("★ {0}% uploaded.
{1}/{2} bytes", e.Progress, e.BytesUploaded, e.TotalBytes));
SDK Extensions 利用後他にも便利メソッドがいっぱい
まとめ
• コンテンツ保護ができるようになったよ!– まだ中身は把握しきれてませんが・・・
• エンコードがスケールアップできるようになったよ!–性能は大体で倍々になるっぽい
• Live Streaming ができるようになったよ!– エンコーダのサポート、タイムラグ等々で気になる点有
• Extensions SDK を試すとコード書くのが楽になるよ!!!