背景
動画を使った処理では、結局映像を見る行為をしないと、映っているものの確認ができません。そのため、よく行われている Video Indexer を使った動画解析では、以下の2つのパイプライン処理を行う事が多いです。
- 動画を Blob Storage にUpload
- Video Indexer で解析処理
- Azure Media Services でトランスコード・配信URL作成
ただ、これですと Azure Media Services の処理が冗長です。しかも、Azure Media Services はデフォルトで Azure CDN
もついているため、殆どの動画配信のシナリオにはキャパシティとしても十二分です。
Video Indexer は内部で Azure Media Services の各種エンジンを使って、Video Indexer の ポータルでのストリーミング表示を実現させています。
実際に、Video Indexer を有料モードにする際には、Azure Media Services の作成あるいはアタッチを行います。
ここでは、Video Indexer の処理 1つである程度終わらせる事を目指します。
制約
- Azure Media Services のもつ、きめ細やかなトランスコード処理はできない
- 例えば Content Aware Encoding (プレビュー)
- https://docs.microsoft.com/ja-jp/azure/media-services/latest/content-aware-encoding
作戦
- Video Indexer が内部で使用している Azure Media Services に Locator を設定する
用意するもの
- Azure Subscription
- Video Indexer のアカウント
- Azure Media Services の挙動を確認するために、有料版で
- Azure Media Services Explorer Tools
手順
いきなりAPIコールするコードを書く前に、Azure Media Services Explorer Tools で挙動を確認しましょう😊
1. Video Indexer に動画 をアップロード
以下の項目を変更します。
項目 | 値 | メモ |
---|---|---|
ストリーミングの品質 | アダブティブ ビットレート | 無線など不安定な回線での快適なストリーミングをやりやすくなります |
2. Azure Media Services Explorer Tools で Locator を追加
-
真ん中: Encoding ジョブの出力
-
一番下: オリジナル動画
3. Encoding ジョブの出力アセットから Locator
作成
Locator は 1つのアセットに、100 個まで設定できます。これは、ユーザー毎に設定するのではなく、コンテンツホルダーとの契約での公開期間や、サービスメニューとしてのセキュリティ設定の違い (無料 / 有償ユーザーの違い) などをカバーするためのものです。
Azure Media Services v3 のクォータと制限
https://docs.microsoft.com/ja-jp/azure/media-services/latest/limits-quotas-constraints
ここでは、2つ目の Locator を追加します
....画面のレンダリングが乱れておりますが(涙)...
そのまま[ロケーターを作成]を選択します
作成後、Azure Media Services Explorer Tools 上では、Publication
列に 2つのアイコンが確認できます
4. 再生してみましょう
[Azure Media Player での再生] を選択します
Locator が2つありますので、どちらを使うのか、というダイアログボックスが表示されます。
-
末尾がmanifestで終わっているものを選択します。
5. 後始末
Video Indexer でジョブ実行後、必要に応じて Azure Portal から Azure Media Services のリソースの停止を行ってください。
自動化のために
Azure Media Services は、APIベースのサービスであるため、自動化が可能です。
サンプルが幾つかありますので、適時ご参照ください。
ストリーミング ロケーター:
https://docs.microsoft.com/ja-jp/azure/media-services/latest/streaming-locators-concept
.NET / Java などのサンプル:
https://docs.microsoft.com/ja-jp/samples/browse/?products=azure-media-services
REST のサンプル:
https://github.com/Azure-Samples/media-services-v3-rest-postman
まとめ
有料版ならではの選択肢を Video Indexer は提供しています。内部機能が、ご自身のアカウントで使えている事実を確認しながら、うまく作業フローの中で、自動化して使ってください。