tencent cloud

スマート分割の導入

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-11-28 11:48:26
スマート分割機能は、大規模モデルによるビデオ理解、音声認識、テキスト抽出、および人物・物体認識などの技術を統合し、長尺ビデオの高精度分割とマーキングを実現します。システムは、分割後のビデオクリップを出力可能で、各クリップのカバー画像、開始・終了時間、タイトル、内容要約などの情報を含みます。例えば、ニュース番組全体の素材を、個別のニュースイベントのビデオに分割することで、ニュースやスポーツ関連内容の動画分割を効果的に実現し、二次創作を効果的に促進し、同時に人的・ハードウェアコストを大幅に削減します。

スマート分割はオフラインビデオまたはライブストリームの処理をサポートしています。それぞれ、下記のオフラインビデオの処理ライブストリームの処理をご参照ください。

オフラインビデオの処理

タスク開始方法1:コンソールから開始

1. MPSコンソールに移動し、タスク作成 > オフラインファイル処理タスクの作成を順にクリックします。

2. 入力ファイルパス、ワークフロー処理フロー、出力パスを順に選択します。ワークフロー設定で、メディアAI - スマート分析ノードを選択します。

3. 右側にポップアップするスマート分析設定ページで、プリセットのスマート分割テンプレート(テンプレートID:27)を選択します。「詳細設定」の拡張パラメータを有効にし、本記事の説明を参考にして拡張パラメータを渡すことで、分割内容を指定し、より良い効果的な動画分割を実現できます。処理効果を最大限に高めるため、具体的な設定についてはお問い合わせで対応いたします。
説明:
MPSコンソールは自動的にエスケープ処理を行いますので、JSONデータを直接入力してください。エスケープ後の文字列を渡すと、タスクが失敗します。
拡張パラメータが未入力の場合、デフォルトでニュース内容分割となります。

4. 最後に、作成をクリックしてタスクを開始します。

タスク開始方法2:自動実行

COSバケットにビデオファイルをアップロードした際に、プリセットのパラメータに従って自動的に動画分割を実行させたい場合は、タスク作成時にこのワークフローを保存をクリックし、ポップアップウィンドウでトリガーとなるBucketやディレクトリなどのパラメータを設定します。

次にオフラインワークフローリストに移動し、作成したワークフローを見つけ、有効化のスイッチをオンにします。以降、トリガーディレクトリに新しいビデオファイルが追加されると、このワークフローでプリセットされたフローとパラメータに従って自動的にタスクが開始され、処理後のビデオファイルが設定された出力パスに保存されます。
注意:
ワークフローは、有効化後約3~5分で有効になります。


タスク開始方法3:APIによる呼び出し

API呼び出しでタスクを開始したい場合は、ProcessMedia APIを呼び出し、AiAnalysisTaskタスクを選択し、Definition27(プリセットのスマート分割テンプレート)に設定します。ExtendedParameterには追加の拡張パラメータを記入し、内容指定や効果向上に使用します。設定値の詳細は下記の拡張パラメータの説明をご参照ください。ProcessMediaAPIに渡すJSONのサンプルは以下の通りです。
{
"InputInfo":{ //入力ビデオパス。ご自身の元のビデオに置き換えてください
"Type":"URL",
"UrlInputInfo":{
"Url":"https://test-1234567.cos.ap-nanjing.myqcloud.com/mps_test/myvideo.mp4"
}
},
"OutputStorage":{ //出力先のCOSバケット。置き換えてください
"Type":"COS",
"CosOutputStorage":{
"Bucket":"test",
"Region":"ap-nanjing"
}
},
"OutputDir":"/mps_test/output/",//出力先のフォルダパス。置き換えてください
"AiAnalysisTask":{
"Definition":27, //スマート分割プリセットテンプレートID。27を記入してください
"ExtendedParameter":"{\\"des\\":{\\"split\\":{\\"method\\":\\"llm\\",\\"model\\":\\"deepseek-v3\\",\\"max_split_time_sec\\":100,\\"extend_prompt\\":\\"このビデオはオンライン教育シナリオのビデオです。講師が解説する知識ポイントに基づいてビデオをセグメント化してください\\"},\\"need_ocr\\":true,\\"text_requirement\\":\\"要約は40字以内\\",\\"dstlang\\":\\"zh\\"},\\"strip\\":{\\"type\\":\\"content\\"}}" //拡張パラメータ。異なる内容の分割を選択するには、この部分を置き換える必要があります。設定値は導入チュートリアルドキュメントを参照してください
},
"TaskNotifyConfig":{ //イベントコールバック通知設定。任意
"NotifyType":"URL",
"NotifyUrl":"http://www.qq.com/callback"
}
}
素早く検証するには、API Explorerの利用をお勧めします。上記のJSONをAPI ExplorerのJSONモードに貼り付け、「フォーム」モードに切り替えると自動解析されます。入力・出力パスなどの必要なパラメータを調整し、呼び出し実行をクリックしてください。
API ExplorerのフォームモードとJSONモードにおける、ExtendedParameterの位置は以下の通りです。

注意:
API ExplorerのフォームモードでExtendedParameterを入力する場合は、JSONを直接入力する必要があり、文字列に変換する必要はありません。ただし、API ExplorerのJSONモードを使用する場合、また直接APIを使用する場合は、エスケープされた文字列を入力する必要があります。
API Explorerフォームモードでは、ExtendedParameterにJSONを直接入力します。例:
{"des":{"split":{"method":"llm","model":"deepseek-v3","max_split_time_sec":100,"extend_prompt":"このビデオはオンライン教育シナリオのビデオです。講師が解説する知識ポイントに基づいてビデオをセグメント化してください" }, "need_ocr":true,"text_requirement":"要約は40字以内","dstlang":"zh"},"strip":{"type":"content"}}
API ExplorerのJSONモードでは、ExtendedParameterにエスケープされた文字列を渡す必要があります。例:
{\\"des\\":{\\"split\\":{\\"method\\":\\"llm\\",\\"model\\":\\"deepseek-v3\\",\\"max_split_time_sec\\":100,\\"extend_prompt\\":\\"このビデオはオンライン教育シナリオのビデオです。講師が解説する知識ポイントに基づいてビデオをセグメント化してください\\"},\\"need_ocr\\":true,\\"text_requirement\\":\\"要約は40字以内\\",\\"dstlang\\":\\"zh\\"},\\"strip\\":{\\"type\\":\\"content\\"}}

拡張パラメータの説明(分割シナリオの指定用)

拡張パラメータ(ExtendedParameter)を渡すことで、異なる内容を指定し、効果的な分割を実現します。

シナリオ1:LLMによる分割

機能説明
ビデオの音声、画面上のテキスト内容を認識してテキストを抽出し、LLMに基づいて動画分割を行います。出力内容には、クリップ、各クリップのカバー画像、開始・終了時刻、タイトル、要約などが含まれます。
パラメータ
ExtendedParameterに以下のパラメータを記入します。具体的なパラメータについては、オフラインでの調整・確認を推奨します。
{
"des": {
"split": {
"method": "llm",
"model": "deepseek-v3",
"max_split_time_sec": 100,
"extend_prompt": "このビデオは医療シナリオのビデオです。医療関連の知識ポイントに基づいてビデオをセグメント化してください"
},
"need_ocr": true,
"text_requirement": "要約は40字以内"
"dstlang": "zh"
},
"strip": {
"type": "content"
}
}
「des」部分で選択可能なパラメータは、以下の表をご参照ください。
パラメータ
必須
タイプ
説明
split.method
No
string
ビデオのセグメント化方法。llmは大規模モデルによるセグメント化、nlpは従来のNLPによるセグメント化を指します。デフォルトはllmです。
split.model
No
string
セグメント化に使用する大規模モデル。hunyuan、deepseek-v3、deepseek-r1から選択可能。デフォルトはdeepseek-v3です。
split.max_split_time_sec
No
int
セグメントの最大時間を秒単位で強制的に指定します。セグメント化の効果に影響する可能性があるため、必要な場合にのみ使用することを推奨します。デフォルトは3600です。
split.extend_prompt
No
string
大規模モデルによるセグメント化タスクへのプロンプトを追記します。例:「このビデオは教育ビデオです。関連する知識ポイントに基づいてビデオをセグメント化してください」。まずは入力せずにテストし、期待する効果が得られない場合に追加することをお勧めします。
need_ocr
No

bool

OCRをセグメント化の補助として使用するかどうか。trueで有効、デフォルトはfalseです。
無効の場合、システムはビデオの音声内容のみを認識してセグメント化を補助します。有効の場合、ビデオ画面上の文字内容も認識してセグメント化を補助します。
text_requirement
No
string
大規模モデルによる要約タスクへのプロンプトを追記します。例:文字数を制限する「要約は40字以内」。
dstlang
No
string
ビデオの言語。ビデオの音声認識および要約結果の言語を指定するために使用します。デフォルトは"zh"です。
"zh":中国語
"en":英語
効果の例
LLMによる分割後の出力内容の例
LLMによる分割後の出力内容の例


シナリオ2:ショットによる分割

画面のショット/シーンの変化に基づいて分割を行います。出力内容には、分割されたクリップ、各クリップのカバー画像、開始・終了時刻が含まれます。
パラメータ
ExtendedParameterに以下のパラメータを記入します。
{"strip":{"type":"screen_strip"}}
効果の例
CMのショットによる分割の例
CMのショットによる分割の例


シナリオ3:ニュース動画分割

ニュースビデオ内のスイッチャー操作や、「速報」などの特徴を特定・認識することで、ニュースの動画分割を実現します。出力内容には、分割されたクリップ、各クリップのカバー画像、開始・終了時刻が含まれます。
パラメータ
ExtendedParameterに以下のパラメータを記入します。
{"strip":{"type":"news"}}
効果の例
元の動画は約30分。赤枠内が分割の結果で、ニュースイベントが数分間の複数の短尺動画に分割されています。
元の動画は約30分。赤枠内が分割の結果で、ニュースイベントが数分間の複数の短尺動画に分割されています。


シナリオ4:オブジェクトベースの分割

機能説明
指定された物体や人物などのターゲットを認識し、ビデオ内でそのターゲットが出現する部分を特定して、対応する区間を分割します。例えば、監視カメラの映像から、人物が映っている部分のみを分割するなどです。出力内容には、分割されたクリップ、各クリップのカバー画像、開始・終了時刻が含まれます。
パラメータ
ExtendedParameterに以下のパラメータを記入します。検出する具体的な物体ターゲットについては、オフラインでの調整・確認を推奨します。
{"strip":{"type":"object","objects":["人"], "object_set":[91020415]}}
効果の例
顧客事例:監視カメラの映像から人物が映っているシーンを分割し、ストレージコストを削減
顧客事例:監視カメラの映像から人物が映っているシーンを分割し、ストレージコストを削減


タスク結果の確認

スマート分割タスクは、処理後の分割ビデオファイルやカバー画像などの情報を、タスクで設定された出力パスに出力します。

コンソールでの確認

1. コンソールのタスク管理ページでタスクのステータスを確認できます。サブタスクのステータスが「成功」になったら:

2. コールバックJSONをクリックすると、出力情報で出力結果と出力ファイルパスが表示されます。

3. COSを出力パスとして使用した場合、MPSコンソールのCOS Bucket > 出力Bucketページに移動し、出力ディレクトリを見つけます。ディレクトリ内にあるstrip-で始まるファイルが、スマート分割の出力ファイル(分割されたビデオおよびカバー画像)です。
説明:
タイトルや要約などのテキストコンテンツはバケットには出力されず、イベントコールバックまたはAPIによる照会でのみ取得できます。


イベント通知コールバック

ProcessMediaを使用してMPSタスクを開始する際、TaskNotifyConfigパラメータでイベントコールバックを設定できます。タスク処理が完了すると、設定されたコールバック情報を通じてタスク結果が通知されます。ParseNotificationを使用してイベント通知結果を解析できます。

API呼び出しによるタスク結果の照会

ProcessMediaを使用してMPSタスクを開始すると、タスクID(TaskId)(例:24000022-WorkflowTask-b20a8exxxxxxx1tt110253、24000022-ScheduleTask-774f101xxxxxxx1tt110253)が返されます。DescribeTaskDetailAPIを呼び出し、タスクIDを入力してタスク結果を取得します。WorkflowTask -> AiAnalysisResultSetフィールドを解析してタスク結果を取得する必要があります。

ライブストリームの処理

タスク開始方法:APIによるタスク開始

スマート分割タスクは、現在、APIによるライブストリーム処理タスクの開始のみをサポートしています。
ライブストリームに対する処理の開始(ProcessLiveStream)APIを呼び出し、AiAnalysisTaskタスクを選択し、AiAnalysisTaskInput - Definition27(プリセットのスマート分割テンプレート)に設定します。
ExtendedParameterで、分割内容を指定し、より効果的な分割を実現します。設定値の詳細は上記の拡張パラメータの説明をご参照ください。パラメータJSONの例:
説明:
ライブストリームは現在、ニュース動画分割、NLPによる分割をサポートしており、オブジェクトベースの分割はサポートしていません。
{
"Url": "http://www.abc.com/abc.m3u8",
"TaskNotifyConfig": {
"TaskNotifyConfig": {
"NotifyUrl": "http://www.qq.com/callback"
},
"OutputStorage": {
"Type": "COS",
"CosOutputStorage": {
"Bucket": "mybucket",
"Bucket": "test-1234567",
}
},
"OutputDir": "/path/to/output/",
"AiAnalysisTask": {
"Definition": 27,
"ExtendedParameter": "{\\"des\\":{\\"split\\":{\\"method\\":\\"llm\\",\\"model\\":\\"deepseek-v3\\",\\"max_split_time_sec\\":100,\\"extend_prompt\\":\\"このビデオはオンライン教育シナリオのビデオです。講師が解説する知識ポイントに基づいてビデオをセグメント化してください\\"},\\"need_ocr\\":true,\\"text_requirement\\":\\"要約は40字以内\\",\\"dstlang\\":\\"zh\\"},\\"strip\\":{\\"type\\":\\"content\\"}}"
}
}

API Explorerによるクイック検証

API Explorerを使用して迅速に検証を行うことを推奨します。ページで関連パラメータ情報を入力すると、APIをオンラインで呼び出すことが可能です。
説明:
Explorerは自動的に変換を行うため、ExtendedParameterには対応するJSONを直接入力してください(文字列への変換は不要です)。


タスク結果の確認

タスクコールバックの受信:ProcessLiveStreamを使用してMPSタスクを開始する際、TaskNotifyConfigパラメータでコールバック情報を設定できます。ライブストリームの処理中、設定されたコールバック情報を通じてリアルタイムにタスク結果が通知されます。ライブストリーム処理結果の解析ドキュメントを参照し、AiAnalysisResultInfoフィールドを解析してタスク結果を取得できます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック