tencent cloud

スマート横縦変換の導入

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-11-05 14:18:58

紹介

横縦変換とは

横縦変換は、単なる回転ではありません。関心領域(ROI, Region of Interest)を認識し、ビデオをモバイルデバイスでの再生に適したアスペクト比にクロッピングします。この機能は、短尺動画の一括生成能力を提供し、既存の横画面ビデオ資産を縦画面ビデオ資産に変換できます。
縦画面に変換する際、ROI領域(通常、スポーツビデオではボールの位置が中心)を追随することで、スマートクロッピングが行われます。
縦画面に変換する際、ROI領域(通常、スポーツビデオではボールの位置が中心)を追随することで、スマートクロッピングが行われます。


無料で体験

1. 体験ラボを開き、「横縦変換」体験ページに移動します。右側でオンデマンドファイル、シナリオタイプ、アスペクト比を選択し、処理を開始をクリックします。
2. 処理が完了すると、結果を確認できます。
説明:
体験ラボの機能は限定的であり、基本的な効果を体験するためのものです。完全な機能をテストするには、API経由で導入してください。


入力および出力フォーマット

入力ビデオファイルは以下のフォーマットをサポートしています。
エンコーディング規格:MPEG、H.264、H.265。
コンテナフォーマット:.mp4、.avi、.mkv、.mov、.mpg。
出力ビデオファイルは、H.264エンコーディング、.mp4形式を使用します。Chromeブラウザでビデオをプレビューできます。他のフォーマットへのトランスコードや再多重化が必要な場合は、ローカルで処理するか、MPSが提供する音声・動画トランスコード機能をご利用ください。

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

1. APIを呼び出す

直接Tencent CloudにPOSTリクエストを送信できます。APIリクエストのドメインは、mps.tencentcloudapi.comです。メディア処理APIを呼び出し、AiAnalysisTaskタスクを選択し、Definitionを28(プリセットのスマート横縦変換テンプレート)に設定します。ExtendedParameterは、拡張パラメータで、その値はエスケープされたJSON文字列です。具体的なパラメータの意味は、下記の拡張パラメータの説明部分をご参照ください。




リクエスト例

説明:
現在、スマート横縦変換は、Cloud Object Storage (COS)とURLダウンロードの2つの入力ソースをサポートしています。AWS S3は現在サポートされていません。
{
"Action": "ProcessMedia",
"Version": "2019-06-12",
"InputInfo": {
"Type": "URL",
"UrlInputInfo": {
"Url": "https://..." //横→縦変換したいビデオのURLに置き換えるか、「メディア処理」APIドキュメントを参照してください
}
},
"OutputStorage": {
"CosOutputStorage": {
"Bucket": "BucketName",
"Region": "BucketRegion"
},
"Type": "COS"
},
"OutputDir": "/mycos/htv_test/result/",
"AiAnalysisTask": {
"Definition": 28, // プリセットの横→縦変換テンプレートID
"ExtendedParameter": "{\\"htv\\": {\\"AlgorithmType\\": 1}}"
}
"TaskNotifyConfig": {
"NotifyType": "URL",
"NotifyUrl": "http://callback_url"
}
}

2. API Explorerによるクイック検証

API Explorerを使用して、迅速に検証を行うこともできます。ページで関連パラメータ情報を入力すると、APIをオンラインで呼び出すことが可能です。

注意:
API Explorerは自動的に変換を行うため、ExtendedParameterには対応するJSONを直接入力してください(文字列への変換は不要です)。APIを直接呼び出す場合は、JSON文字列をエスケープする必要があります。

3. 拡張パラメータの説明

拡張パラメータは、特定の機能を実現するために使用します。メディア処理APIは拡張パラメータを直接解析できないため、ExtendedParameterの値はシリアライズされたJSON文字列である必要があります。スマート横縦変換に渡すExtendedParameterは、htvフィールドの下に配置する必要があります。以下はシリアライズ前のJSONの例です。APIを使用する際は、エスケープされたパラメータを渡してください。
{
"htv": {
"AlgorithmType": 3,
"SmoothWeight": 0.75,
"Ratio": "9:16",
}
}

// エスケープ後(APIを直接呼び出す際は、エスケープ後のパラメータを渡す必要があります): {\\"htv\\": {\\"AlgorithmType\\": 2,
\\"SmoothWeight\\": 0.75, \\"Ratio\\": \\"9:16\\" }}
名称
タイプ
説明
AlgorithmType
Integer
指定アルゴリズムタイプ:
1:処理速度が速い汎用モデル。
2:多様なモデルとカスタマイズ最適化をサポートします。
3:正確な顔検出アルゴリズムを使用。2つの顔が検出された場合、画面を上下に分割し、各顔を中央に配置します。
5:ビデオを直接スケーリングし、縦画面の中央に配置します。背景には、すりガラス風のぼかし処理を施した画像を使用します。
Ratio
String
ビデオのアスペクト比。文字列形式で、内部で解析されます。解析に失敗した場合は、デフォルト値の9:16でクロッピングされます。(例:"9:16"は、アスペクト比9:16のビデオに変換。高さは元のビデオの高さが維持されます)。
FaceDetectConfig
Object
顔検出に関する設定。
OutputPattern
String
カスタムファイル名を指定します。timestampsessionIdが使用可能なプレースホルダーです。
例:"htv-{sessionId}-{timestamp}"と指定すると、出力ファイル名はhtv-xxxx-202412250000のようになります。ここで、xxxxはタスクの実際のsessionIdです。
指定しない場合、デフォルトの出力ファイル名は"htv-{sessionId}"です。
BlurWeight
Integer
ぼかしのパラメータ。数値が大きいほど、ぼかし効果が強くなります。パラメータ値が大きすぎると、処理速度に影響する場合があります。
SmoothWeight
Float
0~1の浮動小数点数。スムージング速度を制御するパラメータです。数値が小さいほど、カメラの動きが速くなります。
FaceDetectConfig
名称
タイプ
説明
FaceScoreThd
Integer
顔検出アルゴリズムの認識しきい値。顔認識スコアがこのしきい値を超えた場合にのみ、有効な顔として扱われます。
FaceAccuracy
String
任意。顔検出アルゴリズムの実行レベル。デフォルトはBalance。その他Efficiency、Precisionが選択可能です。
FallbackConfig
Object
顔が検出されなかった場合、または2つの顔が検出された場合のフォールバック戦略が含まれます。
FallbackConfig
名称
タイプ
説明
NoFaceDetect
String
選択可能な値:Scale、ScaleWithoutBlur。デフォルトはScaleWithoutBlurです
DoubleFace
String
選択可能な値:Scale、ScaleWithoutBlur、SplitScreenVertical。デフォルトはSplitScreenVerticalです
Scale:そのフレームをスケーリングして中央に配置し、背景にはすりガラス風のぼかし処理を施した画像を使用します。
ScaleWithoutBlur:そのフレームをスケーリングして中央に配置し、背景は黒色になります。
SplitScreenVertical:2つの顔が検出された場合のデフォルト処理ロジック。画面を上下に分割し、2つの顔をそれぞれの領域の中央に配置します。

4. タスク結果の照会

タスクコールバック:ProcessMediaからメディア処理タスクを開始する際、TaskNotifyConfigパラメータでコールバック情報を設定できます。タスク処理が完了すると、設定されたコールバック情報を通じてタスク結果が通知されます。ParseNotificationからイベント通知結果を解析できます。以下に関連データ構造を参考に示します。
DescribeTaskDetailインターフェースを呼び出してタスク結果を照会する。
APIでテンプレートを直接関連付けてタスクを開始した場合、つまり上記の導入方法1でタスクを開始した場合、ProcessMediaから返されるTaskIdには「WorkflowTask」(例:24000022-WorkflowTask-b20a8exxxxxxx1tt110253)が含まれます。この場合、DescribeTaskDetailインターフェースのWorkflowTask -> AiAnalysisResultSetフィールドを解析してタスク結果を取得する必要があります。
ProcessMediaからタスクを開始する際に、上記の導入方法1のようにAiAnalysisTask -> DefinitionでテンプレートIDを関連付けるのではなく、ScheduleIdフィールドにワークフローIDを記入した場合(ワークフローの作成方法は下記のタスクの自動実行で説明)、返されるtaskidには「ScheduleTask」(例:24000022-ScheduleTask-774f101xxxxxxx1tt110253)が含まれます。この場合、DescribeTaskDetailインターフェースのScheduleTask -> ActivityResultSetフィールドを解析してタスク結果を取得する必要があります。
コンソールからタスクを開始した場合、つまり下記の導入方法2でタスクを開始した場合、コンソールのオンデマンドタスク管理リストにタスクIDとタスク結果が表示されます。DescribeTaskDetailインターフェースのScheduleTask -> ActivityResultSetフィールドを解析してタスク結果を取得することも可能です。
コンソールでのタスク照会:コンソールのオンデマンドタスク管理に移動すると、タスクリストに開始したばかりのタスクが表示されます。

サブタスクのステータスが「成功」になったら、COSバケット > 出力バケットに移動し、出力ディレクトリを見つけます。ディレクトリ内にあるhtv-で始まるファイルが、スマート横縦変換処理後の出力ビデオです。


関連データ構造

AiAnalysisTaskHorizontalToVerticalResult
スマート横縦変換結果のタイプ。
以下のインターフェースで参照されます:DescribeTaskDetail、ParseNotification。
名称
タイプ
説明
Status
String
タスクのステータス。PROCESSING、SUCCESS、FAILの3種類があります。
ErrCode
Integer
エラーコード。0は成功、その他の値は失敗を示します。
Message
String
エラーメッセージ。
Input
AiAnalysisTaskHorizontalToVerticalInput
スマート横縦変換タスクの入力。
Output
AiAnalysisTaskHorizontalToVerticalOutput
スマート横縦変換タスクの出力。
注意:このフィールドはnullを返す可能性があり、その場合は有効な値が取得できなかったことを示します。
AiAnalysisTaskHorizontalToVerticalInput
スマート横縦変換タスクの入力タイプ。
以下のインターフェースで参照されます:DescribeTaskDetail、ParseNotification。
名称
タイプ
説明
Definition
Integer
スマート横縦変換テンプレートのID。
AiAnalysisTaskHorizontalToVerticalOutput
スマート横縦変換結果の情報。
以下のインターフェースで参照されます:DescribeTaskDetail、ParseNotification。
名称
タイプ
説明
Path
String
スマート横縦変換リスト。
OutputStorage
TaskOutputStorage
スマート横縦変換ビデオの保存場所。
注意:このフィールドはnullを返す可能性があり、その場合は有効な値が取得できなかったことを示します。

導入方法2:コンソールからタスクを開始(ノーコード)

1. タスクの作成

1.1 MPSコンソールに移動し、タスク作成 > オンデマンド処理タスクをクイック作成を順にクリックします。

1.2 まず、入力ビデオファイルを指定します。現在、スマート横縦変換機能は、Cloud Object Storage (COS)とURLダウンロードの2つの入力ソースをサポートしています。AWS S3は現在サポートされていません。
1.3 次に、「入力ファイルの処理」ステップで、スマート分析ノードを追加します。

ポップアップしたスマート分析設定ウィンドウで、プリセットのスマート横縦変換テンプレート(テンプレートID:28)を選択します。
説明:
カスタムスマート分析テンプレートでスマート横縦変換機能を有効にしたい場合は、弊社にご連絡いただきテンプレートIDをお知らせください。MPSの開発担当者が設定を行い、機能を有効化します。

1.4 最後に、出力ビデオの保存パスを指定した後、作成をクリックしてタスクを開始します。


2. タスク結果の照会

上記のタスク結果の照会をご参照ください。

3. タスクの自動実行(オプション機能)

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

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



ヘルプとサポート

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

フィードバック