语音流审核接口

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 ""