您的当前位置:首页正文

流媒体技术在校园教学直播系统中的应用

2021-06-07 来源:我们爱旅游
2011年9月 太原大学学报 Journal of Taiyuan University 第12卷第3期总第47期 文章编号:1671—5977(2011)03—0123—03 流媒体技术在校园教学直播系统中的应用 李雪梅 (太原大学摘计算机工程系,山西太原030009) 要:在校园范围内充分利用网络资源,采用多媒体教学方法,将会给教学改革和教学手段带来新的生 机和活力,能够创造出更加生动的教学环境,这可在很大程度上提高学生的学习积极性,以太原大学计算机工 程系网站为例,把系部教师教学的视频文件和精品课程通过流媒体服务器放到系部网站上,可供学生学习、教 师交流。 关键词:流媒体;校园教学;网络教学;直播系统 中图分类号:TP317.5 文献标识码:A 近几年来,作为教育的一种形式,流媒体技 动的视频进行采集;针对学校提出的毕业生“双 术应用在网络教学上,使得传统课本式的教学和 证书”政策,可以把考证培训课程及其相关资料 单纯的多媒体教学方式变得更加生动形象,学生 的视频文件存储在服务器上;大量的多媒体课件 在正常上课之余可以利用校园网络根据自己的 制作成课程媒体库;国家重大事件的视频文件录 需求不限时间和地点,巩固本专业课程和选修课 制下来或进行合法的链接。 程。这在某种意义上,适应了多技能应用型人才 现有的教学资源和计算机工程系现有的网络资 源相结合,旨在立足本系面向全校,为教师和学 为了实现以上目标本系统主要采用了以下 基于RTP/RTSP协议实现音视频数据的传输。 的培养目标。校园教学直播系统是与太原大学 技术: 基于MPEG4IP项目进行二次开发,实现符合 MPEG4标准的音视频数据。实现不同带宽用户 对视频质量的需求。 基于SDL技术实现在Linux平台显示播放。 生提供一个更好的教学交流、知识学习的平台。 1校园直播系统的内容 基于太原大学计算机工程系的教学特点,本 文简单介绍了流媒体技术在太原大学校园教学 2流媒体直播系统的实现 直播系统中的具体应用。直播系统突破了计算 通过流媒体直播系统的设计与分析,直播服 机工程系常规的教学模式,学生在校园网上可直 务器在具体实现上共分为如下几模块:音频采集 接在线观看教师授课全过程、学校各项活动的视 和编码模块;视频采集和编码模块;网络传输模 频资料以及各高校名师授课资料;系统管理员可 块;管理员模块;基础组件模块。 以对已存储的音视频文件进行管理。本系统将 首先经过音视频采集、编码,然后通过R1 P/ 主要实现以下几点: RTSP协议进行网络传输。对于直播,每当一个 1)对于学校组织的校级精品课程的评比,可 客户端与服务器相连时,服务器就会为这个连接 将各系部制作好的精品课程的授课视频以及多 建立一个流控线程,进行单播服务。文件存储可 媒体课件统一传输到直播服务器上。教师可以 以用来存放未编码的音视频文件或者已经编码 在线观看的形式替代现场集中听课的模式。 的音视频文件,被存储文件的扩展名是.mpa。 2)由于视频文件容量较大,系统管理员可将 2.1音视频功能的实现 相关资料提前存储在服务器上,教师在上课时可 2.1.1音频采集编码模块¨ 以直接使用直播系统服务器上的视频资源。 系统管理员可以把学校组织的一些大型活 主线程函数 系统建了整型函数AudioSource:ThreadMain, 收稿日期:2011-06.12 作者简介:李雪梅(1981一),女,山西昔阳人,太原大学计算机工程系助教。 ・123・ 主要用来调用SDL库检测消息队列信号量,看是 的成员函数,其功能是在消息队列中插入数据 否有消息存在,如果存在的话,则读取消息队列 帧:引用计数加1,表示当前的媒体帧又被一个媒体 中的消息,之后开始处理各种消息。各种消息包 接收端所引用,同时还发送了一个媒体帧的指针。 括:线程停止消息;开始捕捉音频消息;停止捕捉 2.2网络传输的实现 音频消息;处理音频帧。 初始化 网络传输 由RtpTransmitter类实现RTP传输,功能是 音视频设备在开始采集数据前应该进行各 从消息队列中获得数据,实现各种帧类型的RTP 方面的初始化,检查音.视频设备的各项参数是 打包并向网络发送。 否满足采集的要求。对音视频数据进行采集以 数据流的控制 J 及编码,以适应网络传输的需要。初始化部分提 供了3个实现方法:boolAudioSource::Init(void); bool AudioSource::InitDevice(void);boo1 Audio— Source::InitEncoder()o 音频帧的处理 音频帧的处理包括从音频设备中读取音频 帧并对音频帧进行编码。提供了voidAudio— Source::ProcessAudio();U—int16一tAudioSource:: ForwardEncodedFrames();和boolAudioCapabilities:: ProbeDevice()等7种方法来支持音频帧的读取、 编码和发送。 2.1.2视频采集编码模块 主线程函数 通过建立主线程函数VideoSource:ThreadMa- in,用来响应各种消息。系统首先调用SDL库检 测消息队列信号量,看是否有消息存在,然后等 待消息,获取消息,根据不同的消息将会进入不 同的操作函数:停止捕捉消息;开始捕捉消息;产 生关键帧消息;接着处理一秒钟的视频,然后返 回看有没有新消息,如果有,则处理消息;如果没 有接着处理视频。 初始化 提供5个方法来实现设备编码器的初始化。 视频编码 这部分主要注意由于积累的时间漂移,实际 编码时间可能和我们预定的有差别,如果实际编 码时间超过预定编码时间很多的话,则需要丢 帧。特别要考虑:是否把当前帧置为1帧;哪些是 我们需要的帧;经过剪切后的原始帧的大小;剪 切后图像大小发生改变,所以剪切后的图像相对 于原始图像会有偏移;U/V的偏移等指标。由于 视频数据格式H.264和MPEG格式工作原理类 似,建立有类H264LvideoEncoder和类MPEGVideo— Encoder。这里要说明的是,在音视频采样、编码模 块中均有函数EnqueueFrame(),是MediaFrame类 ・124・ 本模块由MediaFlow类实现,作为AVLiveMe- diaFlow的父类,它提供了流媒体启动,流媒体结 束,设置流媒体的参数,以及获得流媒体当前状 态的函数接口。 2.3 系统管理员功能的实现 2.3.1管理员操作的实现 . CONFIG模块 定义config文件中的config变量;定义获取 以及设置参数的函数接口;定义音视频帧的参 数;系统参数变量 2.3.2文件存储部分的实现 由RMVBRecorder记录媒体类实现,其功能 是记录原始音视频或者编码后的音视频。存储 后的文件扩展名为.rmvb。在这里用到函数:void RMVBRecorder::DoStartRecord()和void RMVBRe— corder::Write2250Hints(CMediaFrame pFrame)。 2.3.3线程功能的实现 由ThreadDealer类实现。在这个类中定义了 创建线程的函数。 2.3.4辅助函数 管理员功能中还有一些辅助函数,目的是更 加完善直播系统功能的实现。 2.3.5管理员操作功能的实现【3 2.3.5.1管理员主界面是通过GTK实现该功 能。说明如下: 进入太原大学网站进入计算机工程系网页,点 击“精品课程”进入直播系统网页。如图1所示。 图1太原大学计算机工程系网页 从网页上点击设置进入如下图2的界面。 放器加载对应的显示模块,这样可以避免多线程 间线程安全性问题。在播放器中,对显示模块中 的函数的调用是通过在初始化时获得动态链接 库中函数句柄来完成的。 首先,初始化数据库,然后通过GetSDLProc 函数获得库中的函数。 2.3.5.3流控线程的实现 本模块主要是用来监听客户端发送的连接 请求,连接一旦建立将会为客户端建立一个流控 线程,通过这个流控线程可以启动RTP传输为客 图2程序运行主界面 户端传送音视频数据。流控线程模块在gui— 从界面的左上角空出部分将会看到预览的 main.cpp文件中。 视频。根据控制,它可能是未压缩的原始流,也 3 总结 可能是编码流。 系统以太原大学现有的网络系统环境为基 在“控制条”部分,可以通过“时间”和“小 础进行直播服务系统的设计,简化了设计过程, 时”设定服务器的工作时间。点击“开始”,将会 提高了设计效率。短期内完成了一个功能较为 开始点播和多播功能。点击“退出”,中止服务, 齐全的流媒体直播系统。随着流媒体信息数据 退出主界面。 的不断充实,该系统有望给学生和教师提供一个 在“状态框”,将可以实时监控音视频的编码 很好的学习和交流的平台。当然,通过此平台也 率和发送速率,以及采集设备和采集时间。 可以方便进行文件和视频的上传下达,使形式变 在“视频”框,可以设定是否需要“视频采 的更为多样灵活。 集”,选择哪种方式进行预览。点击“图像”,将会 跳出对话框,通过它可以配置图像的亮度,色度, 参考文献: 饱和度和对比度。点击“设置”,将会跳出对话 [1]宋国伟.GTK+2.0编程范例[M].北京:清华大学出 版社,2002. 框,通过它可以设定视频采集设备、输入端口(选 [2]赵英良,董雪平.多媒体应用技术使用教程[M].北 1.Composite1)、长宽比、视频框大小、信号格式、频 京:清华大学出版社,2006. 道列表、频道、帧率、各编码器编码比特率等参 [3]流媒体直播服务器负载探讨[DB/OL].[2006—11— 数。同时在“704×576 at 20 fos”栏,将会显示您 17].http://scholar.ilib.cn/abstract.aspx?A=lygygdz- 选定的图像大小和帧率。 kxxxb. 2.3.5.2显示模块 [4]视频直播服务器[DB/OL].[2006—11—16].http:// 显示模块是动态链接数据库SDL来完成的, W ̄AWV.cnvod.net/mader videobroadcastse ̄er.htm. _..每个画面都有一个播放器和一个SDL,每一个播 [责任编辑:袁太生] Application of Streaming Media Technology in Campus Teaching Live Broadcast System LI Xue.mei (Computer Engineeirng Department,Taiyuan University,Taiyuan 030009,China) Abstract:In campus range making full use of network resources and using the multimedia teaching method will give teaching re- form and teaching means to bring new vitality and vigor,will be able to create more vivid teaching environment,this is largely impmves student’S study enthusiasm.This system mainly in taiyuan university computer engineering site as the platform,the department teachers’teaching video files and exquisite course through the streaming media server to department website of students learning,the teacher exchanges. Key words:streaming media;the campus network teaching;teaching,broadcast system ・l25・ 

因篇幅问题不能全部显示,请点此查看更多更全内容