新建直播流会话

最近更新时间:2024-05-28 16:10:31

我的收藏
用于新建视频流,获取数智人画面的流播放地址。

调用协议

HTTPS + JSON
POST /v2/ivh/sessionmanager/sessionmanagerservice/createsession
Header Content-Type: application/json;charset=utf-8

请求参数

参数名称
类型
必选
描述
ReqId
String
单次请求唯一标识,长度为32的 uuid。
SessionId
String
会话唯一标识。Saas 环境不允许传入由云端分配,私有化环境可传入。
VirtualmanProjectId
String
数智人项目 ID。(同原来的VirtualmanKey)
UserId
String
用户的唯一标识,由调用方自己维护。以相同的 UserId 创建新流,会导致上一个该 UserId 流关闭。
Protocol
String
当前支持参数:rtmp、trtc、webrtc
DriverType
int
数智人驱动方式。
1:纯文本驱动;
3:音频驱动(原声),此模式下支持发送音频和文本两种驱动模式;
ProtocolOption
协议自定义参数,不使用 trtc 不用关注。

ProtocolOption

名称
类型
必选
描述
TrtcUseExternalApp
boolean
是否使用外部 trtc appid,如果不使用,将使用数智人平台统一的 trtc appid。
注意:
使用数智人平台统一的 trtc 时,仅限于调试阶段,不可用于投产阶段。

TrtcAppId
string
trtc appid(使用外部 trtc appid 时必填)。
TrtcRoomId
int
trtc 房间号(不指定则由云端分配房间号)。
TrtcUserSig
string
trtc 数字人用户签名(使用外部 trtc appid 时必填)。
TrtcPrivateMapKey
string
trtc 数字人用户权限密钥(使用外部 trtc appid 时必填)。
CssCustomPushUrl
string
自定义云直播推流地址,推流协议固定使用 rtmp,使用 rtmp 推流给云直播,可以使用云直播支持的各类拉流协议进行拉流播放。 要求的推流地址格式为:
rtmp://xyz.com/cssAppName/streamid?txSecret={0}&txTime={1} txSecret 和 txTime 计算方式参考:https://cloud.tencent.com/document/product/267/32720

返回参数

名称
类型
必选
描述
ReqId
String
单次请求唯一标识。
SessionId
String
会话的唯一标识
SessionStatus
int
状态:
1: 进行中(已就绪),命中缓存直接得到播流地址
3: 准备中(未就绪),未命中缓存需等待模型加载,需要使用查询会话状态 接口轮询会话状态,直到流状态变为1为止。一般不超过2分钟
PlayStreamAddr
String
播放地址,格式为:rtmp://liveplay.ivh.qq.com/live/m789
如果通过 CssCustomPushUrl 参数指定了自定义云直播推流地址,则不返回此字段

请求示例

{ "Header": { }, "Payload": { "ReqId": "f2612aa810014e8997f95bda97917268", "VirtualmanProjectId": "1b2c9f1c268a4edfbf6c6274da31bc5d", "UserId": "f2612aa810014e8997f95bda97917268", "Protocol": "rtmp", "DriverType": 1 } }

返回示例

{
"Header": {
"Code": 0,
"Message": "",
"RequestID": "123",
},
"Payload": {
"ReqId": "d7aa08da33dd4a662ad5be508c5b77cf",
"SessionId": "m789",
"SessionStatus": 1,
"PlayStreamAddr": "rtmp://live.qq.com/live/m789"
}
}