语音流审核接口

1.音频流提交接口

适用范围

直播音频流

请求地址:

  • 国内: http://api.speech.tuputech.com/v3/recognition/speech/stream/<secretId>

secretId 需替换为您的 secretId,请联系我们为您开通 secretId。

请求方法:

POST

请求头:

Content-type: application/json

请求示例:
  • 不指定任务

    {
    "speechStream": [
      {
        "url": "rtmp://pili-Room-4daedc9c7a5db36c325f6609000c0201",
        "callback": "http://www.tupu.com/callback",
        "roomId": "111111",
        "userId": "23231",
        "forumId": "321313"
      }
    ],
    "timestamp": 1541499770,
    "nonce": 0.8469537531104208,
    "signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85"
    }
    
  • 指定识别的任务 ID

    {
    "speechStream": [
      {
        "url": "rtmp://pili-Room-4daedc9c7a5db36c325f6609000c0201",
        "callback": "http://www.tupu.com/callback",
        "roomId": "111111",
        "userId": "23231",
        "forumId": "321313"
      }
    ],
    "timestamp": 1541499770,
    "nonce": 0.8469537531104208,
    "signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85",
    "tasks": [ "5caee6b2a76925c55a09a6d2", "5c8213b9bc807806aab0a574" ]
    }
    

    curl请求示例

不指定任务

curl -X POST --header 'Content-Type: application/json' \
-d '{
  "speechStream": [
    {
      "url": "rtmp://pili-Room-4daedc9c7a5db36c325f6609000c0201",
      "callback": "http://www.tupu.com/callback",
      "roomId": "111111",
      "userId": "23231",
      "forumId": "321313"
    }
  ],
  "timestamp": 1541499770,
  "nonce": 0.8469537531104208,
  "signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85"
}' \
'http://api.speech.tuputech.com/v3/recognition/speech/stream/your_secretId'

指定任务

curl -X POST --header 'Content-Type: application/json' \
-d '{
  "speechStream": [
    {
      "url": "rtmp://pili-Room-4daedc9c7a5db36c325f6609000c0201",
      "callback": "http://www.tupu.com/callback",
      "roomId": "111111",
      "userId": "23231",
      "forumId": "321313"
    }
  ],
  "timestamp": 1541499770,
  "nonce": 0.8469537531104208,
  "signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85",
  "tasks": [ "5caee6b2a76925c55a09a6d2", "5c8213b9bc807806aab0a574" ]
}' \
'http://api.open.tuputech.com/v3/recognition/speech/stream/your_secretId'
请求参数说明:
参数名 类型 是否必填 说明
speechStream Array 是 音频流内容信息,详见下面说明
timestamp Number 是 当前的服务器的Unix时间戳
nonce Number 是 随机数
signature String 是 我们采用的数字证书签名算法是:"RSA-SHA256",签名输出类型是:"base64",具体步骤如下:
1、所有参与签名的参数为:secretId,timestamp,nonce,用英文半角逗号“,”相连,得到sign_string;
2、利用您的私钥,使用算法"RSA-SHA256"签名,输出为 "base64" 格式,得到参数signature的值。
点击管理公钥证书查看如何生成私钥,及如何上传您的公钥用于数字签名的认证;
tasks Array 否 指定运行的任务 ID 列表
speechStream参数说明
参数名 类型 是否必填 说明
url String 是 音频流地址。支持的协议: RTMP、HLS、HTTP-FLV、RTSP;
支持的容器格式:flv, mkv, mp5, rmvb, avi, wmv, 3gp, ts, mov;
支持的编码格式:AAC、AC-3、ADPCM、AMR、DSD、MP1、MP2、MP3、PCM。
callback String 是 检测结果的回调地址,支持http, https
roomId String 否 房间ID
userId String 否 用户ID
forumId String 否 板块ID ,数据ID
returnPreSpeech Boolean 否 表示需要返回违规音频前一分钟(含违规音频,最长为一分钟)音频链接; 值为false时,只需返回违规片段音频链接。默认值为false
callbackRules Number 否 回调规则,不传则默认识别到违规数据时才回调违规数据

(可选) CallbackRules 的使用补充说明

规则 对应的回调内容
0 默认规则, 识别结果为违规时才回调违规结果,其他规则不回调
1 回调所有识别结果
2 任务结束时,主动回调任务结束状态
3 使用规则 1 和规则 2
返回参数说明
公共响应结果
json参数说明
参数名称 类型 是否必需 说明
result Array 是 返回结果
code Number 是 返回码,0:调用成功
message String 是 返回信息
nonce String 是 随机数
timestamp String 是 当前的服务器的Unix时间戳
result参数说明
参数名 类型 是否必有 说明
requestId String 是 客户提交的音频流的唯一请求id,后续可以通过该id查到音频的相关信息
url String 是 音频流地址
callback String 是 检测结果的回调地址
roomId String 否 房间ID
userId String 否 用户ID
forumId String 否 板块ID ,数据ID
返回结果示例
{       
    "result": [
        {
            "requestId": "5bcf23077f532488c2ccd6a615578896555130.34123306702281964",
            "url": "rtsp://172.26.3.67:8554/dawang_crop_aac.mkv",
            "callback": "http://172.25.52.11:8008",
            "roomId": "12345",
            "userId": "milian",
            "forumId": "123456"
         }
    ],
    "code": 0,
    "message": "success",
    "nonce": "0.01627771095362096",
    "timestamp": 1552391372490
}

音频流提交成功后, 会进行音频的审核,审核出来有违规的数据会回调给调用者

,不同的审核任务会回调不同的数据,详见以下任务的回调数据详解

  1. 低俗语音
  2. 语音转译
  3. 语音转译审核

2.音频流关闭接口

请求地址:

http://api.speech.tuputech.com/v3/recognition/speech/stream/close/'your_secretId'

请求方法:

POST

请求头:

Content-type: application/json

请求示例:
{
  "speechStream": [
    {
      "requestId": "5c8213b9bc807806aab0a321"
    }
  ],
  "timestamp": 1541499770,
  "nonce": 0.8469537531104208,
  "signature": "CsIMcHuWqn/QFEnHWcFEhrB7ydcg5xTKawpRpNqA9Nw2WlCVIDR5jDcyUF85"
}
请求参数说明:
参数名 类型 是否必填 说明
speechStream Array 是 音频内容信息,详见下面说明
timestamp Number 是 当前的服务器的Unix时间戳
nonce Number 是 随机数
signature String 是 我们采用的数字证书签名算法是:"RSA-SHA256",签名输出类型是:"base64",具体步骤如下:
1、所有参与签名的参数为:secretId,timestamp,nonce,用英文半角逗号“,”相连,得到sign_string;
2、利用您的私钥,使用算法"RSA-SHA256"签名,输出为 "base64" 格式,得到参数signature的值。
点击管理公钥证书查看如何生成私钥,及如何上传您的公钥用于数字签名的认证;
speechStream
参数名 类型 是否必填 说明
requestId String 是 音频流唯一ID
返回参数说明
公共响应结果
json参数说明
参数名称 类型 是否必需 说明
result Array 是 返回结果
code Number 是 返回码,0:调用成功
message String 是 返回信息
nonce String 是 随机数
timestamp String 是 当前的服务器的Unix时间戳
result数据结构
参数名 类型 是否必有 说明
requestId string 是 音频流唯一ID
status string 是 检测状态
status说明
值 描述
closed 已关闭
返回数据示例:
{
  "result": [
    {
      "requestId": "5c8213b9bc807806aab0a321",
      "status": "closed"
    }
  ],
  "code": 0,
  "message": "success",
  "nonce": "0.01627771095362096",
  "timestamp": 1552391372490
}

3. (可选) 结束状态回调

说明:仅在 callbackRules 参数设置了状态结束回调时才会在任务结束时回调

返回结构说明

公共响应结果

服务返回信息的公共结构

参数名 类型 是否必有 说明
signature String 是 我们采用的数字证书签名算法是:"RSA-SHA256",签名输出类型是:"base64",首先下载图普科技的公钥证书,然后按如下步骤认证:
1、收到的JSON数据经过JSON.parse(),得到JSON对象,记为data;
2、data含两个字段:signature、json;signature是数字签名,json是真正的有效数据的字符串格式;
3、用signature对json进行签名认证,算法:RSA-SHA256,输出类型:base64,得到认证结果;
4、认证通过后,对json进行JSON.parse(),得到JSON数据,详见"json"字段说明。
json String 是 json 字段经过JSON.parse(json)后,得到具体的结果,含:
message:与code相关的文本信息
timestamp:当前的服务器的Unix时间戳。
nonce:随机数。

json 参数说明

返回结果样例

{
  "code": 0,
  "requestId": "61275d377b8d07d33a10cde0",
  "status": "end",
  "nonce": "0.8954065702381435",
  "timestamp": 1629969759333
}
参数名称 类型 是否必需 说明
code Number 是 返回码,0:正常结束(由用户请求关闭的任务), 其他状态码请参考语音状态码
requestId String 是 任务 Id
status String 是 任务状态,目前只有 end
nonce String 是 随机数
timestamp String 是 当前的服务器的Unix时间戳

使用建议:

  • 当收到回调中存在 status 字段时, 说明任务已结束。
  • 若 code 的值不为 0,则说明是异常结束,可根据 code 的值查询到对应的异常结束类型。

results matching ""

    No results matching ""