本文介紹了利用Intelligent Media Management(IMM)媒體轉碼介面來實現視頻字幕提取的能力。
功能簡介
視頻字幕提取是指從視頻檔案中將字幕資訊分離出來的技術能力。通過提取字幕,使用者可以單獨訪問和編輯視頻中的文本資訊,這對於多語言支援、無障礙觀影以及字幕創作均具有重要意義。

使用情境
多語言支援:字幕提取技術能夠有效地支援多語言字幕的製作,從而便利不同語言觀眾對視頻內容的理解。
翻譯與本地化:通過提取字幕,翻譯人員能夠迅速擷取視頻中的文本資訊並進行翻譯,從而高效地建立語言版本,使其符合特定地區的文化和語言習慣。
配音和語音辨識:字幕提取為配音工作提供了重要的文本基礎,配音人員能夠依據提取的字幕進行錄製。同時,語音辨識技術可以藉助字幕文本進行訓練與最佳化。
視頻編輯與製作:視頻編輯人員能夠提取並整理音頻內容的字幕,從而便於對常值內容進行編輯、校對和改進,以提升最終產品的品質。
使用限制
視頻字幕提取僅支援提取文字字幕和圖形字幕,不支援提取嵌入視頻流映像中的字幕。如您有其他需求,請聯絡我們。
如何使用
前提條件
已建立並擷取AccessKey。具體操作,請參見建立AccessKey。
已開通OSS服務、建立儲存空間。具體操作,請參見建立儲存空間。
已開通Intelligent Media Management服務。具體操作,請參見開通產品。
已通過Intelligent Media Management控制台建立專案。具體操作,請參見建立專案。
說明您也可以調用API介面建立專案。具體操作,請參見CreateProject - 建立專案。
您可以調用ListProjects - 列出所有專案資訊的列表介面列出指定地區下已建立的所有專案資訊。
步驟一:上傳檔案
請使用OSS管理主控台將媒體檔案上傳至IMM專案所在地區的Bucket。

步驟二:使用IMM字幕提取
調用CreateMediaConvertTask - 建立媒體轉碼任務介面建立視頻字幕提取任務。
視頻字幕提取的過程通常包括以下幾個步驟:
字幕格式識別:識別視頻檔案中嵌入的字幕格式,包括常見的 SRT、ASS、WebVTT 以及嵌入式字幕流。
字幕資料提取:從視頻檔案中提取字幕文本及其時間戳記。提取過程確保所有字幕內容,包括髮言者名稱、時間標記和格式,能夠被準確擷取。
文本處理:對提取的字幕文本進行必要的處理或編輯,這可能包括去除冗餘資訊、調整格式、進行語言翻譯,以及校對拼字和文法。
輸出與儲存:將處理後的字幕文本以指定格式(如srt、ass等)儲存,以便於後續的使用、編輯或上傳至視頻平台。
參數樣本
以下樣本使用IMM專案test-project,檔案oss://test-bucket/video-demo/test.mp4來進行視頻字幕提取處理。
更多有關ApsaraVideo for Media Processing各功能介紹和使用,請參見媒體轉碼。
您可以通過OpenAPI 門戶使用媒體轉碼介面對視頻檔案進行處理,可參考SDK代碼。
視頻字幕提取請勿設定Target.URI和Target.Container參數。
推薦配置字幕輸出URI為"oss://test-bucket/objectPrefix-{streamindex}.{autoext}",若不設定streamindex變數則可能導致字幕相互覆蓋。
提取視頻中的所有字幕為webvtt格式字幕
字幕格式:webvtt
輸出字幕檔案儲存路徑:
oss://test-bucket/video-demo/subtitle-%d.vtt轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”
SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。
請求參數如下
{
"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-%d.srt轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”
SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。
請求參數如下
{
"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}"
}
}
}
]
}計費說明
在視頻字幕提取的過程中, IMM 側會產生以下計費項目,詳細定價請參見IMM計費項目。OSS 和 IMM 兩側會產生以下計費項目:
OSS 側: 詳細定價請參見OSS產品定價
API
計費項目
說明
GetObject
GET 類型請求
根據成功的請求次數計算請求費用。
低頻訪問資料取回容量
如果取回的資料是低頻訪問資料,會產生低頻訪問資料取回容量的費用,按資料取回量計費。
歸檔直讀資料取回容量
如果讀取的是歸檔的Object且Bucket開啟了歸檔直讀,會產生歸檔直讀資料取回容量費用,根據取回的資料容量大小計費。
傳輸加速
如果開啟了傳輸加速功能且使用傳輸加速網域名稱訪問您的Bucket會產生傳輸加速費用,根據資料容量大小計費。
PutObject
PUT類型請求
根據成功的請求次數計算請求費用。
儲存費用
根據Object的儲存類型、大小和時間長度收取儲存費用。
HeadObject
GET 類型請求
根據成功的請求次數計算請求費用。
IMM 側: 詳細定價請參見IMM計費項目。
重要自北京時間 2025 年 7 月 28 日 11:00 起,IMM 視頻字幕提取服務將由原來的免費模式升級為計費模式。更多資訊,請參見IMM計費調整公告。
API
計費項目
說明
CreateMediaConvertTask
ExtractSubtitleText
根據成功提取的字幕流數量計算視頻文字字幕提取的請求費用。
CreateMediaConvertTask
ExtractSubtitleImage
根據成功提取的字幕流總時間長度計算視頻圖片字幕提取的請求費用。