接口说明
使用数智人平台项目创建会话,获取数智人画面的流播放地址。
调用协议
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。 |
UserId | String | 是 | 用户的唯一标识,由调用方自己维护。以相同的 UserId 创建新流,会导致上一个该 UserId 流关闭。 |
Protocol | String | 是 | |
DriverType | int | 是 | 数智人驱动方式。 1:纯文本驱动; 3:音频驱动(原声),此模式下支持发送音频和文本两种驱动模式。 |
ProtocolOption | 否 | 协议自定义参数。 Protocol选择 trtc 则需要传入该参数下的trtc相关字段; 若用户需要自定义云直播推流地址,则不论哪种Protocol,都需要传入该参数下的CssCustomPushUrl字段。 |
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: 进行中(已就绪),命中缓存直接得到播流地址 |
PlayStreamAddr | String | 否 | 播放地址。 说明: 如果通过 CssCustomPushUrl 参数指定了自定义云直播推流地址,则不返回此字段。 |
请求示例
{ "Header": { }, "Payload": { "ReqId": "f2612aa810014e8997f95bda97917268", "VirtualmanProjectId": "1b2c9f1c268a4edfbf6c6274da31b890", "UserId": "virtualhuman", "Protocol": "rtmp", "DriverType": 1 } }
返回示例
{"Header": {"Code": 0,"Message": "","RequestID": "3c5a8d999d8e1fbc6c574595a1b31d5d"},"Payload": {"ReqId": "f2612aa810014e8997f95bda97917268","SessionId": "m318552187863054171","SessionStatus": 1,"PlayStreamAddr": "rtmp://live.qq.com/live/m789"}}