快速开始
所有文档

          实时音视频 RTC

          快速开始

          本文档将介绍从创建百度智能云账号开始,到完成一次音视频通信为止,之间所需要的必要的操作步骤。

          image.png

          准备工作

          1.1 注册百度智能云账号,并完成实名认证

          创建应用

          2.1 进入RTC产品控制台,选择应用管理-创建应用。

          image.png

          在AppServer上部署token生成服务

          为保证实时通信的安全,在通信时需要进行特殊鉴权。用户在自己的AppServer(客户的后端服务器)上部署token生成服务,生成token并在通信中使用,来实现通信的鉴权。

          RTC鉴权机制

          鉴权流程如下: zxcvbn.png

          1. 当App需要使用RTC服务时,向AppServer(客户的后端服务器)请求Token;
          2. AppServer根据token生成算法以及相应的AppKey生成相应的Token,并下发给App;
          3. App在调用RTC SDK时,提供Token;
          4. SDK在与RTC后端服务器发起http/websocket连接时提供Token参数;
          5. RTC后端对token进行验证,验证不通过时会拒绝访问;验证通过,则提供RTC服务

          部署token生成服务

          为了实现上述的鉴权机制,需要在客户的AppServer上部署Token生成服务。

          Token计算需要以下参数:

          • AppID:由baiduRTC提供,全局唯一,用于识别应用;
          • AppKey: 由baiduRTC提供,每个AppID拥有一个AppKey,并且可更新;您可以登录百度智能云- 并进入RTC控制台查看AppID和AppKey。
          • RoomName: 房间名称,由用户指定并维护;
          • Uid: 用户id,由用户指定并维护,用户保证唯一性;
          • ts: token生成时的unix时间戳
          • ExpectTS: 过期时间,unix时间戳;
          • Version:鉴权版本,当前取值004

          Token计算步骤

          1. 输入需要的6个参数
          2. 生成当前时间戳ts,并补齐至10位。格式需要转换为十进制Unix时间戳。推荐一个在线转换网站
          3. 生成randomString。随机一个int型整数,并转成对应16进制数字字符串,并补齐至8位。
          4. 生成签名。使用HmacSHA1算法加密来计算签名,结果返回16进制字符串。 key=appKey; data="ACS"(固定的ACS三个字母) + appID + ts + randomString + roomName + uid + expectTs; signature = HamcSHA1(key, data);
          5. 拼接token

          token = version + signature + ts + randomString + expectTs;

          Token的格式

          字段 说明 长度 示例
          version 鉴权版本 3 004
          ts token生成时的unix时间戳 10字符,不足补0 154476606
          signature 签名 40字符 8f50a1f280e69f4581dd8bf8b3b9cc9d277cd3a6
          randomString salt string,int转16进制字符串 8字符,不足补0 dabdd97c
          expectTs 过期时间,unix时间戳,全0表示24小时后过期 10字符,不足补0 1578380254

          计算示例

          准备好的各参数为: appID: app-jcagj2g5ecrqv7bn

          version: 004

          ts: 1553144847

          randomString: dabdd97c

          expectTs: 1578380254

          roomName:aaa

          uid: 54321

          AppKey: s-jcagj2g5eewai6u3p3

          计算得signature: HamcSHA1(s-jcagj2g5eewai6u3p3, ACSapp-jcagj2g5ecrqv7bn1553144847dabdd97caaa543211578380254) = 08b1a06afc9c138625dc7fc9ab5e7770c5156f23

          构造token为:00408b1a06afc9c138625dc7fc9ab5e7770c5156f231553144847dabdd97c1578380254

          您可以下载token生成实例代码进行参考(示例代码包含JAVA和Python两种语言)。

          集成客户端SDK

          您可以访问 下载专区 下载不同终端最新版SDK。

          上一篇
          产品定价
          下一篇
          操作指南