Intelligent Media Management (IMM) のメディアトランスコーディング API を使用して、動画ファイルからテキストベースのキャプションとグラフィカルキャプションを抽出します。
概要
ビデオキャプションの抽出は、動画ファイルからキャプションデータを分離し、テキストコンテンツに個別にアクセスして編集できるようにします。これにより、多言語字幕、アクセシビリティ、キャプションの作成をサポートします。

ユースケース
-
多言語サポート: 複数の言語で字幕を作成し、多様な視聴者が動画コンテンツにアクセスできるようにします。
-
翻訳とローカライズ: 動画からテキストを抽出し、地域の言語や文化的規範に合わせたローカライズ版に翻訳します。
-
吹き替えと音声認識: 吹き替え作業や音声認識システムのトレーニングデータとして、正確なスクリプトを提供します。
-
動画編集と制作: キャプションを抽出して整理することで、編集、校正、改良が容易になります。
制限
テキストベースのキャプション と グラフィカルキャプション のみがサポートされています。画像の一部として動画ストリームに直接埋め込まれたキャプションはサポートされていません。その他の要件については、お問い合わせください。
手順
前提条件
AccessKey ペアが作成され、取得されています。詳細については、「AccessKey ペアを作成する」をご参照ください。
Object Storage Service (OSS) が有効化され、バケットが作成されています。詳細については、「バケットを作成する」をご参照ください。
IMM が有効化されています。詳細については、「IMM を有効化する」をご参照ください。
IMM コンソールでプロジェクトが作成されます。詳細については、「プロジェクトを作成する」をご参照ください。
説明CreateProject 操作を呼び出して、プロジェクトを作成できます。詳細については、「CreateProject」をご参照ください。
ListProjects 操作を呼び出して、リージョン内のすべてのプロジェクトの情報を一覧表示できます。
ステップ 1:ファイルのアップロード
IMM プロジェクトと同じリージョンにある OSS バケットにメディアファイルをアップロードします。
アップロードページで、[ファイル ACL] を [バケットから継承] (デフォルト) に設定したまま、[ファイルをスキャン] をクリックしてファイルを選択し、[ファイルをアップロード] をクリックします。
ステップ 2:キャプションの抽出
CreateMediaConvertTask オペレーションを呼び出して、ビデオキャプション抽出タスクを作成します。
抽出プロセスには次のステップが含まれます:
-
形式の検出:動画ファイル内のキャプション形式 (SRT、ASS、WebVTT、埋め込み字幕ストリームなど) を識別します。
-
データの抽出:動画ファイルからキャプションテキストとタイムスタンプを抽出します。これには、話者名、タイムマーカー、フォーマットも含まれます。
-
テキスト処理:抽出されたキャプションを必要に応じて編集します。これには、冗長な情報の削除、再フォーマット、翻訳、エラーの修正などが含まれます。
-
出力:後で使用したり動画プラットフォームにアップロードしたりできるよう、処理されたキャプションを指定された形式 (.srt や .ass など) で保存します。
パラメーター例
以下の例では、IMM プロジェクト test-project とファイル oss://test-bucket/video-demo/test.mp4 を使用してビデオキャプションを抽出します。
キャプションの抽出は、メディアトランスコーディング機能の一部です。
-
OpenAPI Explorer を使用してメディアトランスコーディング API を呼び出し、SDK コード例を表示します。
-
キャプションを抽出する際は、Target.URI または Target.Container を設定しないでください。
-
キャプション出力 URI に {streamindex} 変数を含めてください。例:"oss://test-bucket/objectPrefix-{streamindex}.{autoext}"。この変数を含めない場合、キャプションが相互に上書きされる可能性があります。
動画からすべてのキャプションを WebVTT キャプションとして抽出
-
キャプション形式: webvtt
-
出力キャプションファイルパス:
oss://test-bucket/video-demo/subtitle-{streamindex}.vtt -
完了通知: MNS トピック "test-mns-topic"
この例を OpenAPI Explorer で事前入力されたパラメーターとともにお試しください。必要に応じて変更してください。
リクエストパラメーター
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.mp4"
}
],
"Targets": [
{
"Subtitle": {
"ExtractSubtitle": {
"Format": "webvtt",
"URI": "oss://test-bucket/video-demo/subtitle-{streamindex}.{autoext}"
}
}
}
]
}動画からすべてのキャプションを SRT キャプションとして抽出
キャプション形式: srt
出力キャプションファイルパス:
oss://test-bucket/video-demo/subtitle-{streamindex}.srt完了通知: MNS トピック "test-mns-topic"
この例を OpenAPI Explorer で事前入力されたパラメーターとともにお試しください。必要に応じて変更してください。
リクエストパラメーター
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.mp4"
}
],
"Targets": [
{
"Subtitle": {
"ExtractSubtitle": {
"Format": "srt",
"URI": "oss://test-bucket/video-demo/subtitle-{streamindex}.{autoext}"
}
}
}
]
}課金
ビデオキャプションの抽出には、OSS と IMM の両方の料金が発生します。料金の詳細: IMM の課金項目。
OSS の課金: OSS 料金
API
課金項目
説明
GetObject
GET リクエスト
成功したリクエスト数に基づいて課金されます。
低頻度アクセスデータ取り出し容量
取り出された低頻度アクセスデータの容量に対して課金されます。
アーカイブオブジェクトのリアルタイムアクセスのデータ取り出しクォータ
リアルタイムアクセスを通じて取り出されたアーカイブデータの容量に対して課金されます。
転送アクセラレーション
アクセラレーションエンドポイントを介してバケットにアクセスする際のデータ容量に基づいて課金されます。
PutObject
PUT リクエスト
成功したリクエスト数に基づいて課金されます。
ストレージ料金
ストレージクラス、サイズ、オブジェクトの保管期間に基づいて課金されます。
HeadObject
GET リクエスト
成功したリクエスト数に基づいて課金されます。
IMM の課金: IMM の課金項目。
重要2025 年 7 月 28 日 11:00 UTC+8 以降、IMM のビデオキャプション抽出は無料から有料に変更されます。 IMM 課金調整のお知らせ。
API
課金項目
説明
CreateMediaConvertTask
ExtractSubtitleText
抽出に成功したテキストベースのキャプションストリームの数に基づいて課金されます。
CreateMediaConvertTask
ExtractSubtitleImage
抽出に成功したグラフィカルキャプションストリームの合計時間に基づいて課金されます。