您好, 访客   登录/注册

基于P2P流媒体远程教学系统的设计与实现

来源:用户上传      作者:

  [摘 要] 本文在介绍P2P技术和多媒体网络传输方式和协议的基础上,以DirectShow作为音视频播放框架、重点分析了DirectShow在多媒体开发环境下的结构以及其优化方案,特别是过滤器的设计。最后,本文说明了系统整体设计方案和部分详细设计,对系统的使用作了说明。
  [关键词] P2P 流媒体 远程教学
  
  1.引言
  随着新的科学技术对教育技术的影响越来越深刻,社会和经济的新需求对传统教育技术也提出了越来越严峻的挑战,传统的教学模式已经难以满足现代社会对教育的需求。现代远程教学系统可以很好的解决这一问题。网络教学用户的急聚增长和多媒体教学需求的同时出现,传统的基于C/S模式和B/S模式的远程网络教学显示出了诸多问题。流媒体和P2P网络两种技术的出现和已有的发展有效的解决了上述问题。基于P2P的流媒体技术采取一边下载一边播放的方式,点对点音视频播放的实现,能够较好地解决远程教学系统对多媒体信息和传输及时性的特点。基于P2P的流媒体远程教学系统的研究与实现,将会极大地推动远程网络教学的发展,实现教育资源尤其是稀缺教育资源的共享。还能有效地解决目前国内教育资源紧张的局面,为更多的人快捷方便地接受教育提供了坚实的技术保障。
  2.P2P技术
  2.1 P2P技术定义
  P2P( peer-to-peer)即点对点。如今在业界,比较认同的P2P计算应用系统的目标主要有以下几类:1.信息、服务的共享与管理 2.协作工作 3.构建充当基层架构的互联网络系统。图2-1显示了P2P结构。
  
  图2-1 一般P2P结构示意图
  2.2 P2P的网络优势
  与传统的中心化结构相比较,P2P技术的优势主要体现在以下几个方面:
  ① 非中心化(Decentralization)
  ②可扩展性
  ③健壮性(robust)
  ④高性能/价格比
  ⑤隐私保护
  ⑥负载均衡
  3.流媒体及网络协议
  3.1流媒体理论基础
  流媒体格式是指采用流式传输的方式在Internet上播放的媒体。流式传输方式是先将整个A/V及3D等多媒体文件经过特殊方式的压缩处理,再分成一个个压缩包,由视频服务器向连接的用户计算机端连续、实时的传送。在采用流式传输方式的系统环境中,用户并不必像下载普通文件那样等到整个文件全部下载完毕,因为目标文件被分割成了多个小的文件,故只需经过几秒或几十秒的启动延时后,在用户的计算机上利用解压设备(硬件或软件)即可对压缩的A/V、3D等多媒体文件解压后实现实时播放和观看。而此时多媒体文件的其他剩余部分将在后台的服务器内继续执行下载。
  3.2 流媒体的传输
  实现流式传输当前基本有两种方法:实时流传输(Realtime streaming)和顺序流传输(Progressive streaming)。一般来说,如果视频为实时广播,或使用的是流式传输媒体服务器,或应用的是如RTSP类实时协议时,即为实时流式传输。本系统在不同情况下采用不同的方式。当然,流式文件也支持在播放前完全下载到硬盘。图3-1 说明了流媒体传输是基本原理。
  
  图3-1 流媒体传输基本原理
  3. 3传输协议
  (1)RSVP:资源预留协议
  它是一个信令协议,用于在流(flow)所经路径上为该流进行资源预留。
  (2)RTP:实时传输协议
  RTP协议详细描述了在互联网上传递的音频和视频的标准数据包格式。
  (3)RTCP:实时传输控制协议
  RTP 控制协议(RTCP)采用与数据包相同的分发机制,会将控制包周期性地传输给所有会话参与者。
  (4)MMS:微软流媒体服务协议
  MMS是一种串流媒体传送协议,用来访问并流式接收Windows Media服务器中.asf格式文件的一种协议。
  (5)RTSP:实时流传输协议
  RTSP协议定义了如何让一对多应用程序有效地通过IP网络传送多媒体数据。
  (6)MIME:多目因特网电子邮件扩展协议
  4.系统设计与实现
  4.1系统整体设计
  该远程教学系统使用的是基于P2P的流媒体视频传送技术,它需要连接教师端和学生端。在技术架构阶段面临的主要问题是:网络模型该如何设计和建立分层,以保证系统在功能上的实现和运行上的健壮性,并且能够将网络上所有可用的资源整合进来。
  4.2详细设计
  (1)功能设计
  由系统的宏观设计可以看到,系统的服务器端和客户端是相互对应的,我们进而将服务器端和客户端分为教学管理、系统管理、交流协作管理三个大的功能模块,再根据各自的对象具体细化。
  (2)服务器端
  服务器端的设计大概可划分为五个部分:用户管理模块、主控制模块、媒体管理模块、数据传输模块和数据接收模块。当服务器端接收到了采集到的音频、视频和屏幕等数据后,就会向所有客户端进行某一形式的转发,并进行相应的音视频文件和客户端相关的信息管理。对于本系统,只需要求服务器为少部分客户端直接发送数据,那么服务器端发送数据到客户端的方法就有所不同。又因为是在频道模块中实现数据发送控制功能,所以只需要对频道模块作出一定的修改,使得频道模块满足可以有所选择的给客户端直接发送数据。
  (3)客户端
  实质上客户端才是P2P模式的真正魅力所在。在P2P模式中客户端不是独立静止态,它还要和其它客户端进行信息交流,故要具有数据发送模块,用户管理模块,数据请求控制模块和缓冲区映射模块。
  (4)数据库表设计
  本教学系统采用的是MySQL Server 5.1数据库服务器,因为本系统的存储数据量不会太大,且此数据库属免费产品,技术也比较成熟。且数据存储涉及到的人员也不多,故只需要四张数据表组成,分别为:管理员信息表,学生客户端信息表,资源信息表,源节点信息表。
  4.3 终端音视频子系统框架
  在进行多媒体编程时主要存在如下几个挑战:(1)多媒体流包含着大量的数据,这些数据又要求进行快速实时的处理;(2)音频、视频必须同步,以使它们在相同时间开始、停止,以相同的频率进行播放;(3)数据源的格式很多,比如音频、视频交叉存取的(AVI)、高级流格式(ASF)、运动图像专家组(MPEG)和数字视频(DV);(4)程序员不能预先知道在用户终端系统存在的硬件设备。
  DirectShow就是设计来解决这些挑战的。DirectShow能将应用程序从复杂的数据传输、硬件区别和同步隔离起来,从而达到了简化在Windows平台创建数字媒体程序任务的目标,这也是本文采用DirectShow作为主要支撑技术的理由。
  DirectShow提供的Filters支持捕捉,以及基于Win32驱动程序模型(WDM)的调频设备,Filters还支持旧的Video for Windows(VFW)捕捉卡,甚至是为音频压缩管理(ACM)编写的编解码器以及视频压缩管理器(VCM)接口。
  5.总结
  本文结合目前各学校对多媒体网络教学系统的需求,给出了一个基于混合型P2P网络的多媒体网络教学系统设计方案,并做了部分实现,在系统设计过程中还提出了一些新的改进和补充。通过对一系列网络模型的实验测试,最终找到了适合于教学系统的最优实施方案,特别是网络协议的选择,通过多组实验结果的比较,确定了基于UDP的RTP/RTCP协议的联合方案。
  [1]参考文献:
  伍华健.P2P技术在远程教育系统开发中的应用研究[J].计算机科学.2006,3(39):287-290.
  [2]王春东.现代远程教育之网络技术研究与探讨.计算机应用研究.2001(7):45-47.
  [3]中国互联网络信息中心CNNIC,中国互联网络发展状况统计报告,第十七次调查统计,主持单位:国务院信息化工作办公室2006年1月.
  [4]L Busse, B.Deffner.Dyn Amic QoS Control of Multimedi A Applic Ations B Ase Computer Communic Ations 1996 23:1-34.
  [5]刘亚杰等.P2P流媒体内容分发关键技术研究:[工学博士论文].国防科学技术大学研究生院,2005.
  作者简介:
  曾凌静,1983年6月,女,汉,福建省福州市,讲师,硕士,研究方向:计算机应用,数据库开发。
  王凤妮,1973年7月,女,汉,山西省芮城市,讲师,硕士,研究方向:信息化建设,数据挖掘。


转载注明来源:https://www.xzbu.com/8/view-48407.htm