[视频会议开发.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[视频会议开发

视频会议开发本文旨主要剖析开发视频会议软件相关技术,简单解说会议软件的开发过程。 一、?引言 ???相信视频会议对很多人来说已不陌生了,比如:现在有商业的视频会议开发SDK,如AnyChat、RTX等。但是这类软件是怎样开发出来的呢?本文中,让我们来共同剖析视频会议软件开发相关的主要技术,下面的说明我们主要从自己动手的角度来描述,…… ???开发这一类软件所涉及的主要问题,就是视频帧的大尺寸将极大地影响数据的传输质量。因而,这类软件的性能也主要依赖于视频帧编码和解码的质量。为此,在本例中,我们选用的是较快速的H.264编码器库,该库具有相当好的压缩比率,从而有效地克服了我们在图像传输中的速度矛盾。 二、?音频的录制与播放问题 ???这一部分的开发相对简单。其一,这种功能的API从Windows?3.1开始就已经提供(winmm.lib+mmsystem.h);其二,如今借助于方便的因特网,我们完全可以搜到现成的包装类。在本文中,我们直接借用了提供了两个现成的RecordSound与PlaySound类。这两个类都派生于CWinThread类,用户可以“死搬硬套”地使用它们。下面代码展示了这两个类的使用,具体包装类定义请参考下载源码文件。 //创建并启动录音线程 record=new?RecordSound(this); record-CreateThread(); //创建并启动播放线程 play=new?PlaySound1(this); play-CreateThread(); //开始录制 record-PostThreadMessage(WM_RECORDSOUND_STARTRECORDING,0,0); //开始播放 play-PostThreadMessage(WM_PLAYSOUND_STARTPLAYING,0,0); //在音频录制期间,我们可以在RecordSound类的OnSoundData //回调函数中使用这些数据。在此,你可以放置你要发送到远程宿主的数据…… //播放接收自远程宿主的音频数据 play-PostThreadMessage(WM_PLAYSOUND_PLAYBLOCK,size,(LPARAM)?data); //停止录制 record-PostThreadMessage(WM_RECORDSOUND_STOPRECORDING,0,0); //停止播放 play-PostThreadMessage(WM_PLAYSOUND_STOPPLAYING,0,0); //最后,停止录音线程 record-PostThreadMessage(WM_RECORDSOUND_ENDTHREAD,0,0); //停止播放线程 play-PostThreadMessage(WM_PLAYSOUND_ENDTHREAD,0,0); 上面已经加了注释,使用方法一目了然。 三、?视频捕获的问题 ????当前,在Windows平台下开发视频应用一般采用两种方案。一种是基于视频采集卡所附带的二次软件开发包SDK进行。此方式的优点:帮助资料齐全,直接套用现成的API,易于上手;但缺点也是明显的:硬件依赖性强,缺乏应有的灵活性,因此,不能充分满足开发通用的视频应用的需要。 ????另一种方案是基于微软公司的VFW(Video?for?Windows)进行。这个SDK为开发Windows平台下的视频应用程序提供也现成的软件工具包(一组API),开发人员可以通过它们很方便地实现视频捕获、视频编辑及视频播放功能,特别是可利用其中内置的回调函数开发出更为复杂的视频应用程序。因此,这种方案的优点是播放视频时不需要专用的硬件设备(大多数的视频采集卡驱动程序都支持VFW接口),应用灵活,可以满足视频应用程序开发的需要。值得庆幸的是,如今的Windows版本都内置安装了VFW相关组件,而VC++自4.0以来就支持VFW,从而大大简化了视频应用程序的开发。目前,基于PC的多媒体应用程序的视频部分,大都是利用VFW?API开发的。 ???VFW以消息驱动方式实现对视频设备进行访问,便于开发者控制设备数据流的工作过程。简言之,这个框架主要包括VICAP.DLL、MSVIDEO.DLL、MCIAVI.DRV、AVIFILE.DLL、ICM、ACM等多个动态连接库,这些组件协同合作,共同完成视频的捕获、视频压缩及播放功能。有关这些模块的具体介绍见MSDN,在此略过。 (一)视频捕获 ???视频数据的实时采集,主要通过AVICAP模块中的消息、宏函数、结构以及回调函数来完成。视频捕获的大致过程如下: (1)建立捕获窗口 ???利用函数capCreateCaptureWindow()建立视频捕获窗口,它是所有捕获工作及设置的基

文档评论(0)

xuetingting + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档