分类筛选
分类筛选:

交流类毕业论文怎么写 与基于WebRTC的学习交流平台的设计和实现相关开题报告范文

版权:原创标记原创 主题:交流范文 类别:专科论文 2024-03-14

《基于WebRTC的学习交流平台的设计和实现》

该文是交流类有关在职开题报告范文跟学习交流平台和WebRTC和设计相关专升本毕业论文范文。

摘 要:基于网络实时通信(WebRTC)开源技术,设计了音视频学习交流平台的结构和工作界面,在传递语音和视频的同时,可以根据需要自由切换窗口和调节音量.分析了学习交流平台的工作流程,使用Chrome 浏览器和高位摄像头,借助Jascript 调用WebRTC 的Web API 接口,建立一个音频和视频交流平台,实现几个同学之间的学习交流.通过多次使用证明,学习交流平台达到了预期的良好效果.

关键词:WebRTC;Chrome;视频交流平台

中图分类号:TP393.08 文献标志码:A 文章编号:1008-1739(2018)06-65-3

0 引言

Google 的网络实时通信技术可以实现2 台计算机之间建立直接的音视频通信,而Chrome 浏览器支持WebRTC 技术,所以可以使用Chrome 浏览器建立直接的通信,包括音视频和其他数据[1].

基于这种技术,发送方使用摄像头和麦克风捕获本地的语音和影像视频,然后对音视频进行编码并传输到对方,接收方收到音视频后按照指定的方式播放,即可以建立2 个用户之间的音视频交流.通过一台服务器将一个小组内几台计算机的地址信息相互传递,小组内所有计算机按照这个地址信息两两之间建立连接,这样就可以实现一个学习小组的几个同学之间的视频交流了.

1 WebRTC

WebRTC 是Google 提供的开源技术,目的是让开发者能够基于浏览器,轻易快捷地开发出丰富的实时多媒体应用.主要技术包括语音和视频的搜集、编解、网络传送及接收等功能,并且还支持在多种平台上运行[2].WebRTC 提供的WebAPI 是面向浏览器的接口,Web 开发者使用这些接口,无需关注多媒体的数字信号处理过程,只需编写简单的Jascript 程序,就可实现浏览器之间的音视频通信,WebRTC 体系结构如WebRTC 提供的面向浏览器的接口(Web API)有3 个.

(1)MediaStream

MediaStream 能够通过设备的摄像头及话筒获得音视频的同步交流,并且可以通过参数设置获得视频流的高度、宽度和清晰度[3].

MediaStream 对象又叫做getUserMedia 对象,它包含一个或多个单独的轨道(MediaStream Track).同属于一个MediaStream 的Track 间彼此同步.输入源可以是物理设备,如麦克风、网络摄像机及来自用户硬盘或远程网络对等点的文件.MediaStream 的输出可以被发送到一个或多个目的地,用JaScript 进行后期处理,或者发送到远程节点.

(2)RTCPeerConnection

通过这个接口,可以在2 个浏览器之间直接建立点对点之间稳定、高效的音视频流信道[4].功能包括:① 负责整个ICE流程;② 负责发送automatic(STUN)keepalives,保持Peers 的连接[5];③ 管理本地媒体流;④ 管理远程流;⑤ 触发各种跟媒体流有关的事件;⑥ 提供offer、answer 及连接状态查询等.

(3)RTCDataChannel

在RTCPeerConnection 的基础上建立了一个数据通道,使得浏览器之间能够传输任意数据[6].

2 学习交流平台的设计

学习小组的视屏交流界面设计是在浏览器的页面中设置一个长方形的区域,放置参加交流的用户的视频,每当有新用户加入学习小组,会依次将其视屏窗口加入到交流区域,如图2 所示,上部是用户的名字,名字右边是最小化和最大化按钮,中间是用户的视屏,底部是视频的声音大小调节滑块控件.

学习小组的用户在视频学习交流时,为了方便演示交流,配置了一个高位的摄像头,从上向下拍摄,将桌面上的试题和演算过程拍摄下来,这样其他用户就可以很清楚地看到解题过程.

当某个同学发言讲解的时候,可以点击他的视频窗口的最大化按钮,将其窗口放大,视频看得更清楚.例如B 同学开始讲解,将他的窗口最大化,其他同学的窗口缩小,如图3 所示,当其他同学发言讲解的时候,可以点击其他同学窗口的最大化按钮来切换.

3 交流平台的实现

Google 不但提供了WebRTC 技术,还给出了不少实用的demo.这些demo 展示了如何搭建语音视屏交流平台,其中在GitHub.com 网站上就有不少.通过分析demo 的流程,并结合学习小组的实际需求,设计了学习小组交流平台的工作流程,如图4 所示.

服务器端提供Web 服务和信令服务,在Windows Server2008 上分别使用IIS 和Node.Js 的WebSocket 模块搭建,Web服务器端编程语言使用asp.net,数据库使用SqlServer.而客户端平台使用Win7 系统和Chrome 浏览器,编程语言使用Jascript 调用WebRTC 的接口.部分关键代码如下:

var getUserMedia 等于……// 声明音频视频捕获对象

var PeerConnection等于……// 声明音频视频传输连接对象socket 等于 new ReconnectingWebSocket (server);// 连接到websocket 服务器

function createPeerConnection()// 创建音频视频连接对象

function addStreams()// 捕获本地音频视频流,并添加到PeerConnection

PeerConnection.onaddstream 等于 function(evt){……}//

接收到对方发来的音视频流,将视屏窗口添加到浏览器的交流区域,系统实际运行结果如图5 所示.3 个同学进行学习交流,摄像头高位向下拍摄,可以捕获书桌上的试题图像和同学的语音.当某位同学讲解题目时,将其窗口最大化,可以看到清楚的画面,同学之间可以交流学习内容.图5 交流平台系统实际运行结果

4 结束语

通过Google 的开源技术WebRTC, 使用摄像头和Chrome 浏览器,并参考GitHub.com 网站上的示范,搭建了一个高中同学课后视频交流学习的平台,非常的简单有效,利用有限的课后时间达到了同学们互相学习的目的.在平台的多次使用过程中,发现存在一些缺陷,例如参加小组学习的同学不能太多,最好3~4 个人,如果人数太多,会造成视频传输不流畅的现象.另外,如果使用音箱播放声音,就会有回音噪声,所以最好使用耳机,总体来说平台还是很实用的.

参考文献

[1] Ristic D.Learning WebRTC[M].北京:电子工业出版社,2016.

[2] Johnston A B.WebRTC 权威指南[M].北京:机械工业出版社,2016.

[3] 张向辉,黄佳庆,吴康恒,等.基于WebRTC 的实时视音频通信研究综述[J].计算机科学,2015,42(2):1-6.

[4] 林鸿,王松,杨鑫等.基于WebRTC 技术的应用及平台技术开发与设计[J].电信科学,2013(9):20-25.

[5] 屈振华,李慧云,张海涛,等.WebRTC 技术初探[J].电信科学,2012(10):106-110.

[6] 郭旭.基于MOOC 的在线教学实验平台的设计与实现[J].计算机工程与设计,2016,37(2):545-550.

交流论文参考资料:

论文交流

学术交流杂志社

中外交流期刊

学术交流杂志

跨文化交流论文

此文点评,这是适合学习交流平台和WebRTC和设计论文写作的大学硕士及关于交流本科毕业论文,相关交流开题报告范文和学术职称论文参考文献。

和你相关的