一种多媒体客户端视音频引擎实现方法.docVIP

一种多媒体客户端视音频引擎实现方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种多媒体客户端视音频引擎实现方法

一种多媒体客户端视音频引擎的实现方法   摘要:文章基于当前视音频技术的特点,根据DirectX技术的采集与播放方案,融合H.264和Speex的编解码技术,设计了一套多媒体视音频引擎的实现方案。本引擎的实现结合了多媒体客户端视音频数据处理过程的每个环节,屏蔽了应用开发人员复杂的视音频底层概念,提供了引擎开发的清晰接口,并实现了实时、高效和稳定的服务。经实际测试表明,本引擎符合要求。   关键词:视音频引擎 DirectX H.264 Speex   中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2016)01-0000-00   1 引言   当前,大多数网络视频会议及实时工作平台的工作方式都是依托多媒体客户端开展的,在多媒体客户端所能提供的服务当中,视音频服务最为重要,而且,伴随着计算机网络技术的不断进步,视音频服务已成为其重中之重,因此,设计并实现高质量的视音频引擎服务已成为当前的热点。本设计来源于互联网会议系统的引擎开发项目,其目的是研发一套可以满足实用功耗小、占用带宽低、主观质量好要求,且可以支持互联网会议服务的视音频引擎系统,该引擎可以提供应用开发人员多样模式的接口,从而使用户获得更好的实际体验,进而降低了互联网会议系统研制的成本。   2 视音频引擎的设计与实现   视音频引擎所要提供的服务,首先是对视音频数据的采集。在视音频编解码技术中,H.264及Speex以其良好的实用性被用户广泛使用,所以,本设计选用H.264及Speex作为终端编解码方式。据引擎功能的实现,可将其分为三个应用模块:(1)视音频数据采集模块;(2)视音频数据编解码模块;(3)视音频数据播放模块。文中引擎的设计就是依据上述三个模块进行研究的。   2.1 视音频数据采集   引擎提供的视音频服务,首先是对其数据进行采集,视频和语音的采集是在摄像头与麦克风打开的同时进行的。   2.1.1 视音频设备的获取   在采集的初始时刻,应用程序先判定系统中视音频设备的可用性,然后通过DirectShow创建系统设备的明细表,这样可以便与选择相应的设备来进行工作。当设备选定后,程序将记录该设备的ID,并开始数据捕捉。   2.1.2 视音频数据的捕获   在获取设备的ID后,开始捕捉数据,系统通过辨认ID来打开指定设备,同时开始数据采集,并通过回调函数MMGrabber取出视音频数据。   (1)IcaptureGraphBuilder2接口初始化。对于应用DirectShow实现的视音频捕捉,在建立应用程序时,DirectShow提供一个名为Capture Graph Builder的对象,并提供一个IcaptureGraphBuilder2的接口,通过调用该接口可实现Capture Graph的建立与控制。在建立视频捕捉程序时,应先获取并初始化IcaptureGraphBuilder2接口,然后选择视频捕捉设备。(2)创建Capture filter。在完成接口初始化并选定设备后,应创建对应设备的Capture filter。创建完毕后,通过调用AddiFilter将对应设备的Capture filter添加到Filter Graph中,从而开始视音频数据的采集。(3)实现视音频数据捕获。在完成设备Capture filter的创建及添加后,启动系统程序并运行,此时DirectShow将实时捕获的对应视音频设备的视频数据,并交送给系统的编解码模块,从而进行后续的视音频压缩编解码处理。   2.2 视音频数据编解码   为了减小互联网传输数据量的容量,视音频数据必须要经过压缩处理,所以,要选取合适的视音频编解码方案才可实现互联网终端的快速传输。在本设计中,分别以H.264和Speex作为视音频的编解码方式,从而实现数据的压缩与解压缩处理。   视音频数据的编解码操作分为:发送端编码操作和接收端解码操作。   2.2.1 发送端编码处理   (1)编码器创建。图1所示为发送端编码处理的流程图,由图1可知,发送端编码处理的初始环节是要进行编码器的创建,编码器的工作是对视音频帧进行编码。本设计采用Video_CreateEncoder来创建编码器,在创建编码器前,预先定义需要的变量。(2)动态调整参数。在视音频编码器创建后,需要启动运行过程中的动态参数调整许可,即允许动态设置编码器参数。当参数重设后,编码器将根据新的参数进行操作。对于重置编码参数,需要调用数x264_param_parse重置参数,并且需调用x264_encoder_reconfig进行参数更新。(3)视音频编码。当编码器创建完成之后,采用video_EncodeFrame对视音频数据进行编码。在编码处理时,通过相应参

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档