本文介紹視頻理解(videorecog)類目下的視頻OCR RecognizeVideoCastCrewList的語法及示例。
功能描述
視頻OCR能力可以識別視頻中的文本,可涵蓋新聞、影視劇、娛樂、體育等多場景的中英文、繁簡體、比分等識別,支持普通字幕、定常字幕、滾動字幕、部分自然場景文字、豎排文字及藝術字等多種類型。
應用場景
- 影視字幕識別:對電影、電視劇等長視頻中的配音字幕進行識別,包括時間戳與對應文本內容,從而實現外掛字幕生成、敏感內容識別審核等需求。
- 演職員表識別:識別影視劇內容片尾滾動字幕中的演職員表信息,用于視頻信息校對、敏感人物查詢等場景。
- 體育文字識別:在體育賽事場景中識別文本內容,包括比分、廣告文字等,實現賽事狀態分析、廣告查詢監播等場景。
特色優勢
- 覆蓋視頻類型廣:支持多種不同視頻類型。
- 支持文字種類多:支持普通字幕、定常字幕、滾動字幕、部分自然場景文字、豎排文字及藝術字等多種類型。
- 識別準確性高:對低分辨率、復雜場景等均有較好的識別準確性。
接入指引
1. 注冊阿里云賬號:打開阿里云官網,在阿里云官網右上角,單擊立即注冊,按照操作提示完成賬號注冊。
2. 開通能力:請確保您已開通視頻理解服務,若未開通服務請立即開通。
3. 創建AccessKey:請確保您已創建AccessKey,如果您使用的是子賬號AccessKey,您需要給子賬號賦予AliyunVIAPIFullAccess權限,具體操作,請參見RAM授權。
4. 在線調試(可選):您可以通過OpenAPI Explorer在線調試能力,查看完整的調用示例代碼及SDK依賴信息,也可以下載完整的工程。
5. 開發接入步驟:
- 在SDK總覽中選擇您要接入使用的SDK語言。
- 在對應語言的SDK文檔中找到AI類目為視頻理解(videorecog)類目的SDK包進行安裝。
- 參考文檔中提供的示例代碼進行適當修改后調用。
6. 示例代碼:該能力常用語言的示例代碼,請參見視頻OCR示例代碼,常用語言查詢異步任務結果的示例代碼,請參見查詢異步任務結果示例代碼。
7. 客戶端直接調用:該能力常用的客戶端調用方式包括以下幾種。
輸入限制
- 視頻格式:AVI、FLV、MKV、MPG、MP4、TS、MOV、MXF。
- 編碼格式:MPEG-2、MPEG-4、H.264、H.265/HEVC。
- 視頻大小:不超過10 GB。
- 視頻分辨率:不低于240P。
- URL地址中不能包含中文字符。
- 建議輸入的視頻長度不超過30分鐘,否則會容易導致處理超時報錯。
計費說明
關于視頻OCR的計費方式及報價,請參見計費介紹。
調用步驟
該能力為異步能力,需分兩步進行調用。
第一步調用RecognizeVideoCastCrewList接口提交任務,請求成功后,得到一個任務ID。
第二步調用GetAsyncJobResult接口查詢結果,根據任務ID查詢任務執行狀態和結果。如果任務還在處理中,可稍等一段時間后再進行查詢。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
請求參數
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | RecognizeVideoCastCrewList | 系統規定參數。取值:RecognizeVideoCastCrewList。 |
VideoUrl | String | 是 | https://shanghai.oss-cn-shanghai.aliyuncs.com/download/xxxx.mp4 | 視頻URL地址。推薦使用上海地域的OSS鏈接,對于文件在本地或者非上海地域OSS鏈接的情況,請參見文件URL處理。 |
Params | Array | 否 | 場景結果輸出功能參數控制。 |
|
Type | String | 否 | cast | 視頻信息提取類型:
|
返回數據
名稱 | 類型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | EE5B1A95-064F-1C5E-A6FE-FEE0D734A632 | 請求ID。 |
Data | Object | 返回的數據內容。 該數據需要在異步任務執行成功后,通過調用GetAsyncJobResult接口,對其Result字段進行JSON反序列化之后得到。 |
|
OcrResults | Array of ocrResults | 3幀/秒文本識別結果,只展示前100個結果。更詳細的3幀/秒完整識別結果請參見OcrResultsUrl。 |
|
DetailInfo | Array of detailInfo | 詳細內容。 |
|
Boxes | Array of Integer | [452,27,505,46] | 文本位置矩形框坐標,坐標順序為[xmin,ymin,xmax,ymax]。 |
CharProbs | Array | 文本單個字符對應識別置信度,取值范圍0~1.0。 |
|
Array of Float | 0.9405716061592102 | 文本單個字符對應識別置信度,取值范圍0~1.0。 |
|
FrameIndex | Long | 17 | 視頻幀序號。 |
Position | Array of position | 文本位置矩形框點坐標[左上,右上,右下,左下]。 |
|
X | Long | 266 | 水平方向坐標,對應視頻寬度,單位:像素。 |
Y | Long | 440 | 垂直方向坐標,對應視頻高度,單位:像素。 |
Score | Float | 92.07685702563117 | 文本識別結果置信度,取值范圍:0~100。 說明 Score=100×TextProb。 |
TextProb | Float | 0.9207685702563116 | 文本識別結果置信度,取值范圍:0~1.0。 |
TimeStamp | Float | 0.28 | 視頻幀時間戳,單位:秒。 |
TrackId | Long | 1 | 跟蹤分配ID序號。 |
Text | String | 總策劃 | 文本識別結果。 |
EndTime | Float | 0.28 | 視頻幀截止時間戳,單位:秒。 |
StartTime | Float | 0.28 | 視頻幀開始時間戳,單位:秒。 |
VideoOcrResults | Array of videoOcrResults | 視頻clip級文本識別結果,只展示前100個結果。更詳細完整識別結果請參見OcrVideoResultsUrl。 |
|
DetailInfo | Array of detailInfo | 詳細內容。 |
|
Boxes | Array of Long | [266,440,314,476] | 文本位置矩形框坐標,坐標順序為[xmin,ymin,xmax,ymax]。 |
Position | Array of position | 文本位置矩形框點坐標[左上,右上,右下,左下]。 |
|
X | Long | 269 | 水平方向坐標,對應視頻寬度,單位:像素。 |
Y | Long | 423 | 垂直方向坐標,對應視頻高度,單位:像素。 |
Score | Float | 92.07685702563117 | 文本識別結果置信度,取值范圍:0~100。 |
Text | String | 總顧問 | 文本識別結果。 |
TextType | Long | 0 | 文本類型。取值如下:
|
EndTime | Float | 0.92 | 視頻幀截止時間戳,單位:秒。 |
StartTime | Float | 0.92 | 視頻幀開始時間戳,單位:秒。 |
SubtitlesResults | Array of subtitlesResults | 字幕識別結果。 |
|
SubtitlesAllResults | Map | 字幕識別中英文全部識別結果。 |
|
String | [] | 字幕識別中英文全部識別結果。 |
|
SubtitlesAllResultsUrl | String | url | 中英文字幕識別對應的標準SRT格式文件下載地址。 |
SubtitlesChineseResults | Map | 字幕識別中文識別結果。 |
|
String | 你好 | 字幕識別中文識別結果。 |
|
SubtitlesChineseResultsUrl | String | url1 | 中文字幕識別對應的標準SRT格式文件下載地址。 |
SubtitlesEnglishResults | Map | 字幕識別英文識別結果。 |
|
SubtitlesEnglishResultsUrl | String | url2 | 英文字幕識別對應的標準SRT格式文件下載地址。 |
CastResults | Array of castResults | 演職員表識別結果。 |
|
DetailInfo | Map | 詳細內容。 |
|
String | cast | 詳細內容。 |
|
EndTime | Float | 0.6 | 視頻幀截止時間戳,單位:秒。 |
StartTime | Float | 0.6 | 視頻幀截止時間戳,單位:秒。 |
OcrResultsUrl | String | http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_bGHMygKsFw.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=6KQb9OXQldsg30w%2FNurHwAbjiJs%3D | OcrResults結果的詳細完整內容,即3幀/秒的識別結果。 |
OcrVideoResultsUrl | String | http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_VSRvetTHon.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=wfQviVVSyVRLPVlHDKXi6cTefHY%3D | OcrVideoResults結果的詳細完整內容。 |
Message | String | 該調用為異步調用,任務已提交成功,請以requestId的值作為jobId參數調用同類目下GetAsyncJobResult接口查詢任務執行狀態和結果。 | 提交異步任務后的提示信息。 |
查詢結果
該接口為異步接口,當前并未返回真實的請求結果,您需要通過返回的RequestId調用GetAsyncJobResult接口來獲取該接口的真實請求結果。詳情請參見GetAsyncJobResult。
SDK參考
阿里云視覺AI視頻理解類目下的視頻OCR能力推薦使用SDK調用,支持多種編程語言,調用時請選擇AI類目為視頻理解(videorecog)的SDK包,文件參數通過SDK調用可支持本地文件及任意URL,具體可參見SDK總覽。
示例代碼
該能力常用語言的示例代碼,請參見視頻OCR示例代碼,常用語言查詢異步任務結果的示例代碼,請參見查詢異步任務結果示例代碼。
示例
請求示例
http(s)://videorecog.cn-shanghai.aliyuncs.com/?Action=RecognizeVideoCastCrewList //更多關于訪問域名(Endpoint)信息,請參見:http://m.bestwisewords.com/document_detail/143103.html
&VideoUrl=https://shanghai.oss-cn-shanghai.aliyuncs.com/download/xxxx.mp4
&Params=[{"Type":"cast"}]
&公共請求參數
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<RecognizeVideoCastCrewListResponse>
<RequestId>EE5B1A95-064F-1C5E-A6FE-FEE0D734A632</RequestId>
<Data>
<OcrResults>
<DetailInfo>
<CharProbs>
<0>0.9405716</0>
</CharProbs>
<FrameIndex>17</FrameIndex>
<Position>
<X>266</X>
<Y>440</Y>
</Position>
<Score>92.07686</Score>
<TextProb>0.92076856</TextProb>
<TimeStamp>0.28</TimeStamp>
<TrackId>1</TrackId>
<Text>總策劃</Text>
</DetailInfo>
<EndTime>0.28</EndTime>
<StartTime>0.28</StartTime>
</OcrResults>
<VideoOcrResults>
<DetailInfo>
<Position>
<X>269</X>
<Y>423</Y>
</Position>
<Score>92.07686</Score>
<Text>總顧問</Text>
<TextType>0</TextType>
</DetailInfo>
<EndTime>0.92</EndTime>
<StartTime>0.92</StartTime>
</VideoOcrResults>
<SubtitlesResults>
<SubtitlesAllResults>
<key>[]</key>
</SubtitlesAllResults>
<SubtitlesAllResultsUrl>url</SubtitlesAllResultsUrl>
<SubtitlesChineseResults>
<key>你好</key>
</SubtitlesChineseResults>
<SubtitlesChineseResultsUrl>url1</SubtitlesChineseResultsUrl>
<SubtitlesEnglishResultsUrl>url2</SubtitlesEnglishResultsUrl>
</SubtitlesResults>
<CastResults>
<DetailInfo>
<key>cast</key>
</DetailInfo>
<EndTime>0.6</EndTime>
<StartTime>0.6</StartTime>
</CastResults>
<OcrResultsUrl>http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_bGHMygKsFw.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=6KQb9OXQldsg30w%2FNurHwAbjiJs%3D</OcrResultsUrl>
<OcrVideoResultsUrl>http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_VSRvetTHon.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=wfQviVVSyVRLPVlHDKXi6cTefHY%3D</OcrVideoResultsUrl>
</Data>
<Message>該調用為異步調用,任務已提交成功,請以requestId的值作為jobId參數調用同類目下GetAsyncJobResult接口查詢任務執行狀態和結果。</Message>
</RecognizeVideoCastCrewListResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "EE5B1A95-064F-1C5E-A6FE-FEE0D734A632",
"Data" : {
"OcrResults" : [ {
"DetailInfo" : [ {
"Boxes" : [ ],
"CharProbs" : [ [ 0.9405716 ] ],
"FrameIndex" : 17,
"Position" : [ {
"X" : 266,
"Y" : 440
} ],
"Score" : 92.07686,
"TextProb" : 0.92076856,
"TimeStamp" : 0.28,
"TrackId" : 1,
"Text" : "總策劃"
} ],
"EndTime" : 0.28,
"StartTime" : 0.28
} ],
"VideoOcrResults" : [ {
"DetailInfo" : [ {
"Boxes" : [ ],
"Position" : [ {
"X" : 269,
"Y" : 423
} ],
"Score" : 92.07686,
"Text" : "總顧問",
"TextType" : 0
} ],
"EndTime" : 0.92,
"StartTime" : 0.92
} ],
"SubtitlesResults" : [ {
"SubtitlesAllResults" : {
"key" : "[]"
},
"SubtitlesAllResultsUrl" : "url",
"SubtitlesChineseResults" : {
"key" : "你好"
},
"SubtitlesChineseResultsUrl" : "url1",
"SubtitlesEnglishResultsUrl" : "url2"
} ],
"CastResults" : [ {
"DetailInfo" : {
"key" : "cast"
},
"EndTime" : 0.6,
"StartTime" : 0.6
} ],
"OcrResultsUrl" : "http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_bGHMygKsFw.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=6KQb9OXQldsg30w%2FNurHwAbjiJs%3D",
"OcrVideoResultsUrl" : "http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_VSRvetTHon.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=wfQviVVSyVRLPVlHDKXi6cTefHY%3D"
},
"Message" : "該調用為異步調用,任務已提交成功,請以requestId的值作為jobId參數調用同類目下GetAsyncJobResult接口查詢任務執行狀態和結果。"
}
返回示例補充說明
//查詢結果:請求示例
http(s)://videorecog.cn-shanghai.aliyuncs.com/?Action=GetAsyncJobResult
&JobId=E75FE679-0303-4DD1-8252-1143B4FA8A27
&<公共請求參數>
//查詢結果:返回示例
{
"RequestId" : "43A0AEB6-45F4-4138-8E89-E1A5D63200E3",
"Data" : {
"Status" : "PROCESS_SUCCESS",
"JobId" : "186AC396-0EEC-46F1-AAA1-BF3585227427",
"Result" : "{\"OcrResults\" : \"DetailInfo\" : \"Boxes\" : [452,27,505,46],\"CharProbs\" : 0.9405716061592102,\"FrameIndex\" : 17,\"Position\" : \"X\" : 266,\"Y\" : 440,\"Score\" : 92.07685702563117,\"TextProb\" : 0.9207685702563116,\"TimeStamp\" : 0.28,\"TrackId\" : 1,\"Text\" : \"總策劃\",\"EndTime\" : 0.28,\"StartTime\" : 0.28,\"VideoOcrResults\" : \"DetailInfo\" : \"Boxes\" : [266,440,314,476],\"Position\" : \"X\" : 269,\"Y\" : 423,\"Score\" : 92.07685702563117,\"Text\" : \"總顧問\",\"TextType\" : 0,\"EndTime\" : 0.92,\"StartTime\" : 0.92,\"SubtitlesResults\" : \"SubtitlesAllResults\" : \"[]\",\"SubtitlesAllResultsUrl\" : \"url\",\"SubtitlesChineseResults\" : \"SubtitlesChineseResults\" : \"你好\",\"SubtitlesChineseResultsUrl\" : \"url1\",\"SubtitlesEnglishResultsUrl\" : \"url2\",\"CastResults\" : \"DetailInfo\" : \"cast\",\"EndTime\" : 0.6,\"StartTime\" : 0.6,\"OcrResultsUrl\" : \"http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_bGHMygKsFw.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=6KQb9OXQldsg30w%2FNurHwAbjiJs%3D\",\"OcrVideoResultsUrl\" : \"http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_VSRvetTHon.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=wfQviVVSyVRLPVlHDKXi6cTefHY%3D\"}"
}
}
//Result反序列化
{
"OcrResults" : [ {
"DetailInfo" : [ {
"Boxes" : [452,27,505,46],
"CharProbs" : 0.9405716061592102,
"FrameIndex" : 17,
"Position" : [ {
"X" : 266,
"Y" : 440
} ]
"Score" : 92.07685702563117,
"TextProb" : 0.9207685702563116,
"TimeStamp" : 0.28,
"TrackId" : 1,
"Text" : "總策劃"
} ]
"EndTime" : 0.28,
"StartTime" : 0.28
} ]
"VideoOcrResults" : [ {
"DetailInfo" : [ {
"Boxes" : [266,440,314,476],
"Position" : [ {
"X" : 269,
"Y" : 423
} ]
"Score" : 92.07685702563117,
"Text" : "總顧問",
"TextType" : 0
} ]
"EndTime" : 0.92,
"StartTime" : 0.92
} ]
"SubtitlesResults" : [ {
"SubtitlesAllResults" : "[]",
"SubtitlesAllResultsUrl" : "url",
"SubtitlesChineseResults" : "你好",
"SubtitlesChineseResultsUrl" : "url1",
"SubtitlesEnglishResultsUrl" : "url2"
} ]
"CastResults" : [ {
"DetailInfo" : "cast",
"EndTime" : 0.28,
"StartTime" : 0.28
} ]
"OcrResultsUrl" : "http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_bGHMygKsFw.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=6KQb9OXQldsg30w%2FNurHwAbjiJs%3D",
"OcrVideoResultsUrl" : "http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_VSRvetTHon.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=wfQviVVSyVRLPVlHDKXi6cTefHY%3D"
}
錯誤碼
關于視頻OCR的錯誤碼,詳情請參見常見錯誤碼。
安全聲明
- 請確保上傳的圖片或文件來源符合相應的法律法規。
- 通過體驗調試上傳的臨時文件有效期為1小時,在24小時后會被系統自動清理刪除。