控制台获取 UserSig

控制台获取 UserSig

控制台获取 UserSig

1. 登录实时音视频控制台,进入开发辅助 > UserSig生成&校验

2. 在签名(UserSig)生成工具下,选择对应的 SDKAppID 和 UserID。

3. 单击生成签名(UserSig),即可计算得到对应的 UserSig。

正式运行阶段如何计算 UserSig?

查看密钥时只能获取公钥和私钥信息,要如何获取密钥?

查看密钥时只能获取公钥和私钥信息,要如何获取密钥?

TRTC SDK 6.6 版本(2019年08月)开始启用新的签名算法 HMAC-SHA256。在此之前已创建的应用,需要先升级签名算法才能获取新的加密密钥。如不升级,您也可以继续使用 老版本算法 ECDSA-SHA256,如已升级,您按需切换为新老版本算法。

升级/切换操作:

1. 登录 实时音视频控制台

2. 在左侧导航栏选择应用管理,单击目标应用所在行的应用信息

3. 选择快速上手页签,单击第二步 获取签发UserSig的密钥区域的点此升级非对称式加密HMAC-SHA256

升级:

切换回老版本算法 ECDSA-SHA256:

切换为新版本算法 HMAC-SHA256:

客户端示例代码计算 UserSig

客户端示例代码计算 UserSig

客户端示例代码计算 UserSig

1. 获取 SDKAPPID 和密钥

1.1 登录实时音视频控制台 > 应用管理

1.2 单击您需查看的 SDKAppID 对应的应用信息,单击进入快速上手页签。

1.3 查看 第二步 获取签发UserSig的密钥 标签,即可获取用于计算 UserSig 的加密密钥。

1.4 单击复制密钥,可将密钥拷贝到剪贴板中。

说明

若查看密钥时只能获取公钥和私钥信息,请参见 如何获取密钥

2. 计算 UserSig: 为了方便客户端使用,我们提供各平台计算 UserSig 的源码文件,您可直接下载计算:

适用平台文件源码文件相对路径
iOSGithubTRTC-API-Example-OC/Debug/GenerateTestUserSig.h
MacGithubOCDemo/TRTCDemo/TRTC/GenerateTestUserSig.h
AndroidGithubTRTC-API-Example/Debug/src/main/java/com/tencent/trtc/debug/GenerateTestUserSig.java
Windows(C++)GithubTRTC-API-Example-C++/TRTC-API-Example-Qt/src/Util/defs.h
Windows(C#)GithubTRTC-API-Example-CSharp/TRTC-API-Example-CSharp/GenerateTestUserSig.cs
WebGithubbase-js/js/debug/GenerateTestUserSig.js
微信小程序GithubTRTCSimpleDemo/debug/GenerateTestUserSig.js
FlutterGithubTRTC-API-Example/lib/Debug/GenerateTestUserSig.dart

我们在 TRTC SDK 的示例代码中提供了一个叫做 GenerateTestUserSig 的开源模块,您只需要将其中的 SDKAPPID、EXPIRETIME 和 SECRETKEY 三个成员变量修改成您自己的配置,就可以调用 genTestUserSig() 函数获取计算好的 UserSig,从而快速跑通 SDK 的相关功能:

什么是 UserSig?

什么是 UserSig?

UserSig 是腾讯云设计的一种安全保护签名,目的是为了阻止恶意攻击者盗用您的云服务使用权。 目前,腾讯云的实时音视频(TRTC)、即时通信(IM)以及移动直播(MLVB)等服务都采用了该套安全保护机制。要使用这些服务,您需要在相应 SDK 的初始化或登录函数中提供 SDKAppID,UserID 和 UserSig 三个关键信息。 其中 SDKAppID 用于标识您的应用,UserID 用于标识您的用户,而 UserSig 则是基于前两者计算出的安全签名,它由 HMAC SHA256 加密算法计算得出。只要攻击者不能伪造 UserSig,就无法盗用您的云服务流量。 UserSig 的计算原理如下所示,其本质就是对 SDKAppID、UserID、ExpireTime 等关键信息进行了一次哈希加密:

//UserSig 计算公式,其中 secretkey 为计算 usersig 用的加密密钥

usersig = hmacsha256(secretkey, (userid + sdkappid + currtime + expire +

base64(userid + sdkappid + currtime + expire)))

实时音视频是什么?

实时音视频是什么?

腾讯实时音视频(Tencent Real-Time Communication,TRTC),将腾讯多年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案

TRTC SDK 是否支持断线重连?

TRTC SDK 是否支持断线重连?

SDK 支持用户断线情况下自动重连(若持续30分钟都未重连成功,则自动退房并返回-3301错误码),连接过程中具体的连接状态和处理逻辑如下说明。下图展示了从用户 Userid1 加入频道,到连接中断,再到重新加入房间过程中,收到的监听回调事件:

具体说明

T1:用户侧发起调用 enterRoom 接口发起进房请求。

T2:用户 Userid1 收到 onEnterRoom 回调,Userid2 感知 Userid1 存在延迟,大约300ms后,Userid2 收到 onRemoteUserEnterRoom 回调。

T3:Userid1 客户端因网络问题断网,SDK 会尝试重新加入房间。

T4:Userid1 如果连续8秒没有连接上服务端,Userid1 收到 onConnectionLost 断连回调。

T5:Userid1 接着隔3秒没有连接上服务端,Userid1 收到 onTryToReconnect 重试回调。

T6:Userid1 接着每隔24秒,收到 onTryToReconnect 重试回调。

T7:Userid2 会在收到 Userid1 掉线通知90s后,SDK 判断远端用户 Userid1 掉线,Userid2 收到 onRemoteUserLeaveRoom 回调。

T8:如果Userid1断连期间任意时刻重连成功,Userid1 收到 onConnectionRecovery 恢复回调。

TRTC 房间支不支持踢人、禁止发言、静音?

TRTC 房间支不支持踢人、禁止发言、静音?

支持。

如果是简单的信令操作,可以使用 TRTC 的自定义信令接口 sendCustomCmdMsg,开发者自己定义相应的控制信令,收到控制信令的通话方执行对应操作即可。例如,踢人就是定义一个踢人的信令,收到此信令的用户就自行退出房间。

如果是需要实现更完善的操作逻辑,建议开发者通过 即时通信 IM 来实现相关逻辑,将 TRTC 的房间与 IM 群组进行映射,在 IM 群组中收发自定义消息来实现相应的操作。

TRTC 纯音频通话怎么实现旁路推流和录制?

TRTC 纯音频通话怎么实现旁路推流和录制?

6.9以前版本:进房时需要构造 json{\"Str_uc_params\":{\"pure_audio_push_mod\":1}} 传入 TRTCParams.businessInfo 中,1表示旁路推流 2表示旁路推流+录制。

TRTC SDK 6.9及以后版本:在进房时选择场景参数为 TRTCAppSceneAudioCall 或 TRTCAppSceneVoiceChatRoom 即可。

TRTC 进房模式 AppScene 有什么区别?

TRTC 进房模式 AppScene 有什么区别?

TRTC 支持四种不同的进房模式,其中视频通话(VideoCall)和语音通话(VoiceCall)统称为通话模式,视频互动直播(Live)和语音互动直播(VoiceChatRoom)统称为 直播模式。

通话模式下的 TRTC,支持单个房间最多300人同时在线,支持最多50人同时发言。适合1对1视频通话、300人视频会议、在线问诊、远程面试、视频客服、在线狼人杀等应用场景。

直播模式下的 TRTC,支持单个房间最多10万人同时在线,具备小于300ms的连麦延迟和小于1000ms的观看延迟,以及平滑上下麦切换技术。适用低延时互动直播、十万人互动课堂、视频相亲、在线教育、远程培训、超大型会议等应用场景。

TRTC 支持哪些平台?

TRTC 支持哪些平台?

支持的平台包括 iOS、Android、Windows(C++)、Windows(C#)、Mac、Web、Electron、微信小程序,更多详情请参见

实时音视频是业界真正实现全平台互通的解决方案,具体平台支持及开发环境要求如下表所示:

平台开发环境要求
iOS支持 iOS 9.0 及以上版本的 iPhone 或 iPad 真机Xcode 9.0+项目已配置有效的开发者签名
AndroidAndroid Studio 3.5+建议使用 Android 4.1(SDK API Level 16)及以上系统
Windows支持 Windows 7 及以上版本Visual Studio 2010及以上版本,推荐使用 Visual Studio 2015.Net Framework 4.0及以上版本
Mac OSXcode 9.0+OS X10.10+ 的 Mac 真机项目已配置有效的开发者签名
Web推荐使用桌面端 Chrome 56+,详细开发环境要求请参见 快速集成(Web)
Electron支持 Windows 7 及以上版本、Mac OS 10.10 及以上版本支持 Electron 4.0.0 以上版本,推荐使用最新版 Electron SDK
微信小程序微信 App iOS 最低版本要求:7.0.9微信 App Android 最低版本要求:7.0.8小程序基础库最低版本要求:2.10.0由于小程序开发者工具不支持原生组件(即 <live-pusher> 和 <live-player> 标签),需要在真机器上运行体验
FlutteriOS 端: 支持 iOS 9.0 及以上版本的 iPhone 或 iPad 真机Xcode 9.0+项目已配置有效的开发者签名 Android 端:Android Studio 3.5+建议使用 Android 4.1(SDK API Level 16)及以上系统

TRTC 房间支持哪些应用场景?

TRTC 房间支持哪些应用场景?

支持以下场景:

TRTCAppSceneVideoCall :视频通话场景,适合1对1视频通话、300人视频会议、在线问诊、视频聊天、远程面试等。

TRTCAppSceneLIVE :视频互动直播,适合视频低延时直播、十万人互动课堂、视频直播 PK、视频相亲房、互动课堂、远程培训、超大型会议等。

TRTCAppSceneAudioCall :语音通话场景,适合1对1语音通话、300人语音会议、语音聊天、语音会议、在线狼人杀等。

TRTCAppSceneVoiceChatRoom:语音互动直播,适合:语音低延时直播、语音直播连麦、语聊房、K 歌房、FM 电台等。

TRTC 直播支持什么角色?有什么区别?

TRTC 直播支持什么角色?有什么区别?

直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)支持 TRTCRoleAnchor(主播)和 TRTCRoleAudience(观众)两种角色,区别是主播角色可以同时上行、下行音视频数据,观众角色只支持下行播放其他人的数据。您可以通过调用 switchRole() 进行角色切换。

TRTC 房间的生命周期是多久?

TRTC 房间的生命周期是多久?

第一个加入房间的用户为当前房间的所有者,但该用户无法主动解散房间。

通话模式下:所有用户都主动退房时,后台立即解散房间。

直播模式下:最后一个退房的用户是主播角色时,后台立即解散房间;最后一个退房的用户是观众角色时,后台等待10分钟后解散房间。

如果房间内的单个用户异常掉线,90秒后服务端会将该用户清理出当前房间。如果房间内的所有用户都异常掉线,90秒后服务端会自动解散当前房间。用户异常掉线等待时长会被纳入计费用时统计。

当用户要加入的房间不存在时,后台会自动创建一个房间。