首页 > 其他分享 >【新知实验室 TRTC&IM】实时互动课堂最佳实践

【新知实验室 TRTC&IM】实时互动课堂最佳实践

时间:2022-12-28 18:37:55浏览次数:62  
标签:新知 音视频 腾讯 3.2 3.1 IM TRTC


【新知实验室 TRTC&IM】实时互动课堂最佳实践

  • ​​一、新知实验室-TRTC腾讯云音视频产品体验官计划​​
  • ​​活动简介​​
  • ​​二、产品简介​​
  • ​​TRTC​​
  • ​​IM​​
  • ​​三、最佳实践​​
  • ​​3.1 官方快速上手TRTC(快速跑通)​​
  • ​​3.1.1 注册腾讯云账号​​
  • ​​3.1.2 使用实时音视频(需先开通)​​
  • ​​3.1.3 创建应用​​
  • ​​3.1.4 查看项目(查看密钥和快速上手操作)​​
  • ​​3.1.5 运行快速上手项目(静态页面)​​
  • ​​3.2 使用TRTC&IM构建实时互动课堂​​
  • ​​3.2.1 项目简介(trtc-education-electron)​​
  • ​​3.2.2 设置即时通讯IM的 Web 端可同时在线个数​​
  • ​​3.2.3 构建项目(使用云服务器)​​
  • ​​3.2.3.1 构建环境​​
  • ​​3.2.3.2 克隆代码​​
  • ​​3.2.3.4 ==修改官方留的Bug==​​
  • ​​3.2.3.5 安装依赖​​
  • ​​3.2.3.6 测试&打包​​
  • ​​3.2.4 在线课堂运行​​
  • ​​四、总结​​

一、新知实验室-TRTC腾讯云音视频产品体验官计划


在线上线下一体化、虚拟现实加速融合的趋势下,音视频已经演进成一种基本能力,深刻变革了社会的交互方式。未来,音视频作为全真互联时代的重要基石,将持续推动互联网和实体产业的数字化创新与升级。

腾讯云实时音视频TRTC基于腾讯20多年在音视频技术上的深度积累,主打低延时互动直播和多人音视频两大解决方案,致力于帮助全球开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。




二、产品简介

TRTC

TRTC全称(Tencent Real-Time Communication)即腾讯实时音视频服务,定位是解决实时通信的云服务,主要功能是基于互联网的,接收、处理、转发和保存大流量的音视频流数据,主要用于直播、视频会议等场景;围绕直播提供了一些简单IM功能;提供demo和易用的SDK,方便不同终端快速接入;允许用户自定义采集和渲染数据源。

IM

即时通信(Instant Messaging,IM)基于 QQ 底层 IM 能力开发,仅需植入 SDK 即可轻松集成聊天、会话、群组、资料管理能力,帮助您实现文字、图片、短语音、短视频等富媒体消息收发,全面满足通信需要。




三、最佳实践

3.1 官方快速上手TRTC(快速跑通)

腾讯云音视频官方提供了一个快速上手案例,这里呢,我们使用Web项目来为大家演示一下(我在前端方面也是个小白)

3.1.1 注册腾讯云账号

首先注册腾讯云的账号,新用户有​​好礼相赠​​​!

3.1.2 使用实时音视频(需先开通)

【新知实验室 TRTC&IM】实时互动课堂最佳实践_腾讯云音视频

3.1.3 创建应用

【新知实验室 TRTC&IM】实时互动课堂最佳实践_云计算_02

【新知实验室 TRTC&IM】实时互动课堂最佳实践_云计算_03

3.1.4 查看项目(查看密钥和快速上手操作)

【新知实验室 TRTC&IM】实时互动课堂最佳实践_TRTC_04


【新知实验室 TRTC&IM】实时互动课堂最佳实践_腾讯云_05

3.1.5 运行快速上手项目(静态页面)

【新知实验室 TRTC&IM】实时互动课堂最佳实践_TRTC_06


在文件夹中打开Index.html文件

【新知实验室 TRTC&IM】实时互动课堂最佳实践_TRTC_07


【新知实验室 TRTC&IM】实时互动课堂最佳实践_腾讯云音视频_08

【新知实验室 TRTC&IM】实时互动课堂最佳实践_IM_09

【新知实验室 TRTC&IM】实时互动课堂最佳实践_IM_10

至此,您已成功跑通TRTC的Web快速上手项目, 同时您也可以设置好参数,将其托管到OSS存储桶中,进行测试








3.2 使用TRTC&IM构建实时互动课堂

因为疫情原因,全国的大部分老师和学生都在进行网课学习,同时在前段时间(2022年11月9日),又出现了网课入侵这种非常恶劣的事件,那么在这里,将为大家演示如何使用TRTC&IM为老师和同学构建一个线上实时互动课堂,项目由 腾讯即时通信IM团队提供

3.2.1 项目简介(trtc-education-electron)

TRTC 实时互动课堂是一款开源的在线课堂软件,支持一名教师给多名学生在线上课,一个课堂最多同时支持 300 人在线实时互动。如果开启旁路直播、CDN推流服务,可支持上万人在线观看。本软件基于腾讯云实时音视频通信(Tencent Real-Time Communication, TRTC)、腾讯云即时通信(Tencent Instant Message, TIM)、Electron、React 和 Webpack 等构建。

官方项目地址:https://github.com/TencentCloud/trtc-education-electron

GitCode项目地址(已修复TIMService.ts)Bug:https://gitcode.net/fly1574/trtc-education-electron-fixed​​

3.2.2 设置即时通讯IM的 Web 端可同时在线个数

IM控制台:https://console.cloud.tencent.com/im​​

【新知实验室 TRTC&IM】实时互动课堂最佳实践_云计算_11


【新知实验室 TRTC&IM】实时互动课堂最佳实践_腾讯云_12



3.2.3 构建项目(使用云服务器)

这里使用的是一台云服务器(没有摄像头、麦克风),读者们也可以根据自己的情况使用本地的win电脑直接开发

3.2.3.1 构建环境

软件

版本

NodeJS

v16.13.1

git

2.25.1

yarn

1.22.15

vscode

1.73.1


3.2.3.2 克隆代码
git clone https://github.com/TencentCloud/trtc-education-electron.git

【新知实验室 TRTC&IM】实时互动课堂最佳实践_IM_13



#### 3.2.3.3 设置AppID和SK(记得保存) ```js 修改项目中的配置文件 src/main/config/generateUserSig.js

3.2.3.4 修改官方留的Bug

在运行这个demo的时候,还是出了一点bug的,到现在发现俩,也和腾讯的在线支持反馈了,他们说会更新,代码,但是博文发出时,github上的代码bug仍旧是没有修复,所以需要手动添加 .toString()

# 修改文件 
# trtc-education-electron\src\renderer\core\room-core\TIMService.ts
修改该文件的186、238行左右,如下

$ 修改前
this.groupID = groupID;
const realGroupID = groupID;
$ 修改后
this.groupID = groupID.toString();
const realGroupID = groupID.toString();

【新知实验室 TRTC&IM】实时互动课堂最佳实践_腾讯云_14


【新知实验室 TRTC&IM】实时互动课堂最佳实践_腾讯云音视频_15

3.2.3.5 安装依赖
$ cd trtc-education-electron/
# 安装yarn
$ corepack enable
# 查看yarn版本
$ yarn --version
# 指定 npm 国内镜像
$ npm config set registry=https://registry.npm.taobao.org/
# 指定 Electron 的国内镜像地址
$ npm config set ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
# 安装依赖
$ yarn

【新知实验室 TRTC&IM】实时互动课堂最佳实践_云计算_16

3.2.3.6 测试&打包

因为该云服务器没有摄像头和麦克风,这里的测试会失败,直接进行打包,然后将生成的.exe文件直接在本地电脑安装进行测试

# 如果需要先测试
$ yarn start

# 直接打包
$ yarn package

【新知实验室 TRTC&IM】实时互动课堂最佳实践_IM_17

3.2.4 在线课堂运行

必须先开启程序所运行主机的摄像头和麦克风权限

教师创建课堂

【新知实验室 TRTC&IM】实时互动课堂最佳实践_TRTC_18

【新知实验室 TRTC&IM】实时互动课堂最佳实践_腾讯云_19

学生安装程序后,加入课堂

【新知实验室 TRTC&IM】实时互动课堂最佳实践_腾讯云_20




四、总结

作为一个从来没有使用过TRTC的新人,快速跑通官方的演示案例还是很轻松的;在后面的那个TRTC&IM项目trtc-education-electron实时在线课堂,还是挺简单的,不过还是很意外的帮助官方发现了俩小bug。


整体看来上手TRTC还是很快,而且拓展性很强,还有一点就是腾讯云音视频的在线技术支持团队,的确反应很快速!好的产品离不开好的技术支持!


标签:新知,音视频,腾讯,3.2,3.1,IM,TRTC
From: https://blog.51cto.com/u_10523036/5976110

相关文章

  • java localDateTime
    #JAVA-LocalDateTime时间格式化,转换时间戳和源码分析##LocalDateTime`LocalDateTime`作为java8新加的时间类型,也是后面开发中常用的时间类型。作为时间类型,最关注的点......
  • sublime安装REPL无法执行python3.7版本
    一、下载sublime最新版本地址:SublimeText-TextEditing,DoneRight单击DOWNLOADFORWINDOWS需要等一会儿自己就下载了。  安装就是下一步就可以了。二、安装......
  • 启科量子或将开源环境部署工具Runtime
    截至2022年底,启科量子已完成开源多款量子计算软件产品,包括Qutrunk、QuBranch以及QuSprout等等。开源产品的行为旨在让更多的开发者、专家学者或爱好者参与到量子技术......
  • iOS开发之GPUImage研究总结,视频、图片等添加滤镜(转载)
    Partone:关于GPUImage这里直接引用官方描述:TheGPUImageframeworkisaBSD-licensediOSlibrarythatletsyouapplyGPU-acceleratedfiltersandothereffectsto......
  • 【python】抽象基类 from abc import ABC, abstractmethod
    abc模块作用Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助abc模块。ABC是Abstract BaseClass的缩写。假设我们定义一些抽象方法,然后子类继承的时候必须要重......
  • 直流电机模糊控制系统的MATLAB-Simulink仿真
    在工业现代化的发展当中,直流电机的使用非常广泛。对直流电机的控制也越来越重要,在现代的工业生产当中,对生产的过程控制要求比较严格,对生产出来的产品质量的要求也相当严格,这......
  • vim
     ......
  • VIM编辑器
    vim三种工作模式命令模式编辑模式末行模式vim的配置文件vi/etc/vimrc在最后一行添加一行setnu,这样打开每个文件都显示行号,即时生效命令模式#可视化模式,支持块......
  • Mybatis 的<trim>标签用法 prefix prefixOverrides suffix suffixOverrides
    <trimprefix=""suffix=""suffixOverrides=""prefixOverrides=""></trim>prefix:在trim标签内sql语句加上前缀。prefixOverrides:指定去除多余的前缀内容如:prefixOve......
  • vue 使用路由component: () =>import (‘ ‘)报错解决办法
    今天帮朋友调代码的时候,在人家的mac上面,项目没有任何错误,到我这里就出现component:()=>import(’')加载路由错误。发现是import处报错,import属于异步引用组件,需要......