基于WebRTC的课堂实时视频投影方法及系统与相关技术

本技术公开了一种基于WebRTC的课堂实时视频投影方法及系统,其特征在于,包括通过应用WebRTC标准分别在PC端和移动端配置应用程序,平板端应用负责在投影时开启平板电脑的摄像头和麦克风,用于采集视频和音频数据及数据编码,并基于WebRTC建立的点对点数据传输通道,将视频和音频以媒体流传输至PC端,PC端接收音视频数据的媒体流后,一方面执行对媒体流的播放,一方面执行对媒体流的保存和本地存储;同时支持移动端对PC 端视频播放的远程且实时控制。达到在无需搭建额外的流媒
体服务器条件下即可实现在局域网内视频实时传输及投影,省去了部署流媒体服务器的繁琐环节,降低了实时投影系统部署的复杂性的效果。
技术要求
1.一种基于WebRTC的课堂实时视频投影方法,其特征在于,包括通过应用WebRTC标准分别在PC端和移动端配置应用程序,平板端应用负责在投影时开启平板电脑的摄像头和麦克风,用于采集视频和音频数据及数据编码,并基于WebRTC建立的点对点数据传输通道,将视频和音频以媒体流传输至PC端,PC端接收音视频数据的媒体流后,一方面执行对媒体流的播放,一方面执行对媒体流的保存和本地存储;同时支持移动端对PC端视频
播放的远程且实时控制,具体实现步骤有:
步骤1:建立PC端应用和移动端应用之间的TCP控制命令通道;待移动端和PC端接入无线路由,使两者同处于一个局域网内后,基于TCP协议建立并保持PC端应用和移动端应用
之间的TCP通信;具体为:
步骤101:通过PC端应用的TCP服务模块启动TCP服务器,服务端口为第一端口,启动侦听是否有Pad端发送的连接请求;
锌溴电池
步骤102:启动PC端的UDP广播,UDP服务端口为第二端口,广播内容为:TCP服务端口(即第一端口)及当前PC端应用登录的用户账户;
步骤103:Pad端应用的TCP客户端侦听局域网的UDP广播,通过接收广播获取PC端的IP地址、服务端口及PC端应用登录的用户账户;
步骤104:根据IP地址,Pad端应用向PC端应用发送包含PC端应用登录账户信息的投屏连接请求;特别地,投屏请求选用protobuf编码为二进制数据;
步骤105:PC端的服务器响应连接请求,将请求中Pad端应用登录账号信息与PC端应用登录账号信息进行比对,如一致,反馈连接成功;如不一致,反馈连接失败;
步骤2:PC端和移动端向Websocket服务器请求连接,具体为:通过Websocket服务模块启动Websocket服务器,服务端口为第三端口,PC端和移动移动端向Websocket服务器发起登记请求,Websocket服务器接收请求后,分别为PC端和移动端各自生成身份登记ID号,作为PC端和移动端的唯一识别;Websocket服务器反馈已有的身份登记ID号及各客户端应用信息至PC端和移动端;
步骤3:待PC端和移动端接收到对方的身份登记ID号后,PC端和移动端通过交换WebRTCSDP信息建立实时双向传输视频的通道,即P2P通道;待移动端和PC端之间用于流媒体传输的P2P通道建立后,移动端产生的实时视频数据和音频数据在转化为流媒体数据能通过P2P通道直接传送至PC端;
步骤4:在移动端拍摄视频的过程中,待移动端捕捉到由用户点击“投影”按钮而触发生
成“视频投屏”指令时,向PC端发送“视频投屏”指令,指令中明确媒体编号及音量;PC端接收到指令,调用流媒体播放模块将流媒体流转为视频数据进行播放显示;
特别地,在PC端播放显示过程中,PC端流媒体录制模块对接收到的流媒体数据持续获取并记录保存,直至拍摄结束将记录的流媒体数据转为流媒体文件存储至本地;
步骤5:视频回放的实时控制:待需回放视频投屏时,在保证步骤4视频投屏正常的情况下,由移动端向PC端发送“视频回放”指令,告知PC端回放视频的文件名,PC端接收指令,根据文件名在本地数据库中查对应流媒体数据的存储路径,调取流媒体数据在流媒体播放器中播放;在回放视频投屏过程中,移动端通过发送进度控制指令、音量调节指令及播放状态指令,对PC端的视频进度、视频音量及视频状态进行实时控制。
2.如权利要求1所述的一种基于WebRTC的课堂实时视频投影方法,其特征在于:所述步骤2中,待PC端和移动端连接Websocket服务器后,PC端和移动端任一方从Websocket信令服务器的退出,均会通知另一方,视频投屏自动结束。
3.如权利要求2所述的一种基于WebRTC的课堂实时视频投影方法,其特征在于:所述步骤3的P2P通道建立过程具体包括:
燃烧炉
步骤301:移动端应用发起“启动投影”的指令,移动端应用自动开启摄像头及麦克风,采集实时产生的媒体数据,所述媒体数据包括视频数据及音频数据,并通过TCP控制指令通道通知PC端启动投影;移动端的Webrtc客户端模块生成SDP信息,消息参数包括媒体信息、传输协议及媒体流传输信息,其中媒体信息包括要交换的媒体类型、媒体格式及采样率;媒体流传输信息包括移动端地址及远程传输端口;
步骤302:移动端向Websocket服务器请求获取媒体流传输服务,告知服务器移动端SDP信息及接收媒体数据的PC端身份登记ID号;
步骤303:PC端应用接收到“启动投影”指令,PC端应用的Webrtc客户端模块生成SDP信息用于描述媒体信息、传输协议及媒体流传输信息,其中媒体信息包括媒体类型、媒体格式、媒体采样率;媒体流传输信息包括PC端地址及远程传输端口;
步骤304:PC端向Websocket服务器申请媒体传输服务,告知服务器PC端SDP及接收媒体数据的移动端身份登记ID号;
步骤305:Websocket服务器响应移动端和PC端的媒体传输服务请求,应用WebRTC ICE协议,通过交换双方的SDP信息完成P2P传输通道的建立;
步骤306:移动端采集的实时视频数据及音频数据按照SDP要求的媒体参数编码转换成P2P 传输通道支持的流媒体数据传输格式,并为当前获传输的流媒体数据生成唯一编号,即流媒体编号;PC端接收到流媒体数据后,调用流媒体录制模块对流媒体数据及编号进行记录。
乙酸正丁酯的制备4.如权利要求3所述的一种基于WebRTC的课堂实时视频投影方法,其特征在于:在所述步骤4中,在PC端播放显示过程中,PC端流媒体录制模块对接收到的流媒体数据持续获取并记录保存,直至拍摄结束将记录的流媒体数据转为流媒体文件存储至本地。包塑轴承
5.如权利要求4所述的一种基于WebRTC的课堂实时视频投影方法,其特征在于:所述步骤4的视频投屏过程中,待移动端捕捉到由用户点击“取消投影显示”按钮而触发生成“停止投屏显示”指令时,向PC端发送“停止投屏显示”的指令,指令内容中明确流媒体编号,移动端拍摄的视频和获取的音频仍旧转为流媒体传输至PC端;PC端调用媒体录制模块对接收到的流媒体数据持续获取并记录保存,但停止调用流媒体播放模块对视频的播放显示;
待移动端捕捉到由用户点击“终止投影”按钮而触发生成“视频传输终止”指令时,向PC端发送“视频传输终止”指令,指令内容中明确流媒体编号,PC端将媒体播放器记录的视频转为流媒体文件,格式为webm,写进本地磁盘,文件名以结束时间命名,精确毫秒,同时记录流媒体文件的存储路径和流媒体编号;PC端将本地保存的流媒体信息反馈至移动端,包括流媒体文件名、录制时长。多元合金
6.如权利要求5所述的一种基于WebRTC的课堂实时视频投影方法,其特征在于,在所述步骤5的视频回放的实时控制中包括:
所述视频进度实时控制:PC端视频的正常进度变化通过TCP控制指令通道会实时反馈移动端,当移动端出现进度条移动操作进而触发移动端生成“进度变化”指令时,移动端将进度变化状态和当前进度条的位置信息组合成进度控制指令,通过TCP控制指令通道发往PC端;待PC端接收指令后,流媒体播放器模块根据当前进度条位置信息将视频进度移动至相应位置继续播放;
所述视频音量实时控制:音量条移动操作触发移动端生成“音量调节”指令,移动端将音量变化状态和当前音量组合成音量控制指令发往PC端,通过TCP控制指令通道发往PC端;待PC端接收指令后,流媒体播放器模块根据当前音量将音量条移动至相应位置继续播放;
所述视频状态实时控制:点击操作触发移动端生成“视频状态变化”指令,包括视频停止和视频播放,移动端将播放和停止控制指令发往PC端;待PC端接收指令后,流媒体播放器模块按照指令内容控制播放器执行视频暂停和视频播放。
7.如权利要求6所述的一种基于WebRTC的课堂实时视频投影方法,其特征在于,所述步骤3的P2P通道建立过程中,移动端应用产生的SDP信息为:(1)音频数据-opus编码-UDP传输协议-采样率48000;(2)视频数据-VP9编码-UDP传输协议-采样率:90000。
8.一种根据权利要求1-7之一所述方法运行的基于WebRTC的课堂实时视频投影系统,其特征在于,由PC端应用和平板电脑端应用组成,其中PC端应用的功能模块包括:TCP服务模块、Websocket服务模块、Websocket客户端模块、Webrtc客户端模块、流媒体录制模块、媒体播放模块;平板电脑端应用的功能模块包括:TCP客户端、Websocket客户端模块、Webrtc客户端模块;
PC端和移动端通过接入同一个无线路由器,使两者同处于一个局域网内;
移动端的TCP客户端连接于PC端的TCP服务模块,用于视频控制指令的传送及接受;移动端的Webrtc客户端模块连接于PC端的Webrtc客户端模块形成视频传输通道;移动端的Websocket客户端模块和PC端的Websocket客户端模块均连接于PC端的Websocket服务模块进行连接登记,是视频传输通道的建立基础;
所述TCP服务模块,用于响应由TCP客户端发往TCP服务器的连接请求及向TCP客户端发送视频控制指令;
所述Websocket服务模块,用于管理接入Websocket服务器的Websocket客户端;
所述TCP客户端,用于TCP连接服务请求发送及对视频控制指令的响应;rj45防水接头
所述Websocket客户端模块,通过向Websocket服务器请求连接,辅助

本文发布于:2024-09-22 04:11:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/150939.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:视频   移动   媒体   数据   模块   流媒体   应用
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议