20140920 大分進化したメディアサービスで遊んでみた

13
大分進化した メディアサービスで遊んでみた 2014年9月20日 #jazug 割と普通( @normalian )

Upload: normalian

Post on 12-Nov-2014

1.325 views

Category:

Technology


0 download

DESCRIPTION

JAZUG 4周年イベントの LT として話した内容

TRANSCRIPT

Page 1: 20140920 大分進化したメディアサービスで遊んでみた

大分進化したメディアサービスで遊んでみた

2014年9月20日

#jazug

割と普通( @normalian )

Page 2: 20140920 大分進化したメディアサービスで遊んでみた

自己紹介

• 割と普通 ( @normalian )

–社蓄★戦士(キリッ

– Microsoft Azure と ASP.NET とか得意です

– JavaEE 系は割かし得意です

– Microsoft MVP for Microsoft Azure 2010~

2

Page 3: 20140920 大分進化したメディアサービスで遊んでみた

メディアサービスの全体像

3

http://www.microsoft.com/en-us/download/details.aspx?id=38195

Page 4: 20140920 大分進化したメディアサービスで遊んでみた

様々なデバイスに配信可能

3G 等の低速回線

ブロードバンド回線

低画質

高画質

DP 向け

Smooth Streaming

HTTP Live Streaming

ブロードバンド回線

開発者

Microsoft Azureメディアサービス

… 配信制御

DP … DynamicPackage

元動画

一つの動画ファイルで複数形式で配信可

アップロード

Page 5: 20140920 大分進化したメディアサービスで遊んでみた

5

最近の主な更新

① コンテンツ保護

② スケールアップ

③ Live Streaming

④ SDK Extensions の追加

Page 6: 20140920 大分進化したメディアサービスで遊んでみた

① コンテンツ保護(1/2)

• コンテンツ保護のエンコードが追加された

6

コンテンツ保護エンコード

Page 7: 20140920 大分進化したメディアサービスで遊んでみた

① コンテンツ保護(2/2)

• トークン制御、有効期間、アクセス許可の設定が可能

7

Page 8: 20140920 大分進化したメディアサービスで遊んでみた

② スケールアップ

• BASIC / STANDARD /PREMIUM を選択可能

8

Page 9: 20140920 大分進化したメディアサービスで遊んでみた

③ Live Streaming

9

• 生放送が可能

• 放送したその場で動画が BLOB に保存される

• MEPG-DASH を利用したマルチデバイス配信が可能

– もちろん Smooth Streaming も可能

実映像と1分位ずれてるような・・・

Page 10: 20140920 大分進化したメディアサービスで遊んでみた

10

④ SDK Extensions の追加 (1/3)

• NuGet のパッケージ検索窓で「Media Azure」で検索する

Page 11: 20140920 大分進化したメディアサービスで遊んでみた

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 利用後

Page 12: 20140920 大分進化したメディアサービスで遊んでみた

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 利用後他にも便利メソッドがいっぱい

Page 13: 20140920 大分進化したメディアサービスで遊んでみた

まとめ

• コンテンツ保護ができるようになったよ!– まだ中身は把握しきれてませんが・・・

• エンコードがスケールアップできるようになったよ!–性能は大体で倍々になるっぽい

• Live Streaming ができるようになったよ!– エンコーダのサポート、タイムラグ等々で気になる点有

• Extensions SDK を試すとコード書くのが楽になるよ!!!