基于流媒体技术的网络答疑系统应用研究

时间:2022-06-30 07:32:42

基于流媒体技术的网络答疑系统应用研究

摘要:在网络答疑系统中引入流媒体技术,不仅可以加速非实时答疑中的视频播放的速度,还能够有效的实现实时视频答疑;在网络答疑中实现流媒体主要采用了MPEG-4视频编缉解码器和DirectShow技术等关键技术。

关键词:流媒体技术;网络答疑系统;MPEG-4视频编缉解码器;DirectShow技术

中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)18-31718-03

Research of the Q/A System Applied Based on the Streaming Media Technology

LI Wei-lin

(Southeast University,Nanjing 221008, China)

Abstract:Introducing streaming media technology into the Network Q/A system can not only speed up the video playing in the non-real-time Q/A system, but realizes the real-time video effectively. It mainly uses some key technology such as MPEG-4 video editing decoders and the DirectShow technology to realize the streaming media technology in the Network Q/A system.

Key words:Streaming media technology;Q/A system;MPEG-4;DirectShow

1 引言

随着互联网技术的发展,网络教学成为未来社会教育的主要方式。分布在各地的学生、老师不需要面对面的进行教学活动,而是借助于网络活动实现异步师生交流活动或者在线同步交流活动。答疑作为教学活动中的一个重要环节,是网络教学中需要解决的一个重要课题。分析目前的网络答疑系统,大多数是通过浏览器访问数据库来实现远程教育的答疑系统,学生提出问题,系统首先进行关键词的切分,再进行Web数据挖掘,找到包含关键词的类似问题的答案反馈给用户。这些网络答疑都是以文字答疑为主,无法满足新形势的教学需求[1]。

针对前面所提到的网络答疑系统的缺陷,结合实际,我们设计开发了一种利用流媒体技术实现的音视频答疑系统。将音视频应用到网络答疑系统中,既丰富了教学形式,又提高了答疑效果,能够满足用户的需求。

2 流媒体技术

流媒体包含两种含义,广义上指使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,通常称为流媒体系统;侠义上指与传统的下载-回放方式相对的一种媒体格式,能从Internet上获取连续的多媒体流,用户可以边接收边播放,使延时大大减少。

流媒体技术是一种可以使音频、视频和其它多媒体能在Internet及Intranet上以实时的、无需下载等待的方式进行播放的技术。流媒体文件格式支持采用流式传输及播放的媒体格式。流式传输方式是将动画、视音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连续、实时传送。通俗的讲,视音频服务器将声音、图像或动画等媒体文件从服务器向客户端实时连续传输时,用户不必等待全部媒体文件下载完毕,而只需延迟几秒或十几秒,就可以在用户的计算机上播放,而文件的其余部分则由用户计算机在后台继续接收,直至播放完毕或用户中止操作。这种技术使用户在播放视音频或动画等媒体的等待时间成百倍的减少,而且不需要太多的缓存。

3 流媒体应用的开发工具与开发方法

3.省略的流媒体处理的开发包,与directx开发包一起。目前,directx最新版本为9.0。directshow为多媒体流的捕捉和回放提供了强有力的支持。运用directshow,我们可以很方便地从支持wdm驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。这样使在多媒体数据库管理系统(mdbms)中多媒体数据的存取变得更加方便。

DirectShow定义了如何利用标准组件来处理流媒体数据,这些组件称为过滤器。过滤器带有输入、输出,或二者兼而有之。在DirectShow技术中处于最核心位置的就是作为“过滤器”的可插入标准组件,它是执行特定任务的COM对象。过滤器 又可被细分为源过滤器(Source filter)、变换过滤器(Transform filter)、表现过滤器(Renderer filter)等。过滤器通过向文件读写、修改数据和显示数据到输出设备上来操作流媒体。为了完成整个任务,必须要将所有的过滤器Filter连接起来,这三种过滤器组成了过滤器图表结构,如图1所示:

图1 过滤器图表结构(Filter Graph)

3.2 DirectShow流媒体数据的采集及图片的捕获

用directshow来使用摄像头,一般要求摄像头的驱动是wdm格式的,当然,一些比较老的驱动格式directshow也可支持。在directshow中,有一个sample grabber过滤器,它是一个可以入流的过滤器,它有自己的缓冲,存放采样。我们就可以用它来从一个视频文件中简单的扑获一桢。directshow通过图形过滤管理器(filter graph manager)来与上层应用程序和下层的驱动进行联系。directshow通过捕获过滤器(capture filter)来支持对摄像头的捕获,一个捕获过滤器有多个插口(pin),其中的预览(preview)插口可用来进行显示祯图象。

(1)创建图形过滤管理器filter graph

如上面原理所述,首先要创建filter graph:

ccomptr m_pgraph;

hr=m_pgraph.cocreateinstance(clsid_filtergraph);

(2)连接设备

还要创建系统枚举器组件对象:

ccomptr pcreatedevenum;pcreatedevenum.cocreateinstance(clsid_systemdeviceenum);

然后使用接口方法createclassenumerator()为指定的filter注册类型目录创建一个枚举器,并获得ienummoniker接口:

ccomptr pem;

pcreatedevenum->createclassenumerator(clsid_videoinputdevicecategory, &pem, 0);

接着在调用bindtoobject()以后,可以将设备标识生成一个directshow filter,将其加到filter graph中就可以参与工作了。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

ccomptr pm;

ccomptr pbag;

hr=pm->bindtostorage(0,0,id_ipropertybag, (void**) &pbag);

(3)创建sample grabber过滤器

ccomptr m_pgrabber

hr=m_pgrabber.cocreateinstance(clsid_samplegrabber);

当创建好samplegrabber以后,在sample grabber过滤器连接到别的过滤器之前你必须配置它。然后查询isamplegrabber接口,还要设置流媒体类型:

m_pgrabber->setmediatype();

可以仅仅指定主媒体类型;或者主类型加子类型;或者主类型,子类型和类型格式。然后就把它加载到filtergraph中去:

m_pgraph->addfilter(pgrabbase,"grabber");

(4)查找filter graph 的pin并完成后续连接。

接下来就可以通过调用igraphbuilder 的findpin()接口来查找过滤管理器中的pin接口,并通过icapturegraphbuilder2中的接口renderstream()来完成后续的连接。

hr=pcgb2->findpin(pcap,pindir_output,&pin_category_videoport, null,false,0,&pvppin);

hr=pcgb2->renderstream(&pin_category_capture,&mediatype_video, pcap,pgrabbase,prenderer);

(5)获取流媒体类型并运行

通过getconnectedmediatype()获取连接流媒体的类型以后,我们可以通过isamplegrabbercb类的接口buffercb()来把视频的数据拷贝到自定义的缓冲区中,然后通过在缓冲区的拷贝进行视频到图象数据的拷贝。最后运行:

ccomqiptr pcontrol = m_pgraph;

hr = pcontrol->run();

3.3 MPEG-4视频编解码技术

MPEG-4旨在将众多的多媒体应用集于一个完整的框架内,为不同性质的视音频数据制定通用、有效的编码方案,提出基于具体内容的视频对象的编码标准。

图2是一个MPEG解码播放的实例,Source filter将获取的多媒体数据通过Outpin送到MPEG分解转换过滤器,MPEG分解转换过滤器有一个输入针脚,两个输出针角分别将视频和音频解释 码器进行解码,最后两路数据分别通过视频表示过滤器、音频表示过滤器送到显卡和声卡进行回放。

图2 MPEG解码实例

MPEG-4引入了合成与自然混合编码。以往的编码把人工合成信息视为自然信息的一个子集,如把计算机图形视为视频。MPEG-4把这类数据视为一种新的数据类型,支持对人工合成AVO数据与自然AVO数据混合编码,提供对人工合成信息的具体描述,设计了合成图形对象的描述框架及通用的数据流结构和灵活的接口,定义了有关图形文本的多种表达方式。对于频繁出现的视觉对象分别定义了它们的纹理形状和动画参数,例如人脸:用人脸定义参数(FDP)描述了特定人脸纹理形状模型与通用人脸模型之间的差别,通过接收到的各种FDP,能把通用的人脸变换成由其形状和纹理确定的特定人脸。用人脸动画参数(FAP)描述特定的人脸表情与中性表情的变化关系,通过接收到的各种FAP能生成人脸的动画和各种表情以及与声音同步的嘴唇活动等。这样的合成编码不仅极大地提高编码效率(可获得1kbps的超低码率),而且为制作新的人脸等对象提供了方便,可用于实现虚拟电视会议系统,丰富用户与场景的交互。

4 网络答疑实现

图3

4.1 系统平台构建

在进行网络答疑系统的设计之前要弄清楚为什么需要答疑,就是说答疑的具体的目的是什么,要对答疑目的进行分析,才能够设计出比较完善答疑系统来满足不同答疑对象的需求。经过统计分析,本系统的答疑平台主要包含视频点播和实时答疑两个部分,其中视频点播部分又分为一般答疑和详细答疑:一般答疑,提供完整的课堂教学的视频;详细答疑,提供的是对课程中所提到的知识点进行的更加详细解释的视频片断[2]。

4.2 答疑系统实现

通过注册、登陆页面实现学生注册帐号和登陆系统。教师帐号由管理员添加修改。

4.2.1 学生模块

学生登陆后进入系统主页面。主页面包括课程视频回放,知识点详细介绍以及实时答疑申请。当需要进行一般答疑和详细答疑时只需直接点击播放视频,如需进行实时答疑则需要教师在线然后提出申请,当教师同意之后才可进行实时答疑。

4.2.2 教师模块

教师登陆后进入系统主页面,如有学生进行提问,便会弹出对话框,提示教师是否进行答疑。如点击是则进行答疑,如点击否则返回给学生“教师正忙”的消息的提示框。教师可以对视频库进行添加、删除、修改等操作。

4.2.3 系统管理模块

系统管理员登陆管理平台,通过管理平台对系统进行维护管理。

4.3 关键技术

在流媒体传输过程中通过对视频图像进行图像分割,把场景分割成由若干个有语义意义的对象,且这些对象可单独的编解码。如此通过对感兴趣的对象分配给较多的比特,对重复的背景分配较少的比特,可以提高编码效率,增加传输速率[3][4]。

在对流媒体传输过程中的图像的研究和应用中,人们往往对各幅图像中的某些部分感兴趣,这些部分常称为目标(其它部分称为背景),它们一般对应图像定的,具有独特性质的区域。为了辨识和分析目标,需要将这些特定区域分离提取出来,在此基础上才有可能对目标进一步利用,如进行特征提取和测量。它是由图像处理进到图像分析的关键步骤,是数字图像处理和计算机视觉领域中的重要内容。它是根据图像的某些特征或特征集合,对图像像素进行分组聚类,把图像平面划分为一系列“有意义”的区域,使其后的图像分析和识别等高级处理阶段所要处理的数据量大大减少,同时又保留图像结构特征的信息。分割的依据科建立在相似性和非连续性两个基本概念上,最终是为了将图像中的目标与背景分开,得到目标的大致位置。

在音视频的实时答疑系统中,由于答疑双方的背景图像相对稳定,所以在传输过程中应采取以上方案对视频图像进行图像分割,将视频的运动对象从背景图像中分割出来再进行压缩传输。这样的话就可以很大的提高压缩速率,并为存储和传输视频图像提供了便利。

5 结束语

在网络答疑系统中,利用流媒体技术为系统用户提供了包括音、视频在内的多种交流方式,方便网上答疑。由于答疑系统的特殊性,在实时答疑的过程中为了节省网络资源,保证音频传输的及时性,对视频图像进行分割后传输能够有效提高答疑的实时性和实用性。系统采用 Direct Show 技术,易于扩充和改进。

参考文献:

[1]姜自立. 基于流媒体技术的校园网教学的应用研究[J]. 临沂师范学院学报,2006.28(3):125-126.

[2]陈云红,周诗和. 基于Web的网络答疑系统研究与应用[J]. 湖北师范学院学报(自然科学版)2005.2(25):73-76.

[3]腾秀荣. 多媒体视频处理基础知识解析[Z]. 电脑知识与技术,2006:167-168.

[4]李为民,韦卫星,梁济仁. 视频图像采集与网络传输的实现[J]. 计算机及网络技术应用,2006(4):32-35.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:两种直方图规定化实现算法的分析 下一篇:机器视觉技术及其应用概况