ApsaraVideo VOD のワークフロー 2.0 は、Intelligent Media Services (IMS) の字幕除去機能と統合されており、動画の字幕をインテリジェントに検出して除去します。この機能は、スマートパディングを使用してクリーンな動画フレームを復元し、プロセスを自動化してポストプロダクションをサポートします。このトピックでは、ワークフローで字幕除去機能を使用する方法について説明します。
この機能は、次のリージョンで利用できます:
中国 (上海)、中国 (北京)、シンガポール、米国 (シリコンバレー)。
前提条件
ワークフローで字幕消去ノードを使用するには、ApsaraVideo VOD と Intelligent Media Services を個別にアクティベートする必要があります。
利点
字幕削除機能にはプレミアムエディションがあります:
Premium Edition (推奨):このエディションは、シームレスな除去を提供します。モザイクや影のようなアーティファクトなどの問題を解決し、より自然な見た目のビデオを生成します。このエディションは、
ModelIdパラメーターを使用して有効にします。詳細については、「ModelId パラメーター」をご参照ください。Premium Edition は高度なアルゴリズムを使用しますが、Basic Edition よりも動画の処理速度が遅く、コストも高くなります。要件に応じてエディションを選択してください。
操作手順
ステップ 1:コンソールでの字幕除去ワークフローの設定
ワークフローは ApsaraVideo VOD コンソールでのみ作成できます。
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、設定の管理 > ApsaraVideo Media Processing の設定 > ワークフロー管理 を選択し、ワークフロー管理ページに移動します。
[ワークフローテンプレートの追加] をクリックし、ワークフロー名を入力します。
ワークフロー編集ページで、開始ノードの右側にある + アイコンをクリックして、字幕除去ノードを追加します。

右側のパネルで、プロンプトに従ってパラメーターを設定します:

ノード名:字幕除去ノードのカスタム名です。
[サンプル素材]:字幕パラメーターを設定するために使用されるサンプル動画。この動画はワークフローでは処理されません。サポートされているフォーマットは MP4、WebM、MOV、M3U8 です。
[検出エリア]:デフォルトのエリアは動画の下部 4 分の 1 です。カスタムエリアを手動で選択することもできます。
[アルゴリズムエディション]:Basic Edition と Premium Edition をサポートしています。
Premium Edition (推奨):複数の時間範囲でシームレスな除去をサポートします。より自然な見た目のビデオを生成し、残存するモザイクや影を効果的に除去します。プレミアム機能は、
ModelIdパラメーターを設定して有効にします。詳細については、「ModelId パラメーター」をご参照ください。Basic Edition:このエディションでは、除去後にモザイクの影などのアーティファクトが残る場合があります。復元品質は平均的です。
[時間範囲]:カスタムの開始時刻と終了時刻を設定します。
説明開始時刻と終了時刻はペアで指定する必要があります。
開始時刻を終了時刻より後にすることはできません。
開始時刻または終了時刻のいずれかが空の場合、そのエントリは無効と見なされます。エントリが無効な場合、ワークフローはデフォルトで動画全体を処理します。
Premium Edition は最大 5 つの時間範囲をサポートします。Basic Edition は 1 つのみサポートします。
設定が完了したら、[OK] をクリックしてワークフローテンプレートを送信し、ワークフロー ID を生成します。後でアップロードする際にワークフローを指定するために、この ID を記録しておきます。

ステップ 2:ワークフローのトリガー
作成したワークフローを使用してビデオを処理します。タスクは、ビデオのアップロード中またはアップロード後に開始できます。
コンソールでのワークフローのトリガー
ビデオアップロード時の開始
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、メディアファイル > [音声/ビデオ] を選択し、次に [音声/ビデオのアップロード] をクリックします。
[オーディオ/ビデオのアップロード] ページで、[オーディオ/ビデオの追加] をクリックし、アップロード方法とストレージの場所を選択し、ワークフローでの処理 を選択してから、作成したワークフローを指定します。

ビデオアップロード後の開始
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、メディアファイル > [オーディオ/ビデオ] を選択してオーディオ/ビデオ リストページに移動します。
対象のオーディオまたはビデオの [操作] 列で、処理 をクリックします。[ワークフローで処理] を選択し、前のステップで作成したワークフローを選択します。

OpenAPI を使用したワークフローのトリガー
ビデオアップロード時の開始
CreateUploadVideo 操作は、アップロード URL と認証情報を取得し、基本的なメディア資産情報を作成します。ファイルはアップロードしません。アップロードロジックを実装する必要があります。API 操作を使用してファイルをアップロードする完全な例については、「ApsaraVideo VOD API を使用したメディアファイルのアップロード」をご参照ください。
CreateUploadVideo または UploadMediaByURL 操作を呼び出してオーディオまたはビデオファイルをアップロードする際に、
WorkflowIdパラメーターを作成したワークフローの ID に設定します。アップロードが完了すると、ApsaraVideo VOD は指定されたワークフローに従ってファイルを自動的に処理します。
ビデオアップロード後の開始
SubmitWorkflowJob 操作を呼び出します。WorkflowId パラメーターを作成したワークフローの ID に設定します。この操作により、オーディオまたはビデオファイルを処理するワークフローが直ちに開始されます。
ステップ 3:クエリ結果
ApsaraVideo VOD コンソールでのクエリ結果
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、メディアファイル > [オーディオ/ビデオ] を選択し、オーディオ/ビデオのリストページに移動します。
オーディオ/ビデオのリストページで、ワークフローによって生成されたビデオを検索します。ソースビデオ名、作成時間などの条件でビデオをフィルターできます。
Intelligent Media Services コンソールでのクエリ結果
Intelligent Media Services コンソールにログインします。
左側のナビゲーションウィンドウで、[VOD メディア処理] > [タスク管理] を選択し、[スマート除去] タブをクリックします。
[インテリジェント除去] タブで、ワークフローによって生成された除去タスクを検索します。タスク名、作成時間などの条件でタスクをフィルターできます。
タスクステータスが [Success] の場合、[表示] をクリックして詳細を表示します:
除去タスクの基本パラメーターと設定。
ビデオ入力をクリアします。
ビデオの出力情報と出力ファイルをクリアします。
ワークフロータスクのコールバックを使用したクエリ結果
ワークフロータスクが完了すると、システムは WorkflowTaskFinished イベントをトリガーし、構成済みの HTTP または MNS コールバックを介して完全な結果をプッシュします。主要なフィールドは次のとおりです:
Status:タスクの全体的なステータス (SucceedまたはFailed)。ActivityResults:各ノードの実行詳細を含む JSON 文字列です。例えば、VideoTranslationノードの場合、ResultフィールドにはMediaIdやJobIdなど、除去出力からの主要情報が含まれます。TaskInput:MediaID やファイル名などの元の入力メディア情報。
コールバックメッセージの本文から
ActivityResultsを解析し、結果ビデオのMediaIdを抽出します。この ID を使用して、再生や配信ができます。
OpenAPI を使用したクエリ結果
QueryIProductionJob 操作を呼び出して、タスク結果をクエリします。除去タスクの JobId を渡します。この JobId は、ワークフロータスクのコールバックにおける ActivityResults.Result.JobId フィールドから取得できます。この操作は、除去ジョブの詳細なステータスと出力を返します。
JobId:ワークフローが SubmitIProductionJob 操作を呼び出して字幕除去タスクを送信したときに返されるジョブの ID。
応答の例:
{
"RequestId": "****20b48fb04483915d4f2cd8ac****",
"JobId": "****20b48fb04483915d4f2cd8ac****",
"FunctionName": "VideoDetext",
"Input": {
"Type": "OSS",
"Media": "oss://example-bucket/input.mp4"
},
"Output": {
"Type": "OSS",
"Media": "oss://example-bucket/output.mp4",
"OutputUrl": "http://example-bucket.oss-cn-shanghai.aliyuncs.com/output.mp4"
},
"Status": "Success",
"CreateTime": "2024-09-24T06:17:09Z",
"FinishTime": "2024-09-24T06:17:31Z",
"OutputFiles": ["output.mp4"],
"OutputUrls": ["http://example-bucket.oss-cn-shanghai.aliyuncs.com/output.mp4"],
"Result": {}
}StatusがSuccessの場合、字幕除去が完了したことを示します。OutputUrlsフィールドの URL を使用して、処理済みの動画にアクセスできます。