QQ视频语音原码.docx
《QQ视频语音原码.docx》由会员分享,可在线阅读,更多相关《QQ视频语音原码.docx(16页珍藏版)》请在第壹文秘上搜索。
1、QQ视频语音原码QQ视频语音原码用DirectShow实现QQ的音视频闲聊功能开发者在线Builder更新时间:2007T0T7作者:才智的鱼来源:天极网本文关健词:DirectShowQQ音视频闲聊当下比较流行的即时通信工具,比如MSN,QQ等都实现了视音频的功能,通过视频,音频,我们可以更好的和挚友通过网络进行沟通,本文通过DirectShow技术模拟QQ实现了视频和音频的采集,传输,基本实现了QQ的视音频闲聊的功能。网络视音频系统主要功能就在于视音频的采集,网络传输两个方面,通过VideoCapture系列APl函数,你就可以轻松的搞定视频捕获,但是对于视频的网络传输,则要费一番功夫了。
2、对于视音频数据的传输,只简洁地运用数据报套接字传输音视频数据是不行行的,还必需在UDP层上采纳RTP(实时传输协议)和RTCP(实时传输限制协议)来改善服务质量。实时传输协议供应具有实时特征的、端到端的数据传输服务。我们在音视频数据前插入包含有载荷标识、序号、时间戳和同步源标识符的RTP包头,然后利用数据报套接字在IP网络上传输RTP包,以此改善连续重放效果和音视频同步。实时传输限制协议RTCP用于RTP的限制,它最基本的功能是利用发送者报告和接收者报告来推断网络的服务质量,若拥塞状况严峻,则改用低速率编码标准或降低数据传输比特率,以削减网络负荷,供应较好的Q.S保证。Directshow对于
3、音视频的采集供应了很好的接口,利用ICaptureGraphBuilder2接口可以很轻松的建立起视频捕获的graph图,通过枚举音频设备Filter,也可以很轻松的实现音频的捕获,有点麻烦的是音视频数据的传输,我们可以自己封装RTP和RTCP的协议,来Fl己实现一个filter,用来发送和接收音视频数据,当然了Directshow也供应了一组支持运用RTP协议的网络传输多媒体流的Filterso你也完全可以用DireCtShoW供应的RTP系列的filter实现数据的传输。下面分析一下这些RTPFilters0新定义的Fi1ter包括RTPSourceFilter,RTPRenderFi1t
4、er,RTPDcmuxFi1ter,RTPReceivePlayloadHandler(RPH)filter,RTPSendPayload(SPH)filter,运用这5个filter构建一个通过RTP协议传输音视频数据的Graph是没有问题的。RTPSourcefilter被用来从一个单独的RTP会话中接收RTP和RTCP包。这个filter供应一个指定发送给其它主机RTCP接收器报告和指定网络地址和端口接口来接收RTP会话的接口。RTPRendfilter是用来将数据发到网络上的一个filter,这个filter也供应了和RTPsourceFilter类似的接口。RTPDemuxfilte
5、r用来多路分别来自RTPSourcefilter的RTP包,这个filter有一个或者多个输出的pin。这个Filter供应了如何限制多路分别和如何安排到特定输出Pin的接口。RTPRPHFilter是用来网络过来的RTP包还原成原来的数据格式,主要支持H.261,H.263,Indeo,G.711,G.723和G.729和常见的多种音视频负载类型。RTPSPHfilter则和RPHfilter的功能相对,它的任务是将音视频压缩filter输出的数据分解为RTP包,它供应的接口有指定最大生成包大小和Pt值。下面我们看看如何用这些filter来搭建我们采集和传输的graph图。图1和图2展示了D
6、irectShowRTP中定义的filters如何运用。图1是一个采集本地多媒体数据并运用RTP协议通过网络发送的filtergraph0它包含一个输出原始视频帧的视频采集filter,紧跟一个压缩帧的编码filter。一旦压缩,这些帧就会被发送到RTPSPHfiIter,分片打包,生成RTP包,对应的发送到RTPRenderfilter,通过网络传输这些包。图2呈现了一个filtergraph,用来接收包含视频流RTP包,播放视频。这个graph由一个用来接收包的RTPSourcefilter,一个依据源和负载类型进行分类的RTPDemuxfilter,一个把RTP包转为压缩视频帧的RTPR
7、PHfilter组成。这些filter随后的是用来解压帧的解码filter,一个显示未压缩帧的渲染filter。有了RTPfilter的帮助我们就可以完成类似qq的功能了,可以实现在网络上进行视频和音频的交互了,下面我给出在网络上两个客户端A和B进行音频和视频交互的GraPh图。这里我对图1和图2中的RTPfilter进行了自己封装,将编解码filter干脆封装到了RTpSourcefilter和RTPRenderfi1ter中,这样Graph图就显得很简洁,RTPSourcefilter只是用来接收网络过来的音视频数据,然后将数据传递给客户程序,RTPRenderfilter则是将采集到的音
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QQ 视频 语音
第壹文秘所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。


重点工作绩效评估自评表.docx
