欢迎来到天天文库
浏览记录
ID:21865156
大小:56.00 KB
页数:5页
时间:2018-10-25
《基于directshow的远程视频展示实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于DirectShow的远程视频展示实现:在分析了DirectShooteVisualPresentBasedonDirectShoei3 (1.KeyLabofMobilemunicationsTechnology,ChongqingUniversityofPostsandTelemunication,Chongqing400065,China;2.CollegeofputerSci.andTech.,ChongqingUniversityofPostsandTelemunication,Chongqing400
2、065,China;3.BeijingShoukeSoftIntegrationCo.,Ltd,BeiJing100000,China) Abstract:AfteranalyzingtheDirectShootevisualpresentsystembasedonDirectShothesystembyfourparts,thecapturefilter,theencode/decodefilter,thesendfilterandthereceivefilter. Keying;visualpresent 视
3、频展示[1](VisualPresent)是指通过摄像机、摄像头,以光电转换技术为基础,将实物、文稿、图片、过程等信息转换为图像信号输出在投影机、监视器等显示设备上展示出来。随着X络的迅速发展,人们对视频业务的需求有了很大的增长,如何实现实时、高清的远程视频展示成为当前的一个研究热点。 1远程视频展示系统的相关技术 本系统是在)这是近年来在因特X技术领域中出现的新概念,一般是指通过IPX络传送多媒体信息(主要是视频、音频信息流)的技术总称。 流媒体技术发端于美国,在美国目前流媒体的应用已很普遍。流媒体实际指的是一
4、种新的媒体传送方式,而非一种新的媒体。流媒体是指采用流式传输的方式在Inter播放的媒体格式。流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到X络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。 在X络上传输音/视频等多媒体信息,目前主要有下载和流式传输两种方案。A/V文件一般都较大,所以需要的存储容量也较大;同时由于X络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。流式传输时,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实
5、时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。当声音等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Inter上下载才能观看的缺点[3]。 2系统设计与实现 2.1系统设计 在DirectShoFilter,基类可采用CBaseFilter,而SocketSendPin类的父类为CRdcrcdlnputPin类[6],两个类的关键实现如下(由于篇幅
6、限制仅给出部分属性,下同): classSocketSendFilter: publicCBaseFiher{ SocketSendPinSendPin;//输入引脚 CCritSecFilterLock; GetPin();//得到引脚指针 GetPinCount();//得到引脚数量 … } ClassSocketSendPin: PublicCRenderedInputPin{ SocketSendFilter*SFilter;//此引脚所以属过滤器 CCritSecRLock; Che
7、ckMediaTyep(); ReceiveMedia()//处理接收到的视频并发向X络; … } 2.5视频接收 SocketReceiveFilter负责接收数据包,并将数据包解包后按照媒体数据包的格式转发到下一级过滤器,属于客户端的源过滤器。在这里也是采用程序内过滤器的形式来实现的,建立的类分别是SocketReceiveFilter类和SocketReceivePin类。因此Pin的父类选择了CSourceSueam类,SocketReceiveFilter类的父类选择了CSource类。两个类的关键
8、实现如下: ClassSocketReceiveFilter: PublicCSource{ CCriSecRFilterLock; GetPin(); GetPinCount(); … } ClassSocketReceivePin: PublicCSourceStream{ SocketReceiveFil
此文档下载收益归作者所有