- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于DirectShow音视频传输系统设计与实现
基于DirectShow音视频传输系统设计与实现
摘要:在IP网络基础之上,应用DirecShow这种流媒体处理开发包搭建框架,进行音/视频相关数据的回放、解码、网络传输、编码、采集的处理方案设计,最后实现时采用VC++编程软件进行操作。基于DirecShow的音/视频传输系统为远距离视频监控、诊断故障、技术支援等计算机系统,给予利用音/视频开展实时沟通、交流的可能。
关键词:DirecShow;音/视频传输系统;设计;实现
在远距离视频监控、诊断故障、技术支援等计算机系统之中,利用音/视频传输系统开展实时沟通、交流是其中较为关键的功能。音/视频传输系统为关键设备或系统的维护修理、诊断故障给予远距离技术保障,同时为获得“实时”帮助的效果提供了较为关键的策略。为实现现场、实时音/视频沟通、交流的功能,需要先保证音/视频相关数据得以有效的远距离传输,因为基于DirecShow的音/视频传输系统的基础在于IP网络,所以音/视频相关数据的传输也是利用卫星通信的TP网络,且在Windows这个平台之上得以实现。
一、基于DirecShow的音/视频传输系统方案设计
1.选择DirecShow架构
我们从程序开发应用的视角来说,利用卫星通信的TP网络,达到音/视频相关数据远距离传输必须从总体上考量数据的网络接收、数据采集、数据编/解码、数据回放与传输的方案,进而将数据传输的效率与质量有效提升,与此同时还应当尽量降低系统开发投入的成本与难度。所以第一件要做的就是选择一个适宜的开发平台。一般来说有以下三种开发平台可以选择:
①直接利用Windows中API函数,这种平台虽然有着较大的灵活性,然而却具有开发难度高,需要较长开发时间的缺点。
②直接应用成熟的如NetMeeting等满足本系统需求的组件。这种开发平台虽然没有多大的灵活性,却具有开发难度低,不需要过多的开发时间的优势。
③选择介于第一种与第二种开发平台之间的开发方式,结合拟开发的音/视频传输系统特点进行二次开发,这种开发平台难度与第一种开发方式相比较有很大程度的降低,却有着比第二种开发方式更大的灵活性。权衡比较之后,最终选择在DirecShow框架体系之上进行音/视频传输系统的设计开发。
DirecShow的构成由一组ComponentobjectModel(简称COM)对象组成的。它是DirectX中较为关键的构成部分,是Microsoft在VideoforWindows与ActiveMovie的基础上,为简化在Windows平台上进行流媒体系统的开发而提供的一个体系构架。总的来说,DirecShow有下面几个方面的特点:第一,可以对音/视频数据流进行快速处理;第二,可以实现音/视频的同步播放;第三,具有开放性及模块快的体系结构。
2.采集和播放音频与视频相关数据
确定好开发平台之后,就可以大幅度降低实现音/视频相关数据采集、音/视频相关数据播放功能的难度。DirecShow中的Filter可以对早期VideoforWindows视频采集卡与WindowsDriverModel驱动模型都给予技术支持。现今WindowsDriverModel是最常用于视频数据采集的驱动模型,在DirecShow体系架构中SourceFilter是采集设备的集中表现,系统设计开发人员仅需要通过DirecShow所提供的接口函数找到系统中已经安装的且适合需要的SourceFilter,之后利用SourceFilter上面的Pin来连接就能构成FilterGraph,系统研发工作者无须担心音频采集设备或终端用户设备上安装的是何种类型的采集设备,数据的采集均可以应用此法。
播放音/视频频通过Windows操作系统又或者是DirecShow中已有的RenderingFilter,音频利用DirecSounddevice进行播放,VideoMixingRenderer9则用于视频的播放,利用VideoMixingRenderer9进行视频的播放不但可以获得更多有用的功能,并且还可以确保视频播放时更可靠、稳定。
3.编码器与解码器的确定
因为在流量方面,无论是音频还是视频都比较大。为了确保音/视频传输的效率,在进行网络传输之前往往需要将所采集到的数据进行压缩,而网络终端为可以顺利播放接收到的数据还需要先进行解压缩。通过比较编码率、解码率、编码速度、解码速度、数据编/解码质量损失等方面,我们最终选择了XvidEncoder作为视频的编码器,解码器则选择了XvidDecoder。本系统中音频与视频数据分别单独传输。
4.网络发送器与网络接收器的设计
网络发送器与网络接收器为自行组织开发。DirectShow
文档评论(0)