Media Services の認証方式の変更について

以前に記事だけ取り上げましたけど勘違いしていたので改めて。

基本的には上記Blogに書かれているとおりですが、ACS(Access Control Services)ベースを使った認証方式が2018年6月22日で廃止されるのでAzure ADを使った認証方式に変えましょう、というのが主旨になります。
※で、ACS使ってないやーとか思ってたのですけどこれまでのMedia Servicesアカウントとアカウントキーの組み合わせでアクセスするのもACS使ってるのでアウト=基本的に既存コードなどは対応しないといけない、ということでした。

さて猶予期間は1年弱ありますが、中身を理解してさっさと対応してしまいましょう。新しい方式はAzure ADを使うというのと、エンドポイントを柔軟に設定できるので将来的にAzure StackにMedia Servicesがきても対応することができます。

なお字幕生成などが行えるMedia Analyticsも同じだと思うので同じように対応しましょう。

続きを読む

Azure Media Encoder Standard のスキーマとか

Azure Media Servicesで動画のエンコード行う際、最近だとMedia Encoder Standardを使うかと思いますが今日はそのスキーマの話です。

エンコードのジョブを作成する際、どういったフォーマットや品質でエンコードを行うか指示するわけですが、通常はプリセットを利用するわけです。

ポータル上でプリセット使う場合に選択するアレですね。なおドキュメントは過剰翻訳されてるというか、英語で見ても翻訳されてたりちょっとイマイチです。(指定するプリセット名が翻訳されてしまってる…)
※実際に指定する際は各プリセットの個別ページに記載されてるやつを使いましょう。

さてもっときめ細かく指定したい場合はカスタムプリセットを作ってエンコードすることもできます。
その際、XML形式とJSON形式を選べるわけですが、XML形式はSchemeが一応公開されてるにも関わらずJSON形式はさっぱりです。

なおたまに見るとUpdateされてたりします。具体的には回転情報を維持するかどうかなど。

image

今までは黒帯ついたりしてたのでこれでちゃんとできますね。さてJSON形式ですがMSDNライブラリのほうにはないので、Azure公式ドキュメントのほうを探しましょう。と言いたいところですが、肝心なところがGitHubにしかない予感。

こちらにいろいろ載ってるので参考まで。

H.264のプロファイルをBaselineにする方法とかいろいろ。慣れるとXMLのスキーマみてどこに何指定したらいけるかなんとなく判断できますが、基本的にTry&Errorになりそうな気がします。

※変な値指定するとJobでエラー返るので判断はある程度付きます。(ただしある程度)

なおMedia Encoder Standard(だけじゃないかもしれませんが)の裏側はFFmpegなので、FFmpegでできそうなことはだいたいできると思います。FFmpegバンザイ。(プリセットの内容みて引数生成してるだけな気がする)

まぁそんな感じでMedia Servicesをお楽しみください。

Windows Azure Media ServicesがGAしました

GAは唐突に。そう唐突に。

ScottGu’s Blog日本語訳)にもある通り、Windows Azure Media Servicesが一般提供(General Availability)されました。

一般提供が開始されたということは、SLAが付いたということです。ちょっと日本語のフォントがおかしいですがSLAはこちらから入手できます。

※フォント指定しなおしたらちゃんと見えます。

SLAは2種類あって1つはオンデマンドストリーミングの月間稼働時間、もう1つはメディアサービスのエンコードREST APIのトランザクション数のようです。どちらも99.9%を下回ると10%返金のようですね。気になる人はちゃんと読みましょう。

気になるお値段ですが、以下の4種類で変わりますので注意。

メディア サービスのエンコード

とりあえずメディアサービスのエンコードに関しては2013年2月17日までは課金されないようです。課金単位は「処理されたデータ量」で、データの入力とエンコードされたデータの出力両方が対象です。※保存先のストレージとそれにかかるデータ転送料も別途かかります。

最初の5TBまでは 173.95円/GByte。

メディア サービス エンコードの占有ユニット

占有ユニットを使用してエンコードの並列処理ができますが、その占有ユニットあたり8,653.59円/月かかります。ちょっと計算がややこしいようです。

アカウントでプロビジョニングされた状態の占有ユニットの最大数を使用して日割りで計算されます (24 時間単位)。たとえば、11:00 にエンコードの占有ユニットを 5 個購入した後、15:00 にその数を 3 個に減らした場合、その日は 5 個の占有ユニットに対して料金が発生します。23:00 にエンコードの占有ユニットを 5 個購入した後、翌日 10:00 にその数を 3 個に減らした場合、1 日目は 5 個の占有ユニットに対して料金が発生し、2 日目も、最初の 10 時間は 5 個の占有ユニットを所有していたため同様の料金が発生します。

まぁ、注意しましょう、ということですね。占有ユニットを使わない場合はこの費用は掛からないみたいです。

メディア サービス オンデマンド ストリーミング

オンデマンドストリーミングする場合、ユニットあたり17,394.59円/月かかります。アクティブだった占有ユニットの最大数の24時間単位な日割りで計算なのでこちらも注意。またAzureからのデータ送信は別途費用が発生します。

メディア サービスのパッケージ化

パッケージングそのものは無料でOK

というわけで料金詳細はこちら。

ちなみにオンデマンドストリーミング、エンコーディングについては管理ポータルの「スケール」で変更することができます。既定はどちらも占有ゼロ状態なので安心ですね(?)

image

 

Windows Azure Media Servicesを使ったサービスを開発する場合、Media Services libraries for .NET (Windows Azure Media Services .NET SDK)Media Services libraries for Javaの2種類があるようです。JavaのほうはAzure SDKに含まれてるからそっち見てね。とのこと。

Java使えるから一応WIndows/Mac/Linuxで開発できますね。

動画を見るクライアント側のSDKとしてはSmooth Streaming Client SDKがWindows 8用SilverlightとWindows Phone用の2種類、それからOSMF向けPluginiOS Media Player Frameworkが提供されています。

ということで、以下のようなクライアントたちをターゲットに配信できちゃいます。

  • Windows 8
  • iOS
  • Xbox
  • Flash Player (built using Adobe OSMF)
  • Silverlight
  • Windows Phone
  • Android
  • Embedded devices (Connected TV, IPTV)

やったね☆

動画の処理はメディアサービスが行ってくれますが、実際に大量の動画データをAzure側に送り込む必要があるので大変です。そんなときは一括アップロードしちゃいましょう。またUDPを使ったAsperaで高速アップロードも使えるので必要に応じて使いましょう。

というわけで、GAされて一安心。動画配信プラットフォームはSmooth Streaming+Windows Azure Media Servicesでキマリですね。

Windows Azure Media Servicesがアナウンスされました

National Association of Broadcasters (NAB) 2012 にてWindows Azure Media Servicesがアナウンスされました。

そもそもWindows Azure Media Servicesってなんでしょう?

発表されたばかりのこのサービスを利用すると、スマートテレビやセットトップボックス、MacOS、iOS、AndroidなどMS以外のプラットフォーム、それからもちろんXBoxやWindows Phone、Windows PCを含むほぼすべてのデバイスへのメディア配信を簡素化できるようです。

もともとこれらの機能はPlayReadyでおなじみのMicrosoft Media Platformで培われた機能ですね。つまり簡単に言うとMicrosoft Media PlatformのサーバーサイドがWindows Azureのサービスとして追加されるということです。

素晴らしいですね~!

さてサービス化されて何ができるんでしょう?まだ細かい機能が公開されてないので公式サイトを適当に見てみます。

End to Endのワークフロー

メディアワークフローが構築できます。ニーズに合わせて構成を組み合わせたり構成済みの設定を利用したり。アップロードやエンコーディング、フォーマット変換、コンテンツ保護(DRM)、配信が行えます。

ハイブリッドワークフロー

複数のフォーマットに変換して3rd Party製のCDNに配信したり外部アプリとREST API経由で連携したりできるみたいです。

Windows、Xbox、iOS、Androidのサポート

各デバイスに必要なメディアの作成や管理、複数デバイス間での配信機能などを提供。

Media Servicesのベネフィット

Windows Azure Media ServicesはMicrosoft Media Platformのクラウドサービス版です。既存のソリューションやカスタムワークフローなどニーズに合わせて簡単にサービスを管理できます。

取り込み

標準的なHTTPや、3rd Party製のエージェントを使用したセキュアで高速なUDP通信を使用してWindows Azure Media Servicesのストレージにメディアをアップロードできます。

エンコード

標準的なコデックとフォーマット、Smooth StreamingやHTTP Live Streaming、MPEG-DASHやFlashなどビルトインで提供されるWindows Azure Media Encoderまたは3rd Party製のエンコーダを利用できます。

フォーマット変換

ストリームの入力と出力を制御してライブラリ全体や個々のストリームを変換できます。

コンテンツ保護

Liveやオンデマンドの音声やビデオを標準的なMPEG Common EncryptionやMicrosoft Play Readyを使って暗号化することができます。業界でも最も受け入れられているDRMをコンテンツに追加できます。またウォーターマークや電子透かしを追加することもできます。

オンデマンドストリーミング

Windows Azure CDNや3rd Party製のCDNを経由してコンテンツをシームレスに提供することができます。

ライブストリーミング

ライブチャンネルのストリーミングやMedia Servicesを使ったエンコード、外部フィードからの配信などを簡単に作成し、配信できます。サーバー側DVRやリプレイ機能なども利用できます。

価格など

今時点ではプレビュー版なのでコストはかかりません。(但しストレージやネットワーク転送料、CDNなどの既存のWindows Azure機能に関するコストは発生します)

サインアップするにはメールしましょう!(※想定してるシナリオも書いてねとのこと)

開発するには

この辺参照 → Windows Azure Media Services Preview for Developers

おまけ

この辺の詳細はWindows Developer DaysのSC-008 Windows Azure Platformでの動画配信アプリケーション開発で聞けるみたいですよ!

Windows Azure で Live Smooth Streaming をやってみる

さて 前回の投稿の通り、Startup Task の使い方もわかったので、実際にやってみようと思います。
今回はせっかく Silverlight Firestarter で発表もあった Azure での IIS Media Services 4.0 でも試してみようと思います。

※手順的にまだだいぶイレギュラーなところもあります。。。あくまで参考程度に。

続きを読む