腾讯云音视频互动课堂trtc,实现逻辑,服务端混流逻辑
roomId(classId)房间ID
创建房间:
-- RoomID
RoomID(房间号/房间ID)用于在一个 TRTC 应用中唯一标识一个房间。RoomID 是由开发者自行维护和分配的一个 uint32 范围内的数字,取值区间:1 - 4294967295。
--------------------------------------------------------------老师端逻辑--------------------------------------------------------------
1createRoom -- 其实是创建私有群组 -- this.tim.createGroup 然后将老师teacherUserID设置成当前老师的user_ID,然后将this.tim 实例化,并会往后面的组件传递
2--进入课堂界面,点击开始授课 -- rtcClient.enterRoom ,这里调用trtc_edu_sdk.enterRoom 逻辑
3分为老师和学生
如果是老师:
那么调用_enterRoom ,这里是设置成主播,可以上行视频和音频,并且 设置场景 :视频通话场景,支持720P、1080P高清画质
--------------------------------------------------------------学生逻辑--------------------------------------------------------------
1学生进入课程,也进入rtcClient.enterRoom ,这里调用trtc_edu_sdk.enterRoom 逻辑
如果是学生:
调用 edu_sdk._joinGroup先加入im群组,然后调用_enter_romm,也设置成设置成主播,可以上行视频和音频,并且 设置场景 :视频通话场景,支持720P、1080P高清画质
eg:TRTC 采用 UDP 协议进行传输音视频数据,而标准直播 CDN 则采用的 RTMP\HLS\FLV 等协议进行数据传输,
所以需要将 TRTC 中的音视频数据旁路到直播 CDN 中,才能在让观众通过直播 CDN 进行观看
----------也就是说学生进入房间,学生老师都是走的trtc低延迟模式,使用udp传输
--------------------------------------------------------------互动逻辑--------------------------------------------------------------
互动逻辑:
1、开放举手
老师端通过IM聊天室全员聊天功能发送特殊语义实现 -- edu_sdk sendGroupCustomMessage 调用im_sdk sendMessage 发送cmd: 1
客户端订阅im消息 -- this.tim.on(TIM.EVENT.MESSAGE_RECEIVED, this._onIMMessageReceived.bind(this)) 解析参数 如果是 1,触发事件 QUESTION_TIME_STARTED,调用学生端的事件处理
函数,打开举手功能。
2学生端发送cmd_2, 触发studentRaiseHand函数
3老师端接受到cmd_2,可以指定学生上台发言,然后指定学生发送cmd_3
4该学生端收到cmd_3 -- 打开麦克疯 this.openMicrophone();触发事件this._emitter.emit(EVENT.BE_INVITED_TO_PLATFORM, item)
end --开始连麦
教师端显示学生视频的修改------------------------
1.学生端cmd === 3 会触发事件 BE_INVITED_TO_PLATFORM ,然后学生端,事件回调里面调用 const domEle = document.getElementById('teacherLocalVideo');
rtcClient.openCamera(domEle, TRTCVideoResolution.TRTCVideoResolution_270_270);开启摄像头
2.老师端点击上台,然后监听上台事件REMOTE_VIDEO_ADD,如果有人上台,调用显示远端画面showVideo
3后台im调用create_group创建群组并制定群主
4在老师点击授课进入房间时,请求后端发起混流请求 -- StartMCUMixTranscodeRequest()
-----------------------------------------------------老师断线,重进问题---------------------------------------------------------------
0.学生端监听到老师掉线,停止所有麦克风和视频推流
方案1.老师掉线需要重新进入课堂,点击开课,然后需要开始视频和分享屏幕推流,在这一步,可以加入学生画面
方案2.重新开始举手和上台
-------------------------------------------------------混流逻辑---------------------------------------------------------------
1.开启旁路直播,设置参数。
2.客户端进入enterRoom的时候,设置参数steamId ---- steam设置规则 ‘skb_’+ 房间ID,并向客户端发起混流请求
3.服务端请求腾讯云混流接口并设置混流模式和steamId
4.客户端播放,拼接url http://liveplay.shikaobang.cn/live/skb_房间ID.flv
腾讯云音视频互动课堂trtc,实现逻辑,服务端混流逻辑相关推荐
- 云创平台+播放器SDK,腾讯云音视频新工具助力视频生产、终端能力全面升级
腾讯云音视频围绕在线视频生产和终端播放能力推出新工具. 6月28日,在"TechoDay腾讯技术开放日"活动现场,腾讯云音视频发布"腾讯云视立方·播放器SDK" ...
- 【新知实验室】——腾讯云音视频TRTC初体验
一.产品简介 腾讯实时音视频(Tencent Real-Time Communication,TRTC)是腾讯以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发 ...
- 一站式体验腾讯云音视频及融合通信技术
对于一款音视频产品,从底层编解码.到传输网络.到平台架构.再到用户终端,无一不决定产品"生死",与此同时,伴随用户数量的提升和对观看体验的不断提高,如何融合AI技术.优化算法.利用 ...
- 【新知实验室】手把手实现腾讯云音视频应用
腾讯云音视频是什么? 腾讯云音视频(TRTC)提供一站式视频解决方案,包括点播直播.实时视频通话.短视频等视频服务,广泛应用于在线视频.电商.游戏直播.在线教育等场景.实时音视频基于腾讯21年来在网络 ...
- 实战内容(14)- 音视频技术如何为元宇宙提供全真稳的全新体验之漫话腾讯云音视频
目录 引言 多年积累后的"全真稳"腾讯音视频 多面手,腾讯云音视频的有多"全"? 身临其境,腾讯云音视频有多"真" 固若金汤,腾讯云音视频有 ...
- 【免费活动】解析腾讯云音视频通信三大核心网络技术实战与创新
随着互联网的发展越来越成熟,移动终端成为我们人手必备的生活用品,云计算的普及与高速发展,4G.5G网络的瓜熟蒂落,我们真正的进入了全真互联网时代.2020年,一场突如其来的疫情,很多传统行业不得不将线 ...
- 解析腾讯云音视频通信三大核心网络技术实战与创新
随着互联网的发展越来越成熟,移动终端成为我们人手必备的生活用品,云计算的普及与高速发展,4G.5G网络的瓜熟蒂落,我们真正的进入了全真互联网时代.2020年,一场突如其来的疫情,很多传统行业不得不将线 ...
- 腾讯云音视频及融合通信技术
随着直播.游戏.电商.VR等场景的普及,基于音视频的实时娱乐社交.3D虚拟直播.AI视频招聘.元宇宙等新场景也纷纷涌现,下面一起走进音视频的世界. 腾讯云音视频产品,从底层编解码.到传输网络.到平台架 ...
- Java集成腾讯云音视频录制功能
Java集成腾讯云音视频录制功能 为什么要实现音视频录制功能 因为我们做的是一个医院的项目,医生和患者可能进行视频通话和语音通话,为了保证通话的质量以及后续的问题, 我们就需要进行音视频录制,以便后续 ...
最新文章
- 移动时代的互联网格局变化
- python 扑克牌中的顺子
- iis php 数据库乱码,如何解决php插入数据乱码问题
- 错误:不能继续进行下一步操作 openfire 设置._如何为MacBook或Mac电脑恢复出厂设置...
- decorator php,php设计模式 Decorator(装饰模式)
- Kafka的rebalance机制
- 蚂蚁的开放:想办法摸到10米的篮筐
- Algorithm:递归思想及实例分析
- [转]优秀的女孩是没有性生活的
- ORACLE ASM 转自三思笔记
- SeaweedFS安全配置(Security Configuration)
- java 实现打印机_JAVA实现连接本地打印机并打印文件的实现代码
- Mesh平滑处理的几种算法比较
- 论文阅读《PatchMatchNet: Learned Multi-View Patchmatch Stereo》
- maven-surefire-plugin常用配置
- 谁是靠算法挑战华尔街的赌神?
- KDC Server安装
- python爬取LOL皮肤
- 冬至时节饮食养生要注意“三多三少
- 每日打卡:等式方程的可满足性
热门文章
- MARG航姿系统的基本理论及工作原理
- mtk6595资料帖和问题帖集合
- 前端培训,丁鹿学堂和达内浅析
- 免费的天气查询 API 接口分享
- hdu 2189 悼念512汶川大地震遇难同胞——来生一起走
- LIN总线:主动进气栅格系统执行器(AGS/AGM)
- 【Android】高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法
- 1-关于单片机通信数据传输(中断发送,大小端,IEEE754浮点型格式,共用体,空闲中断,环形队列)
- 400个可以发外链的网站
- Mac电脑到底该用什么下载软件?Folx苹果电脑专用