本文主要介绍如何快速运行腾讯云 TRTC Demo(Windows C++)。
环境要求
- Microsoft Visual Studio 2017 及以上版本,推荐使⽤ Microsoft Visual Studio 2019。
- 下载并安装 QT 开发环境(QT 5.14.x版本)。
- 下载并安装 .vsix 插件⽂件,根据官⽹文件命名找对应插件版本安装即可。
- 打开 VS 并在⼯具栏找到
QT VS Tools -> Qt Options -> Qt Versions
,add 添加我们⾃⼰的 Qt 编译器 msvc。 - 需要将
SDK/CPlusPlus/Win64/lib
下的所有的.dll
⽂件拷⻉到⼯程⽬录下的debug
/release
⽂件夹下。注意:debug/release
⽂件夹均是在 VS 上的环境配置完后⾃动⽣成。如果是32位程序,则需要拷贝SDK/CPlusPlus/Win64/lib
下的所有.dll
到debug
/release
⽂件夹下。
前提条件
操作步骤
步骤1:创建新的应用
- 登录实时音视频控制台,选择开发辅助 > 快速跑通Demo。
- 单击新建应用输入应用名称,例如
TestTRTC
;若您已创建应用可单击选择已有应用。 - 根据实际业务需求添加或编辑标签,单击创建。说明:
- 应用名称只能包含数字、中英文字符和下划线,长度不能超过15个字符。
- 标签用于标识和组织您在腾讯云的各种资源。例如:企业可能有多个业务部门,每个部门有1个或多个 TRTC 应用,这时,企业可以通过给 TRTC 应用添加标签来标记部门信息。标签并非必选项,您可根据实际业务需求添加或编辑。
步骤2:下载 SDK 和 Demo 源码
- 根据实际业务需求下载 SDK 及配套的 Demo 源码。
- 下载完成后,单击已下载,下一步。
步骤3:配置 Demo 工程文件
- 进入修改配置页,根据您下载的源码包,选择相应的开发环境。
- 找到并打开定义 SDKAppID 和密钥信息的文件,如下:
适用平台 文件相对路径 Windows(C++/QT) Windows/QTDemo/src/Util/defs.h Windows(C++/Duilib) Windows/DuilibDemo/GenerateTestUserSig.h - 设置
defs.h
或GenerateTestUserSig.h
文件中的相关参数:- SDKAppID:默认为0,请设置为实际的 SDKAppID。
- SECRETKEY:默认为空字符串,请设置为实际的密钥信息。
- 粘贴完成后,单击已复制粘贴,下一步即创建成功。
- 编译完成后,单击回到控制台概览即可。
注意:
- 本文提到的生成 UserSig 的方案是在客户端代码中配置 SECRETKEY,该方法中 SECRETKEY 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量,因此该方法仅适合本地跑通 Demo 和功能调试。
- 正确的 UserSig 签发方式是将 UserSig 的计算代码集成到您的服务端,并提供面向 App 的接口,在需要 UserSig 时由您的 App 向业务服务器发起请求获取动态 UserSig。更多详情请参见 服务端生成 UserSig。
步骤4:编译运行
QtDemo
- 方法一:使⽤ QtCreator 打开源码⽬录下的
QTDemo\QTDemo.pro
⼯程⽂件,编译并运⾏ QTDemo ⼯程即可。 - 方法二:启动安装了 QT 开发插件的 Visual Studio(建议 VS2015 或以上),在菜单中选择
Qt VS Tools > Open Qt Project File(.pro)...
打开源码⽬录下的QTDemo\QTDemo.pro
⼯程⽂件,编译并运⾏ QTDemo ⼯程即可。
DuilibDemo
- 使用 Visual Studio(建议 VS2015)打开源码目录下的
DuilibDemo\TRTCDuilibDemo.sln
工程文件,推荐选择 Release/X86 构建平台,编译并运行 Demo 工程即可。
常见问题
1. 查看密钥时只能获取公钥和私钥信息,要如何获取密钥?
TRTC SDK 6.6 版本(2019年08月)开始启用新的签名算法 HMAC-SHA256。在此之前已创建的应用,需要先升级签名算法才能获取新的加密密钥。如不升级,您也可以继续使用 老版本算法 ECDSA-SHA256,如已升级,您按需切换为新旧算法。
升级/切换操作:
- 登录 实时音视频控制台。
- 在左侧导航栏选择应用管理,单击目标应用所在行的应用信息。
- 选择快速上手页签,单击第二步 获取签发UserSig的密钥区域的 HMAC-SHA256。
- 切换回老版本算法 ECDSA-SHA256:
- 切换为新版本算法 HMAC-SHA256:
- 切换回老版本算法 ECDSA-SHA256:
2. 两台设备同时运行 Demo,为什么看不到彼此的画面?
请确保两台设备在运行 Demo 时使用的是不同的 UserID,TRTC 不支持同一个 UserID (除非 SDKAppID 不同)在两个设备同时使用。
3. 防火墙有什么限制?
由于 SDK 使用 UDP 协议进行音视频传输,所以对 UDP 有拦截的办公网络下无法使用,如遇到类似问题,请参见 应对公司防火墙限制。