智能音频流识别产品API文档#


版权所有 翻版必究


目录

音频流上传请求#

请求URL:#

集群URL支持产品列表
新加坡http://api-audiostream-xjp.fengkongcloud.com/audiostream/v4中文音频流
英语音频流
阿语音频流
硅谷http://api-audiostream-gg.fengkongcloud.com/audiostream/v4中文音频流
英语音频流
阿语音频流
上海http://api-audiostream-sh.fengkongcloud.com/audiostream/v4中文音频流

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明是否必传规范
accessKeystring公司密钥Y由数美提供
appIdstring应用标识Y用于区分应用,可选值如下:
default:默认应用
额外应用值需数美单独分配提供
eventIdstring事件标识Y区分场景数据可选值:
audiobook:有声书
education:教育音频
game:游戏语音房
live:秀场直播
ecommerce:电商直播
voiceroom:交友语音房
private:私密语音聊天
default:默认事件
other:其他
typestring检测的风险类型businesstype和type必传其一可选值:监管一级标签
AUDIOPOLITICAL:一号领导人声纹识别
POLITICS:涉政识别
PORN:色情识别
AD:广告识别
MOAN:娇喘识别
ANTHEN:国歌识别
GENDER:性别识别
TIMBRE:音色识别
ABUSE:辱骂识别
SING:唱歌识别
LANGUAGE:语种识别
MINOR:未成年人识别

BANEDAUDIO:违禁歌曲

VOICE:人声属性

AUDIOSCENE:声音场景

如需识别音色,唱歌,语种GENDER必传如需做组合识别,通过下划线连接即可,例如POLITICS_PORN_MOAN涉政、色情和娇喘识别
businessTypestring业务标签businesstype和type必传其一可选值:业务标签的一、二、三级标签
GENDER:性别识别
TIMBRE:音色识别
SING:唱歌识别
LANGUAGE:语种识别
MINOR:未成年人识别

VOICE:人声属性

AUDIOSCENE:声音场景

datajson_object请求的数据内容Y本次请求相关信息,最长1MB,详见data参数
callbackstring回调地址Y异步检测结果回调通知您的URL,支持HTTP和HTTPS

其中,data的内容如下:

请求参数名类型参数说明是否必传规范
tokenIdstring用户账号标识Y用于区分用户账号,建议传入用户ID
btIdstring音频唯一标识Y用于查询指定音频,限长128位字符
streamTypestring流类型Y可选值:
NORMAL:普通流地址
ZEGO:即构
AGORA:声网
TRTC:腾讯录制
urlstring直播流地址N当streamType为NORMAL时必传
langstring音频流语言类型Y可选值如下,(默认值为zh):
zh:中文
en:英文
ar:阿拉伯语
zegoParamjson_object要检测的流参数N当streamType为ZEGO时必传,详见zegoParam参数
initDomainint即构SDK初始化是否有设置隔离域名N当即构客户端init初始化支持隔离域名和随机userId该字段必传,可选值:
1:仅支持客户端初始化有隔离域名
2:支持客户端初始化有隔离域名和随机userId功能
trtcParamjson_object腾讯录制参数(当streamType为TRTC时必传),详见扩展参数N腾讯录制参数(当streamType为TRTC时必传),详见扩展参数
agoraParamjson_object要检测的声网流参数N当streamType为AGORA时必传,详见agoraParam参数
roomstring直播房间号N
rolestring用户角色N用户角色对不同角色可配置不同策略。直播领域可取值如下(默认值USER普通用户):
ADMIN:房管
HOST:主播
SYSTEM:系统角色
USER:普通用户
returnAllTextint返回音频片段的等级N可选值如下(默认为0):
0:返回风险等级为非pass的音频片段
1:返回所有风险等级的音频片段
returnPreTextint是否返回违规音频流片段的前文文字信息N可选值如下(默认值为0):
0:不返回违规片段前一个片段文字;
1:返回违规片段前一分钟文字;
returnPreAudioint是否返回违规音频流片段的前文音频链接N可选值如下(默认值为0):
0:不返回违规片段前一个片段音频;
1:返回违规片段前一分钟音频链接;
returnFinishInfoint音频流结束回调通知N可选值如下(默认值为0):
0:审核结束时不发送结束通知
1:审核结束时发起结束通知,回调参数增加statCode状态码
extrajson_object辅助参数N用于辅助音频检测的相关信息,详见extra参数
liveTitlestring标题N房间标题,非必填参数,在客户开通人审服务传入
anchorNamestring昵称N用户昵称,非必填参数,在客户开通人审服务传入

data中,zegoParam详细内容如下:

请求参数名类型参数说明是否必传规范
tokenIdstringzego提供的身份验证信息,获取zego的identify_token用于登录,生成方式详见zego文档:https://doc-zh.zego.im/zh/1345.html注意tokenId是唯一标识上传鉴黄每一次请求都需要重新生成新的N
streamIdstring用户设置的音频流编号,唯一对应一路音频流,streamId与roomId至少存在其中之一,如果streamId与roomId同时存在时,streamId有效;当streamId生效时,服务端以用户为单位拉流N
roomIdstring用户设置的房间编号,唯一对应一个房间,streamId与roomId至少存在其中之一,如果streamId与roomId同时存在时,streamId有效;当roomId生效时,服务端以房间为单位拉流N
testEnvbool是否使用zego测试环境N默认值为false:
true:测试环境
false:正式环境

data中,agoraParam详细内容如下:

请求参数名类型参数说明是否必传规范
appIdstring声网提供的appId,注意与数美的appId区分开N非数美的appId
channelstring声网提供的频道名N
tokenstring安全要求较高的用户可以使用 Token进行认证,生成方式详见声网文档:https://docs.agora.io/cn/Recording/token_server?platform=CPPN
uidint用户 ID,当token存在时,必须提供生成token时所使用的用户ID。注意,此处需要区别实际房间中的用户uid,提供给服务端录制所用的uid不允许在房间中存在N32 位无符号整数
isMixingEnabledbool单流/合流录制
合流是指一个直播房间一路流
分流是指一个麦位一路流,
N默认值为true
true:合流
false:分流
channelProfileint声网录制的频道模式
通信,常见的 1 对 1 单聊或群聊,频道内任何用户可以自由说话
直播,有两种用户角色: 主播和观众
N可选值如下(默认值为0):
0: 通信
1: 直播

其中 data.trtcParam内容如下

参数名称类型是否必传说明
sdkAppIdintY腾讯提供的sdkAppId
demoSencesintY录制类型可选值:分流录制:2 合流录制:4
userIdstringY分配给录制段的userId,限制长度为32bit,只允许包含(a-zA-Z),数字(0-9)以及下划线和连词符
userSigstringY录制userId对应的验证签名,相当于登录密码
roomIdintY房间号码,取值范围:【1-4294967294】roomId与strRoomId必传一个,若两者都有值优先选用roomId
strRoomIdstringY房间号码 取值说明:只允许包含(a-zA-Z),数字(0-9)以及下划线和连词符若您选用strRoomId时,需注意strRoomId和roomId两者都有值优先选用roomId

data中,extra的内容如下:

请求参数名类型参数说明是否必传规范
passThroughjson_object透传字段N该字段内容会随着回调结果一起返回

同步返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

返回结果参数名参数类型参数说明是否必返规范
requestIdstring本次请求的唯一标识请求唯一标识
codeint请求返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
9101:无权限操作
messagestring请求返回描述和请求返回码对应
detailjson_object描述详细信息描述错误码请求,详见detail参数

其中,detail结构如下:

参数名称参数类型参数说明是否必返说明
errorCodeint状态码
1001:重复推流
dupRequestIdstring表示重复的requestId
当errorCode为1001,表示重复推流时,会返回dupRequestId字段
例如当第一次请求的时候没有收到返回,但该音频流实际已经开始审核了,没有requestId无法主动关闭审核
可以再次请求,收到重复推流的信息,通过返回的dupRequestId调用关闭审核接口

回调返回结果#

当音频流稳定接入开始接受数美监测后,数美会持续回调识别结果给客户,回调策略根据returnAllText的取值不同而不同。

returnAllText为0时,监测到音频流有违规内容时回调结果给客户;

returnAllText为1时,每隔10秒返回一次最近10秒的识别结果给客户。

放在HTTP Body中,采用Json格式,具体参数如下:

参数名类型参数说明是否必返规范
requestIdstring本次请求的唯一标识
btIdstring音频唯一标识
codeint请求返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
9101:无权限操作, message和requestId之外的字段,只有当code为1100时才会存在
messagestring请求返回描述,和请求返回码对应
statCodeint审核状态

0 :审核中

1 :审核结束

audioDetailjson_object风险音频片段信息当code等于1100时返回,详见audioDetail参数
passThroughjson_object透传字段该字段内容与请求参数data中extra的passThrough的值相同。

其中,audioDetail结构如下:

参数名类型参数说明是否必返规范
audioUrlstring音频片段地址
riskLevelstring当前事件的处置建议PASS:通过
REVIEW:审核
REJECT:拒绝
riskLabel1string一级标签各个一级标签之间是并列的关系,当riskLevel为PASS时返回normal
riskLabel2string二级标签二级标签归属于一级标签,当riskLevel为PASS时为空
riskLabel3string三级标签三级标签归属于二级标签,当riskLevel为PASS时为空
riskDescriptionstring标签解释对于命中用户自定义名单时返回:命中自定义名单
当riskLevel为PASS时返回正常`;
其他情况展现形式为一级标签:二级标签:三级标签的中文名
audioTextstring音频转译文本的结果当returnPreAudio值为1时,包含违规音频前一个片段文本内容和违规音频片段文本内容;
当returnPreAudio值为0时,包含违规音频片段文本内容
preAudioUrlstring前一个音频片段音频地址当returnPreAudio值为1时,包含违规音频前一个片段音频地址;
returnPreAudio值为0时,不返回
riskDetailjson_object风险详情信息当code等于1100时返回,详见riskDetail参数
auxInfojson_object其他辅助信息返回时间戳等辅助信息,详见auxInfo参数
businessLabelsjson_array音频业务标签返回性别、音色、是否唱歌等标签,详见businessLabels参数
allLabelsjson_array风险标签全部风险标签,详见allLabels参数
riskSourceint风险来源风险来源

其中,auxInfo结构如下:

参数名类型参数说明是否必返规范
beginProcessTimeint辅助参数开始处理的时间(13位时间戳)
finishProcessTimeint辅助参数结束处理的时间(13位时间戳)
userIdint声网用户账号标识仅分流情况下存在,返回的userId是实际房间中的用户id,与请求参数中的uid无关。
strUserIdstringtrtc用户账号标识用户账号标识(仅TRTC分流情况下存在)。返回的userId是实际房间中的用户id,与请求参数中的uid无关。
roomstring房间号
seiInfoarraySEI信息(需要联系数美开通)

其中,riskDetail结构如下:

参数名类型参数说明是否必返规范
audioTextstring音频转译文本的结果
matchedListsjson_array命中的客户自定义名单信息命中客户自定义名单时返回,其他时不存在,详见matchedLists参数
riskSegmentsjson_array高风险内容片段在涉政、暴恐、违禁、竞品、广告法等功能的时候存在,详见riskSegments参数

其中,matchedLists结构如下:

参数名类型参数说明是否必返规范
namestring客户自定义名单名
wordsjson_array命中的这个名单中的敏感词信息下标从0开始计数,详见words参数

其中,words结构如下:

参数名类型参数说明是否必返规范
wordstring敏感词
positionint_array敏感词所在位置下标从0开始计数

其中,riskSegments结构如下:

参数名类型参数说明是否必返规范
segmentstring高风险内容片段
positionint_array高风险内容片段所在位置下标从0开始计数

其中,businessLabels结构如下:

参数名类型参数说明是否必返规范
businessLabel1string一级业务标签一级业务标签
businessLabel2string二级业务标签二级业务标签
businessLabel3string三级业务标签三级业务标签
businessDescriptionstring中文标签描述业务标签描述

allLabels结构如下:

参数名类型参数说明是否必返规范
riskLabel1string一级风险标签一级风险标签
riskLabel2string二级风险标签二级风险标签
riskLabel3string三级风险标签三级风险标签
riskDescriptionstring风险原因风险原因

音频流关闭通知接口#

接口描述#

该接口用于客户端通知服务端某个音频流已关闭。

请求URL:#

集群URL支持产品列表
新加坡http://api-audiostream-xjp.fengkongcloud.com/finish_audiostream/v4中文音频流
英语音频流
阿语音频流
硅谷http://api-audiostream-gg.fengkongcloud.com/finish_audiostream/v4中文音频流
上海http://api-audiostream-sh.fengkongcloud.com/finish_audiostream/v4中文音频流

字符编码:#

UTF-8

请求方法:#

POST

建议超时时长:#

1s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明是否必传规范
accessKeystring公司密钥Y用于权限认证,开通账号服务时由数美提供
requestIdstring本次请求的唯一标识Y需要关闭视频流的requestId

返回参数#

放在HTTP Body中,采用Json格式,具体参数如下:

返回结果参数名参数类型参数说明是否必返规范
requestIdstring本次请求的唯一标识请求唯一标识
codeint请求返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
9101:无权限操作
messagestring请求返回描述,和请求返回码对应枚举值:成功该路流不存在

示例#

上传请求示例:#

curl -v 'http://api-audiostream-bj.fengkongcloud.com/audiostream/v4' -d '{
"accessKey": "xxxxx",
"appId": "default",
"eventId": "default",
"type": "PORN_AD_POLITICAL_GENDER_TIMBRE_ABUSE_SING_LANGUAGE",
"callback": "xxxxx",
"streamType": "NORMAL",
"data": {
"btId": "test1",
"lang": "zh",
"room": "room2",
"url": "xxxxx",
"returnAllText": 1,
"returnPreText": 1,
"returnPreAudio": 1,
"tokenId": "2222"
}
}'

回调返回示例:#

{
"requestId":"db45ca0256775771262c7ca5419ca85f_0",
"code":1100,
"message":"成功",
"btid":"1604285930313",
"riskLevel":"PASS",
"riskLabel1":"normal",
"riskLabel2":"",
"riskLabel3":"",
"riskDescription":"正常",
"riskDetail":{
"audioEndtime":"2020-11-02 10:59:13",
"audioStartTime":"2020-11-02 10:59:03",
"audioText":"坚持爱汇仁牌六味地黄丸会人守护爱数学作业拍一下语文作业拍一下",
"audioUrl":"http://voice-bj.bj.bcebos.com/20201102/db45ca0256775771262c7ca5419ca85f_0.mp3"
},
"businessLabels":{
"gender":{
"label":"女性",
"probability":79
},
"language":[
{
"label":2,
"probability":0
},
{
"label":0,
"probability":99
},
{
"label":1,
"probability":0
}
],
"song":0,
"timbre":[
{
"label":"女王",
"probability":14
},
{
"label":"御姐",
"probability":13
},
{
"label":"少女",
"probability":15
},
{
"label":"大妈",
"probability":11
},
{
"label":"萝莉",
"probability":44
}
]
},
"requestParams":{
"returnAllText":1,
"returnPreAudio":1,
"returnPreText":1,
"room":"1604285930313",
"tokenId":"2222",
"url":"rtmp://58.200.131.2:1935/livetv/hunantv?10"
}
}

关流请求示例:#

curl -v 'http://api-audiostream-bj.fengkongcloud.com/finish_audiostream/v4' -d '{
"accessKey": "xxxxx",
"requestId": "xxxxx"
}'

关流返回示例:#

{
"code": 1100,
"message": "成功",
"requestId": " a78eef377079acc6cdec24967ecde722",
}

在线咨询