Media Services の Transform と Job

Media Services ロゴ v3


警告

Azure Media Services は、2024 年 6 月 30 日に廃止されます。 詳細については、「 AMS 廃止ガイド」を参照してください。

ヒント

サムネイルの生成、2 つのビデオの合成、ビデオのサブクリップまたは回転などを行う必要がありますか? サンプルに関するページに Media Services サンプル コードがあります。

このトピックでは、TransformJob に関する詳細を示し、これらのエンティティ間の関係について説明します。

一般的なワークフロー

Transform はレシピのようなものです。 これでレシピを 1 回作成すると (手順 1)、そのレシピを使って複数の Job を送信できます (手順 2)。

  1. Transform を作成します。
  2. その Transform に基づいて Job を送信します。
  3. Transform を一覧表示します。
  4. 将来利用する予定のない Transform を削除します。

すべてのビデオの最初のフレームをサムネイル画像として抽出するとします。実行する手順は次のようになります。

  1. 「ビデオの先頭フレームをサムネイルとして使用する」などのビデオを処理するレシピ、すなわちルールを定義します。
  2. 1 つのビデオについて、サービスに次の情報を提供します。
    1. ビデオがある場所。
    2. 出力するサムネイル画像を書き込む場所。

注意

Datetime 型の Transform および Job のプロパティは、常に UTC 形式です。

変換

Transform を使用して、ビデオのエンコードや分析を行うための一般的なタスクを構成できます。 各 Transform は、ビデオまたはオーディオ ファイルを処理するためのレシピ、すなわちタスクのワークフローの記述です。 1 つの Transform によって複数のルールを適用することができます。 たとえば、1 つの Transform で各ビデオを指定されたビットレートの MP4 ファイルにエンコードして、そのビデオの先頭フレームからサムネール画像を生成するように指定できます。 Transform に含めたいルールごとに TransformOutput エントリ 1 つを追加します。 入力メディア ファイルの処理方法を Transform に指示するには、プリセットを使用します。

スキーマの表示

Media Services v3 では、プリセットは API 自体で厳密に型指定されたエンティティです。 これらのオブジェクトの "スキーマ" 定義は、Open API の仕様 (または Swagger) にあります。 プリセット定義 (StandardEncoderPreset など) は、REST API.NET SDK、またはその他の Media Services v3 SDK のリファレンス ドキュメントでも確認できます。

変換の作成

Transform は、REST、CLI、または公開されている任意の SDK を使用して作成できます。 Media Services v3 の API は Azure Resource Manager によって実行されるため、Resource Manager テンプレートを使用して、Media Services アカウントに Transforms を作成して デプロイすることもできます。 Azure ロールベースのアクセス制御を使用して、Transforms へのアクセスを管理することができます。

変換の更新

Transform を更新する必要がある場合は、Update 操作を使用します。 これは基になる TransformOutput の記述または優先度を変更することを目的としています。 進行中のすべてのジョブが完了したら、更新を完了する必要があります。 レシピを書き直す場合は、新しい Transform を作成する必要があります。

ジョブ

ジョブは、特定の入力ビデオまたはオーディオ コンテンツに Transform を適用する、Media Services への実際の要求です。 Transform を作成すると、Media Services API または公開されている任意の SDK を使用してジョブを送信できます。 Job は、入力ビデオの場所や出力先などの情報を指定します。 入力ビデオの場所は、HTTPS URL、SAS URL、またはアセットを使用して指定できます。

HTTPS からのジョブ入力

既に URL 経由でコンテンツにアクセスでき、ソース ファイルを Azure に格納する必要がない場合 (たとえば、S3 からインポートするなど)、HTTPS からのジョブ入力を使用します。 また、コンテンツは Azure BLOB ストレージ内にあるが、資産の中にファイルがなくてもかまわない場合にも、この方法が適しています。 現時点で、この方法では、入力として 1 ファイルのみをサポートしています。

ジョブ入力としての資産

入力コンテンツが既に資産の中にあるか、またはコンテンツがローカル ファイルに格納されている場合は、ジョブ入力としての資産を使用します。 また、入力した資産をストリーミングまたはダウンロード用に公開することを計画している (つまり、ダウンロード用に mp4 を公開すると共に、音声テキスト変換や顔検出も行いたい) 場合にも、適切なオプションになります。 この方法では、複数ファイルの資産をサポートします (たとえば、ローカルにエンコードされた MBR ストリーミング セットなど)。

ジョブの進捗状況の確認

ジョブの進捗状況と状態は、Event Grid でイベントを監視することによって取得できます。 詳しくは、「EventGrid を使ってイベントを監視する」を参照してください。

ジョブの更新

ジョブが送信された後、Job エンティティの更新操作を使用して、description および priority プロパティを変更できます。 priority プロパティの変更は、ジョブがキューに入っている状態の場合にのみ有効です。 ジョブの処理がすでに開始されているか、完了している場合、優先順位の変更は適用されません。

エンコードのサンプル

エンコードについては、「 エンコード サンプル 」の広範な一覧を参照してください。

ヘルプとサポート

Media Services に質問がある場合は、次のいずれかの方法で更新プログラムに従ってください。

  • Q & A
  • Stack Overflow。 質問に タグを付け、 を使用します azure-media-services
  • @MSFTAzureMedia するか 、@AzureSupport を使用してサポートを要求します。
  • Azure portalからサポート チケットを開きます。