打开实时音视频
POST /strm/live/open
本接口用于指示终端向媒体服务实时推送指定通道的媒体流,并返回服务端分配的媒体地址。同一通道的实时音视频支持多个会话同时播放。
请求
POST https://n11.gratour.info:7011/v1/strm/live/open
Content-Type: application/json
X-Auth-Token: HrWwReOAQ9WdLnJQ1JYivA
{
"simNo": "13320200317",
"channel": 1,
"dataType": 0,
"codeStream": 1,
"proto": 0,
"connIdx": 0,
"async": true
}
请求实体属性
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
simNo | string | Y | 终端识别号 |
channel | int | Y | 音视频逻辑通道号。参见JT/T 1078标准定义的车载视频逻辑通道号定义表 |
dataType | int | 数据类型:
0 | |
codeStream | int | 码流类型:
0 | |
proto | int | 请求的客户端协议类型:
0 | |
subProto | string | 子协议类型:
| |
connIdx | int | 连接序号。用于后台分配不同的服务器给客户端。仅在同步模式时有意义。未指定时视为:0 | |
async | boolean | 是否采用异步打开模式。未指定时视为:false | |
talkSendProtoVer | int | 对讲时服务端向客户端的语音向终端发送码流时所采用的协议版本:
| |
saveOnServer | boolean | 播放时是否同时存储在服务端的本地媒体存储目录。未指定时视为:false | |
trace | int | 跟踪模式:
0 | |
detectMediaTyp | boolean | 部分终端存在无音频的情况,即使下发请求音视频请求,终端实际推送的也只有视频而无音频,此时可使用媒体服务的码流媒体类型检测功能,由媒体服务根据码流确定实际媒体类型(结果由OpenStrmResult 的mediaTyp 属性返回)。本属性用于指示是否强制服务端对终端实际码流进行媒体类型(mediaTyp )检测。如指定了true 值,则服务端将进行媒体类型检测,并将检测到的媒体类型返回到OpenStrmResult结构的mediaTyp 属性。如指定了false 值,则直接根据dataTyp 的值进行判断,而不进行媒体类型检测。不指定时,值视为false 。 | |
audioCfg | AudioConfig | 指定返回的媒体流的音频格式。不指定时使用服务端配置的默认音频设置 | |
rtspSrc | RtspSource | 采用RTSP源进行播放。打开JT/T 1078协议终端时,不需要指定本属性。 |
AudioConfig
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
sampleRate | int | Y | 采样率。为下列值之一:
|
channels | int | Y | 声道数。为下列值之一:
|
RtspSource
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
url | string | Y | 所要拉取的RTSP流源地址。如:rtsp://n11.gratour.info/test/strm1,此地址必须要能被媒体服务所能访问到。当媒体源要求鉴权时,可以在url中带用户名和密码(不推荐),如: rtsp://user:passwd@n11.gratour.info/test/strm1 ,此时,本结构的 user 和pwd 属性被忽略 |
user | string | 当媒体源要求鉴权时,本属性指定用户名。当url 属性中包含用户名时,本属性被忽略 | |
pwd | string | 当媒体源要求鉴权时,本属性指定用户密码。当url 属性中包含用户密码时,本属性被忽略 |
应答
{
"data": [
{
"reqId": "AbctuB9sSJe8bbBzv-yr9g",
"ctrl": true,
"playUrl": "http://t2.gratour.info:20022/s/13320200317_1_1?a\u003dS7rAwnY0\u0026b\u003dS91-lPEJg_yulbO6okcRQrguBqEFlUH-YmSXQewOJYSpWg8_7Jx2xZdBYiNZhWZETYFmZ3Kd8j_qguPRf10Yfvl_WB8H5tFUHkh6nILIiZU6wKN3buuvaXAKNA93QmIsk77baWYzkuY70l9TQswdvRRNOBXz9fszrWeQ5aeca6B9PXXUw_WVZiQBiUfrgF7CS2N\u0026reqId\u003dM2MyM2FmMTA3NDQyNGE1YzhlY2VkMzc3ZWU3ZDEwYTQ",
"mediaTyp": "av"
}
],
"errCode": 0,
"message": "OK."
}
应答实体属性
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
errCode | int | Y | 错误码。
|
message | string | Y | 错误信息 |
data | array[OpenLiveStrmResult] | 返回的结果对象数组。元素为OpenLiveStrmResult类型,见下 | |
count | int | 返回的记录数 |
OpenLiveStrmResult
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
reqId | string | Y | 由平台分配的请求ID,用于监测流通知,或播放控制 |
instanceId | string | Y | 平台分配的流媒体实例ID |
ctrl | boolean | Y | 当前请求是否获得音视频的控制权。第一个打开通道的客户端将获得控制权,后续打开该通道的客户端只能获得共享播放权。当获得控制权的客户端关闭流以后,在该客户端之后第一个请求的客户端获得控制权。 |
playUrl | string | Y | 播放地址 |
ready | boolean | Y | 流是否已经可以播放。为false 时,要等到收到act为ready 的流媒体通知才能播放。 |
wsUrl | string | WebSocket地址,用于对讲时客户端提交音频数据。此地址使用stomp协议。仅当请求的流类型为实时流,且数据类型(dataTyp )为2: 对讲 时有效。 | |
taUrl | string | WebSocket地址,用于对讲时客户端提交音频数据。此地址使用二进制websocket协议。仅当请求的流类型为实时流,且数据类型(dataTyp )为2: 对讲 时有效。 | |
mediaTyp | string | Y | 流的媒体类型:
|
部分厂商使用对讲功能注意事项
- channel(通道号)参数
- 博实结使用的通道号为
36
- 博实结使用的通道号为
- talkSendProtoVer参数
- 使用博实结终端进行对讲时,需要设置
talkSendProtoVer
参数,指定值为1
- 使用博实结终端进行对讲时,需要设置