logo
实时语音
服务端 API
当前页

音频流审核回调


描述

当开发者有音频流内容审核的需求时,在 开始音频流审核 任务后,将会以 POST 的形式对回调地址进行请求,获取音频流审核识别结果。当 开始音频流审核 任务中的 ReturnFinishInfo 参数为 1 时,审核任务结束后,会发起审核任务状态回调。

回调说明

  • 请求方法:POST。
说明

回调数据格式为 JSON,您需要对其进行 UrlDecode 解码。

回调参数

审核结果回调

公共参数类型描述
EventString回调事件,此回调返回值为 censor_audio_v2_result
AppIdNumberAppID。
TimestampNumber服务器当前时间,Unix 时间戳(秒)。
NonceString随机数。
SignatureString签名,具体见  检验说明
业务参数类型描述
CodeNumber返回码。
0 为成功。
MessageString操作结果描述。
TaskIdString审核任务的 TaskId。
对应 开始音频流审核 中响应参数中返回的 TaskId。
ResultTaskIdString此次回调信息的 ID。
DetailObject10s 片段的审核结果详情。
└ RiskLevelString风险级别(code 为 0 时存在)。
开发者可以根据该值对违规片段对应的音频流和用户进行相应处理。
注意:该字段将返回的 10s 音频中,风险程度最高的“风险类型列表”(比如“涉政”通常风险程度更高),具体“风险类型列表”的风险程度优先级由数美审核内部决定。
  • PASS:正常内容,建议直接放行。
  • REVIEW:可疑内容,建议人工审核。
  • REJECT:违规内容,建议直接拦截。
└ AudioTextString10s 音频片段对应的语义文本。
└ AudioUrlString10s 音频片段的 URL。
└ PreAudioUrlString仅当开始审核任务请求的参数 ReturnPreAudio=1 时,该参数有值,表示当前违规音频片段 + 前一个音频片段的 20s 音频片段的 URL 地址。
└ RiskDescriptionString当前 10s 片段中,风险程度最高的违规内容的具体“风险类型列表”及细分类别。
将按照详细程度分为,一级标签,二级标签及三级标签。
注意:仅供人了解风险原因时作为参考,请勿依赖该参数的值做逻辑处理。
  • RiskLevel 为 PASS 时,返回 “正常”。
  • 命中自定义名单时,返回自定义名单名称。
  • 其他情况展现形式为:一级标签:二级标签:三级标签。
└ RiskLabel1String一级标签。
RiskLevel 为 PASS 时,返回 “normal”。
└ RiskLabel2String二级标签。
二级标签归属于一级标签,当 riskLevel 为 PASS 时为空。
└ RiskLabel3String三级标签。
三级标签归属于二级标签,当 riskLevel 为 PASS 时为空。
└ VadStatusNumber音频片段的静音状态:
  • 0 :静音片段。为静音片段时,其他部分字段将返回空,以实际回调内容为准。
  • 1 :非静音片段。
└ RiskDetailObject风险详情。
将展示 10s 片段中,风险程度最高的风险信息。例如当前 10s 片段命中“色情”和“涉政”两个“风险类型列表”,后台判定“涉政”的风险程度高于“色情”,则当前将返回“涉政”相关的风险详情,详情可见RiskDetail
└ RiskInfoListArray of Object10s 音频片段中,所有存在风险的信息列表。
按照数美内部自定义的风险程度优先级,由大到小进行排序,详情可见RiskInfoList
└ BusinessInfoListArray of Object所有业务信息列表。
若以下字段无法满足您的需求,可联系技术支持进行调整,详情可见BusinessInfoList
AuxInfoObject辅助信息。
└ RoomIdString审核的房间 ID。
└ ProcessBeginTimeNumber10s 音频开始审核的时间(13 位 Unix 时间戳)。
└ ProcessFinishTimeNumber10s 音频结束审核的时间(13 位 Unix 时间戳)。
RiskDetail
公共参数类型描述
RiskSourceNumber风险来源:
  • 1000:无风险。
  • 1001:音频语义。
  • 1003:音频特征(如:音调、音色、声纹、旋律等)。
AudioTextString10s 音频语义转译的文本。
MatchedListsArray of Object命中的自定义名单(由开发者联系技术支持进行配置)。
NameString自定义名单名称。
RiskInfoList
公共参数类型描述
RiskLevelNumber风险级别(code 为 0 时存在)。
开发者可以根据该值对违规片段对应的音频流和用户进行相应处理。
  • PASS:正常内容,建议直接放行。
  • REVIEW:可疑内容,建议人工审核。
  • REJECT:违规内容,建议直接拦截。
RiskDescriptionString当前 10s 片段中,风险程度最高的违规内容的具体“风险类型列表”及细分类别。
将按照详细程度分为,一级标签,二级标签及三级标签。
注意:仅供人了解风险原因时作为参考,请勿依赖该参数的值做逻辑处理。
  • RiskLevel 为 PASS 时,返回 “正常”。
  • 命中自定义名单时,返回自定义名单名称。
  • 其他情况展现形式为:一级标签:二级标签:三级标签。
RiskLabel1String一级标签。
RiskLevel 为 PASS 时,返回 “normal”。
RiskLabel2String二级标签。
二级标签归属于一级标签,当 riskLevel 为 PASS 时为空。
RiskLabel3String三级标签。
三级标签归属于二级标签,当 riskLevel 为 PASS 时为空。
RiskDetailObject风险详情,将展示 10s 片段中,风险程度最高的风险信息。
例如当前 10s 片段命中“色情”和“涉政”两个“风险类型列表”,后台判定“涉政”的风险程度高于“色情”,则当前将返回“涉政”相关的风险详情。
RiskSourceNumber风险来源:
  • 1000:无风险。
  • 1001:音频语义。
  • 1003:音频特征(如:音调、音色、声纹、旋律等)。
AudioTextString10s 音频语义转译的文本。
仅风险程度最高的风险信息此字段有值。
MatchedListsArray of Object命中的自定义名单(由开发者联系技术支持进行配置)。
NameString自定义名单名称。
BusinessInfoList
公共参数类型描述
BusinessDescriptionString业务标签中文描述。
格式为"一级业务标签:二级业务标签:三级业务标签"的中文名称,如人像:人像姿态:坐姿。
BusinessLabel1String一级业务标签。
BusinessLabel2String二级业务标签。
BusinessLabe3String三级业务标签。

审核任务状态回调

开始音频流审核 任务中的 ReturnFinishInfo 参数为 1 时,音频流审核任务结束后,会发起审核任务状态回调。

公共参数类型描述
EventString回调事件,此回调返回值为 censor_audio_v2_status
AppIdNumberAppID。
TimestampNumber服务器当前时间,Unix 时间戳(秒)。
NonceString随机数。
SignatureString签名,具体见  检验说明
业务参数类型描述
CodeNumber返回码,0 表示成功。
MessageString操作结果描述。
TaskIdString审核任务的 TaskId,对应 开始音频流审核 返回的 TaskId。
StatusNumber审核状态。
0:审核结束。
AuxInfoObject辅助信息。
└ RoomIdString房间 ID。
└ CensorStreamTimeNumber本次任务审核流的总时长(单位:秒)。

数据示例

审核结果回调示例

{
    //公共参数
    "Event": "censor_audio_v2_result",
    "AppId": 1,
    "Timestamp": 1724743250,
    "Nonce": "7407715855877898783",
    "Signature": "5cc9e67af0ba0c95f99bd73f79a36485f574ad11"
    //业务参数
    "Code": 0,
    "Message": "success",
    "TaskId": "384a8a77aeb352d3ec8144ab4640cc52",
    "ResultTaskId": "384a8a77aeb352d3ec8144ab4640cc52_2",
    "Detail": {
        "RiskLevel": "REJECT",
        "AudioText": "加个好友吧 qq12345",
        "AudioUrl": "http://xxxx/POST_AUDIOSTREAM%2FMP3%2F20240606%2F384a8a77aeb352d3ec8144ab4640cc52_2.mp3?Expires=1720269317&OSSAccessKeyId=LTAI5tLsVBxJ8nhyy5gQVW3K&Signature=8JZymbV%2F6Psm72k6S2Xq3Dcrg14%3D",
        "PreAudioUrl": "http://xxxx/POST_AUDIOSTREAM%2FMP3%2F20240606%2F384a8a77aeb352d3ec8144ab4640cc52_2_pre.mp3?Expires=1720269317&OSSAccessKeyId=LTAI5tLsVBxJ8nhyy5gQVW3K&Signature=BKUDNNWPklQldaEMSFOvSts6O84%3D",
        "RiskDescription": "广告:联系方式:联系方式",
        "RiskLabel1": "ad",
        "RiskLabel2": "lianxifangshi",
        "RiskLabel3": "lianxifangshi",
        "VadStatus": 1,
        "RiskDetail": {
            "RiskSource": 1001,
            "AudioText":  "加个好友吧 qq12345",
            "MatchedLists": null
        },
        "RiskInfoList": [
            {
                "RiskLevel": "REJECT",
                "RiskDescription": "广告:联系方式:联系方式",
                "RiskLabel1": "ad",
                "RiskLabel2": "lianxifangshi",
                "RiskLabel3": "lianxifangshi",
                "RiskDetail": {
                    "RiskSource": 1001,
                    "AudioText": "加个好友吧 qq12345",
                    "MatchedLists": null
                }
            },
            {
                "RiskLevel": "REJECT",
                "RiskDescription": "广告:联系方式:联系方式",
                "RiskLabel1": "ad",
                "RiskLabel2": "lianxifangshi",
                "RiskLabel3": "lianxifangshi",
                "RiskDetail": {
                    "RiskSource": 1001,
                    "AudioText": "加个好友吧 qq12345",
                    "MatchedLists": null
                }
            }, 
        ],
        "BusinessInfoList": [
            {
                "BusinessDescription": "语种:普通话:普通话",
                "BusinessLabel1": "language",
                "BusinessLabel2": "Chinese",
                "BusinessLabel3": "Chinese"
            }
        ]
    },
    "AuxInfo": {
        "RoomId": "room_1",
        "ProcessBeginTime": 1717677317155,
        "ProcessFinishTime": 1717677317554
    },
}

审核任务状态回调示例

{
    //公共参数
    "Event": "censor_audio_v2_status",
    "AppId": 1,
    "Timestamp": 1724743250,
    "Nonce": "7407715855877898783",
    "Signature": "5cc9e67af0ba0c95f99bd73f79a36485f574ad11"
    //业务参数
    "Code": 0,
    "Message": "success",
    "TaskId": "384a8a77aeb352d3ec8144ab4640cc52",
    "Status": 0,
    "AuxInfo": {
        "RoomId": "room_1",
        "CensorStreamTime": 31
    }
}

返回响应

返回 HTTP status code 为 2XX (例如 200)表示成功,其他响应都表示失败。

回调重试策略

如果 ZEGO 服务器没有收到响应,或收到的 HTTP status code 不为 2XX(例如 200),都会尝试重试,最多进行 5 次重试。每次重试请求与上一次请求的间隔时间分别为 2s、4s、8s、16s、32s。若第 5 次重试后仍然失败,将不再重试,该回调丢失。

Previous

点播截图回调

Next

视频流审核回调