本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

視頻檔案審核2.0版API

更新時間:2024-09-26 20:10

視頻檔案審核2.0版協助您檢測視頻檔案中的風險或違規內容。本文介紹了使用API介面進行視頻檔案審核2.0版的方法。

接入指引

  1. 註冊阿里雲帳號:立即註冊,按照操作提示完成帳號註冊。

  2. 開通Alibaba Content Security Service隨用隨付:請確保已開通服務,具體操作,請參見開通服務。開通不收費,介面接入使用後系統會按使用量自動出賬,具體資訊,請參見計費說明

  3. 建立AccessKey:請確保您已通過RAM建立AccessKey,具體操作,請參見建立AccessKey。如果您使用的是RAM使用者(子帳號)AccessKey,您需要通過阿里雲帳號(主帳號)給RAM使用者賦予AliyunYundunGreenWebFullAccess許可權,具體操作,請參見RAM授權

  4. 開發接入:推薦使用SDK方式調用。具體資訊,請參見視頻審核增強版2.0版接入指南

  5. 視頻檔案審核服務包含以下2個介面:

    • VideoModeration:提交視頻檔案審核任務

    • VideoModerationResult:擷取視頻檔案審核結果

提交審核任務

介面說明

  • 業務介面:VideoModeration,視頻僅提供非同步檢測介面。

  • 支援的地區及接入地址:

    地區

    外網接入地址

    內網接入地址

    支援的服務

    地區

    外網接入地址

    內網接入地址

    支援的服務

    新加坡

    green-cip.ap-southeast-1.aliyuncs.com

    green-cip-vpc.ap-southeast-1.aliyuncs.com

    videoDetection_global

  • 計費資訊

    該介面為收費介面。會根據您設定的視頻畫面檢測策略和視頻語音檢測策略進行計費,視頻畫面可選擇多個服務(service),將按照畫面截幀數量x每個服務的單價進行累加計費。如果同時檢測視頻中的語音內容違規,則還將增加視頻時間長度x語音違規功能的單價的費用。關於計費方式,請參見計費說明

  • 檢測對象:支援檢測視頻檔案。

  • 返回結果:非同步檢測任務不會即時返回檢測結果,您需要通過callback或者輪詢的方式擷取檢測結果。檢測結果最長保留24小時。

    • callback擷取檢測結果:提交非同步檢測任務時,在請求參數中傳入callback參數,用來自動接收檢測結果。

    • 輪詢擷取檢測結果:提交非同步檢測任務時,無需傳入callback參數;提交非同步檢測任務後,調用結果查詢介面擷取檢測結果。

  • 視頻要求

    • 視頻檔案連結支援以下協議:HTTP和HTTPS。

    • 視頻檔案支援以下格式:AVI、FLV、MP4、MPG、ASF、WMV、MOV、WMA、RMVB、RM、FLASH、TS。

    • 視頻大小限制:預設單個視頻大小不超過500 MB。如果您的需求超過500 MB,您可以對視頻進行分區處理。或者聯絡工作人員幫您調整大小限制。

    • 視頻檔案檢測的時間依賴於視頻的下載時間。請保證被檢測的視頻檔案所在的儲存服務穩定可靠,建議您使用阿里雲OSS儲存服務儲存視頻檔案。

  • 檢測規則配置:

    • 初次調用時請在Alibaba Content Security Service控制台進行視頻審核規則設定。

    • 如果您不設定,視頻審核2.0版API的預設配置如下:

      視頻檔案檢測(videoDetection_global)

      • 固定頻率截幀:1秒/幀

      • 視頻畫面檢測服務:通用基準檢測(baselineCheck_global)

      • 視頻語音檢測:開啟

      • 視頻語音檢測服務:音視頻媒體多語言偵測(audio_multilingual_global)

      • 結果返回方式:僅返回有檢出風險的結果

QPS限制

本介面的單使用者QPS限制為100次/秒,並發審核路數限制為50路(即同一時間只能處理50個任務,如需要提升並發路數請諮詢您的商務經理)。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。

調試

在接入前,您也可以通過阿里雲OpenAPI線上調試VideoModeration介面,查看調用範例程式碼及SDK依賴資訊,方便概覽介面的使用方法和參數。

重要

線上調試能力是基於當前登入帳號調用Alibaba Content Security Service的API介面,因此調用量會計入帳號的收費用量中。

請求參數

名稱

類型

是否必須

樣本值

描述

Service

String

videoDetection_global

審核服務類型。如下:

  • videoDetection_global:即視頻檔案檢測

ServiceParameters

JSONString

審核服務需要的參數集。JSON字串格式,關於每個字串的描述,請參見表1 ServiceParameters

表1 ServiceParameters

名稱

類型

是否必選

樣本值

描述

url

String

是。視頻審核增強版支援兩種方式傳入的視訊,請您選擇其中一種:

  • 使用視頻URL方式進行檢測,傳入url。

  • 使用OSS授權進行檢測,必須同時傳入ossBucketName、ossObjectName、ossRegionId。

http://www.aliyundoc.com/a.flv

待檢測對象的URL,請確保該URL能通過公網訪問到,或傳入同地區的OSS內網地址。

說明

URL地址中不能包含中文,長度不超過2048個字元,且一次請求請確保僅傳入1條URL。

ossBucketName

String

bucket_01

已授權OSS空間的Bucket名。

說明

使用OSS視頻內網地址時必須先使用阿里雲帳號(即主帳號)訪問雲資源訪問授權頁面進行授權。

ossObjectName

String

20240307/07/28/test.flv

已授權OSS空間的檔案名稱。

ossRegionId

String

cn-shanghai

OSS Bucket所在地區。

callback

String

http://www.aliyundoc.com

檢測結果回調通知您的URL,支援使用HTTP和HTTPS協議的地址。該欄位為空白時,您必須定時輪詢檢測結果。

callback介面必須支援POST方法、UTF-8編碼的傳輸資料,以及表單參數checksumcontent

Alibaba Content Security Service按照以下規則和格式設定checksumcontent,調用您的callback介面返回檢測結果。

  • checksum:字串格式,由使用者uid + seed + content拼成字串,通過SHA256演算法產生。使用者UID即阿里雲帳號ID,可以在阿里雲控制台查詢。為防篡改,您可以在擷取到推送結果時,按上述演算法產生字串,與checksum做一次校正。

    說明

    使用者UID必須是阿里雲帳號的UID,而不是RAM使用者的UID。

  • content:JSON字串格式,請自行解析反轉成JSON對象。關於content結果的樣本,請參見查詢檢測結果的返回樣本。

說明

您的服務端callback介面收到Alibaba Content Security Service推送的結果後,如果返回的HTTP狀態代碼為200,則表示接收成功,其他的HTTP狀態代碼均視為接收失敗。接收失敗時,Alibaba Content Security Service將最多重複推送16次檢測結果,直到接收成功。重複推送16次後仍未接收成功,則不再推送,建議您檢查callback介面的狀態。

seed

String

abc****

隨機字串,該值用於回調通知請求中的簽名。

由英文字母、數字、底線(_)組成,不超過64個字元。由您自訂,用於在接收到Alibaba Content Security Service的回調通知時校正請求由阿里雲Alibaba Content Security Service服務發起。

說明

當使用callback時,該欄位必須提供。

cryptType

String

SHA256

使用回調通知時(callback),設定對回調通知內容進行簽名的演算法。Alibaba Content Security Service會將返回結果(由使用者uid + seed + content拼接的字串)按照您設定的密碼編譯演算法計算簽名,再發送到您的回調通知地址。取值:

  • SHA256(預設):使用SHA256密碼編譯演算法。

  • SM3:使用國密HMAC-SM3密碼編譯演算法,返回十六進位的字串,且字串由小寫字母和數字組成。

    例如,abc經國密SM3加密後返回66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0。

dataId

String

videoId****

檢測對象對應的資料ID。

由大小寫英文字母、數字、底線(_)、短劃線(-)、英文句號(.)組成,不超過128個字元,可以用於唯一標識您的業務資料。

offline

String

false

是否近線檢測模式。

  • false(預設):表示即時檢測模式,對於超過了並發路數限制的檢測請求會直接拒絕。

  • true:表示近線檢測模式,提交的任務不保證即時處理,但是可以排隊處理,在24小時內開始檢測。

重要

該欄位為String類型。近線模式支援北京、上海、杭州地區。

說明

您的服務端callback介面收到Alibaba Content Security Service推送的結果後,如果返回的HTTP狀態代碼為200,則表示接收成功,其他的HTTP狀態代碼均視為接收失敗。接收失敗時,Alibaba Content Security Service將最多重複推送16次檢測結果,直到接收成功。重複推送16次後仍未接收成功,則不再推送,建議您檢查callback介面的狀態。

返回資料

名稱

類型

樣本值

描述

Code

Integer

200

狀態代碼。更多資訊,請參見Code 說明

Data

JSONObject

審核結果資料。

TaskId

String

AAAAA-BBBBB

檢測的任務ID。

DataId

String

dataId0307

資料ID。

Message

String

OK

請求訊息的響應訊息。

RequestId

String

ABCD1234-1234-1234-1234-123****

請求ID。

樣本

請求樣本

{
    "Service": "videoDetection_global",
    "ServiceParameters": {
        "url": "http://www.aliyundoc.com/a.flv",
        "dataId": "videoId****"
    }
}

正常返回樣本

{
    "Message": "OK",
    "Code": 200,
    "Data": {
        "TaskId": "AAAAA-BBBBB",
        "DataId": "videoId****"
    },
    "RequestId": "ABCD1234-1234-1234-1234-123****"
}

擷取視頻檔案審核任務結果

介面說明

  • 業務介面:VideoModerationResult,表示擷取視頻檔案審核任務結果。

  • 計費資訊:該介面不計費。

  • 查詢逾時:建議您將查詢間隔設定為30秒(即在提交非同步檢測任務30秒後查詢結果),最長不能超出24小時,否則結果將會自動刪除。

QPS限制

本介面的單使用者QPS限制為100次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。

調試

在接入前,您也可以通過阿里雲OpenAPI線上調試VideoModerationResult介面,查看調用範例程式碼及SDK依賴資訊,方便概覽介面的使用方法和參數。

請求參數

名稱

類型

是否必選

樣本值

描述

名稱

類型

是否必選

樣本值

描述

Service

String

videoDetection_global

審核服務類型,需要和提交審核任務的審核服務類型保持一致。

ServiceParameters

JSONString

審核服務需要的參數集。JSON字串格式,關於每個字串的描述,請參見表1 ServiceParameters

表1 ServiceParameters

名稱

類型

是否必選

樣本值

描述

taskId

string

abcd****

要查詢的檢測任務的taskId,每次支援輸入一個taskId

說明

您在提交檢測任務後,可以從返回資料中擷取檢測任務的taskId

返回資料

名稱

類型

樣本值

描述

RequestId

String

ABCD1234-1234-1234-1234-123****

本次調用請求的ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。

Data

Object

視頻內容檢測結果。更多資訊,請參見表2 Data

Code

String

200

狀態代碼。更多資訊,請參見Code 說明

Message

String

OK

本次請求的響應訊息。

表2 Data

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

DataId

String

videoId****

檢測對象對應的資料ID。

說明

如果在檢測請求參數中傳入了DataId,則此處返回對應的DataId。

TaskId

String

AAAAA-BBBBB-2024*-0307*

檢測的任務ID。

RiskLevel

String

high

視頻的風險等級,根據視頻畫面和視頻音頻綜合判斷,傳回值包括:

  • high:高風險

  • medium:中風險

  • low:低風險

  • none:未檢測到風險

說明

高風險內容建議直接處置;中風險內容建議人工複查;低風險內容建議在高召回需求時再做處理,日常建議和未檢測到風險做相同處理。視頻畫面風險分值可以在Alibaba Content Security Service控制台配置。

FrameResult

JSONObject

視頻畫面檢測結果,調用成功時(code=200),返回結果中包含一個結構體,具體結構,請參見表3 FrameResult

說明

視頻流檢測情境中,code返回280表示在檢測中,返回200表示檢測完成。在檢測中狀態時,檢測結果中包含從開始檢測到目前時間的檢測結果。

AudioResult

JSONObject

視頻語音檢測結果。返回結果中包含一個結構體,關於結構體的描述,請參見表8 audioResult

表3 FrameResult

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

FrameNum

Integer

200

視頻返回截幀數。

FrameSummarys

JSONArray

視頻截幀標籤匯總。具體結構描述,請參見表表4 FrameSummary

RiskLevel

String

high

視頻畫面風險等級,根據所有視頻截幀計算返回,傳回值包括:

  • high:高風險

  • medium:中風險

  • low:低風險

  • none:未檢測到風險

Frames

JSONArray

包含命中標籤的視頻截幀的資訊。具體結構描述,請參見表5 Frame

表4 FrameSummary

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

Label

String

violent_armedForces

視頻截幀標籤。

Description

String

疑似含有煙火類內容元素

對Labal欄位的說明。

重要

該欄位為Label欄位的解釋說明,可能會變更調整,建議根據Label欄位進行處置,不要基於該欄位進行結果處置。

LabelSum

Integer

8

標籤出現次數。

表5 Frame

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

TempUrl

String

http://www.aliyundoc.com/test.jpg

視頻截幀的臨時地址。30分鐘有效。

說明

若開啟了視頻證據轉存,則返迴轉存的視頻截幀的OSS URL連結。

Offset

Float

50.5

視頻截幀距離標題的時間戳記,單位:秒。

RiskLevel

String

high

視頻截幀風險等級,根據設定的高低風險分返回,傳回值包括:

  • high:高風險

  • medium:中風險

  • low:低風險

  • none:未檢測到風險

說明

高風險內容建議直接處置;中風險內容建議人工複查;低風險內容建議在高召回需求時再做處理,日常建議和未檢測到風險做相同處理。視頻截幀風險分值可以在Alibaba Content Security Service控制台規則配置中配置。

Results

JSONArray

視頻截幀檢測的風險標籤、置信分等參數結果。更多資訊,請參見表6 Results

表6 Results

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

Service

String

baselineCheck_global

調用的視頻畫面服務(service)。

Result

Array

視頻截幀檢測的風險標籤、置信分等參數結果。更多資訊,請參見表7 Result

表7 Result

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

Label

String

violent_explosion

視頻截幀檢測運算後返回的標籤。同一張截幀可能會檢出多個標籤和分值。支援的標籤如下:

Confidence

Float

81.22

置信分值,0到100分,保留到小數點後2位。

Description

String

疑似含有煙火類內容元素

對Labal欄位的說明。

重要

該欄位為Label欄位的解釋說明,可能會變更調整,建議根據Label欄位進行處置,不要基於該欄位進行結果處置。

表8 audioResult

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

AudioSummarys

JSONArray

語音標籤匯總。具體結構描述,請參見表9 AudioSummarys

RiskLevel

String

high

視頻音頻風險等級,根據所有音頻切片計算返回,傳回值包括:

  • high:高風險

  • medium:中風險

  • low:低風險

  • none:未檢測到風險

SliceDetails

JSONArray

語音對應的文本詳情(每一句文本對應一個元素),包含一個或者多個元素,具體結構描述,請參見表10 SliceDetails

表9 AudioSummarys

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

Label

String

profanity

視頻語音標籤。

LabelSum

Integer

8

標籤出現次數。

表10 SliceDetails

名稱

類型

樣本值

描述

名稱

類型

樣本值

描述

StartTime

Integer

0

句子開始的時間,單位:秒。

EndTime

Integer

4065

句子結束的時間,單位:秒。

StartTimestamp

Integer

1678854649720

切片開始時間戳,單位:毫秒。

EndTimestamp

Integer

1678854649720

切片結束時間戳記,單位:毫秒。

Text

String

噁心的

語音轉換成常值內容。

Url

String

https://aliyundoc.com/test.wav

如果檢測的內容是語音流,表示該段文本對應的語音流的臨時訪問地址。該地址有效時間為30分鐘,需要及時轉存。

Labels

String

political_content,xxxx

標籤詳情,多個標籤以逗號分隔。包含:

  • ad:廣告引流

  • violence:暴恐內容

  • political_content:涉政內容

  • specified_speaking:特定聲音

  • specified_lyrics:特定歌曲

  • sexual_content:與性相關的情況

  • sexual_sounds:呻吟聲音

  • contraband:違禁內容

  • profanity:辱罵內容

  • religion:宗教內容

  • cyberbullying:網路暴力

  • negative_content:不良內容

  • nontalk:靜音音頻

  • C_customized:使用者庫命中

RiskLevel

String

high

視頻音頻切片風險等級,傳回值包括:

  • high:高風險

  • medium:中風險

  • low:低風險

  • none:未檢測到風險

RiskWords

String

AAA,BBB,CCC

命中風險詞,多個詞以逗號分隔。

RiskTips

String

色情_低俗詞,色情_描述

細分標籤,多個標籤以逗號分隔。

Extend

String

{"riskTips":"色情_低俗詞","riskWords":"色情服務"}

保留欄位。

樣本

請求樣本

{
    "Service": "videoDetection_global",
    "ServiceParameters": {
        "taskId": "abcd****"
    }
}

正常返回樣本

  • 僅檢測視頻圖畫

{
    "Code": 200,
    "RequestId": "25106421-XXXX-XXXX-XXXX-15DA5AAAC546",
    "Message": "success finished",
    "Data": {
        "DataId": "ABCDEF-TESTDATAID",
        "TaskId": "AAAAA-BBBBB-2024-0307-0728",
        "FrameResult": {
            "FrameNum": 2,
            "FrameSummarys": [
                {
                    "Label": "violent_explosion",
                    "LabelSum": 8
                },
                {
                    "Label": "sexual_cleavage",
                    "LabelSum": 5
                }
            ],
            "Frames": [
                {
                    "Offset": 1,
                    "Results": [
                        {
                            "Result": [
                                {
                                    "Label": "nonLabel"
                                }
                            ],
                            "Service": "baselineCheck_global"
                        }
                    ],
                    "TempUrl": "http://abc.oss-ap-southeast-1.aliyuncs.com/test1.jpg"
                },
                {
                    "Offset": 2,
                    "Results": [
                        {
                            "Result": [
                                {
                                    "Confidence": 1,
                                    "Label": "sexual_cleavage"
                                },
                                {
                                    "Confidence": 74.1,
                                    "Label": "violent_explosion"
                                }
                            ],
                            "Service": "baselineCheck_global"
                        }
                    ],
                    "TempUrl": "http://abc.oss-ap-southeast-1.aliyuncs.com/test2.jpg"
                }
            ]
        }
    }
}

  • 同時檢測視頻圖畫和視頻語音

{
    "Code": 200,
    "RequestId": "25106421-XXXX-XXXX-XXXX-15DA5AAAC546",
    "Message": "success finished",
    "Data": {
        "DataId": "ABCDEF-TESTDATAID",
        "TaskId": "AAAAA-BBBBB-2024-0307-0728",
        "RiskLevel": "medium",
        "AudioResult": {
            "AudioSummarys": [
                {
                    "Label": "sexual_sounds",
                    "LabelSum": 3
                }
            ],
            "RiskLevel": "high",
            "SliceDetails": [
                {
                    "EndTime": 60,
                    "EndTimestamp": 1698912813192,
                    "Labels": "",
                    "RiskLevel": "none",
                    "StartTime": 30,
                    "StartTimestamp": 1698912783192,
                    "Text": "Alibaba Content Security Service",
                    "Url": "http://abc.oss-ap-southeast-1.aliyuncs.com/test.wav"
                },
                {
                    "EndTime": 30,
                    "EndTimestamp": 1698912813192,
                    "Extend": "{\"customizedWords\":\"服務\",\"customizedLibs\":\"test\"}",
                    "Labels": "C_customized",
                    "RiskLevel": "high",
                    "StartTime": 0,
                    "StartTimestamp": 1698912783192,
                    "Text": "歡迎使用阿里雲Alibaba Content Security Service服務",
                    "Url": "http://abc.oss-ap-southeast-1.aliyuncs.com/test.wav"
                }
            ]
        },
        "FrameResult": {
            "FrameNum": 2,
            "FrameSummarys": [
                {
                    "Label": "violent_explosion",
                    "Description": "疑似含有煙火類內容元素",
                    "LabelSum": 8
                },
                {
                    "Label": "sexual_cleavage",
                    "Description": "疑似含有包含肢體裸露或性感內容",
                    "LabelSum": 8
                }
            ],
            "RiskLevel": "medium",
            "Frames": [
                {
                    "Offset": 1,
                    "RiskLevel": "none",
                    "Results": [
                        {
                            "Result": [
                                {
                                    "Label": "nonLabel",
                                    "Description": "未檢測出風險"
                                }
                            ],
                            "Service": "baselineCheck_global"
                        }
                    ],
                    "TempUrl": "http://abc.oss-ap-southeast-1.aliyuncs.com/test1.jpg"
                },
                {
                    "Offset": 2,
                    "RiskLevel": "medium",
                    "Results": [
                        {
                            "Result": [
                                {
                                    "Confidence": 1,
                                    "Label": "sexual_cleavage",
                                    "Description": "疑似含有包含肢體裸露或性感內容"
                                },
                                {
                                    "Confidence": 74.1,
                                    "Label": "violent_explosion",
                                    "Description": "疑似含有煙火類內容元素"
                                }
                            ],
                            "Service": "baselineCheck_global"
                        }
                    ],
                    "TempUrl": "http://abc.oss-ap-southeast-1.aliyuncs.com/test2.jpg"
                }
            ]
        }
    }
}

Code說明

以下為視頻檔案審核2.0版介面返回Code的含義說明,系統僅對Code返回為200和280的請求計量計費,其他Code不會計費。

Code

說明

200

請求正常或者檢測完成。

280

檢測中。

288

近線模式排隊等待中。

400

請求參數為空白。

401

請求參數錯誤。

402

請求參數長度不符合介面規定,請檢查並修改。

403

請求超過QPS限制,請檢查並調整並發。

404

傳入的視頻下載遇到錯誤,請檢查或重試。

405

傳入的視頻下載逾時,可能是因為視頻無法訪問,請檢查調整後重試。

406

傳入的視頻過大,請檢查調整視頻大小後再重試。

407

傳入的視頻格式暫不支援,請檢查調整後重試。

408

該帳號無許可權調用該介面,可能是帳號未開通或者已欠費,或者調用帳號未被授權訪問。

409

傳入的TaskId不存在,可能是結果已經超過24小時有效期間。

480

檢測並發路數超過限制,請檢查並調整並發。

500

系統異常。

  • 本頁導讀 (0, M)
  • 接入指引
  • 提交審核任務
  • 介面說明
  • QPS限制
  • 調試
  • 請求參數
  • 返回資料
  • 樣本
  • 擷取視頻檔案審核任務結果
  • 介面說明
  • QPS限制
  • 調試
  • 請求參數
  • 返回資料
  • 樣本
  • Code說明
文檔反饋