马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?快速注册
x
Directshow是微软公司推出的基于COM组件的多媒体开发包,其主要是通过filter(过滤器)的方式进行数据的传输与控制,Directshow是目前在windows上最好的多媒体开发包,其提供音、视频采集、数据转换、数据传输、音、视频播放等几乎囊或所有的流媒体开发的功能,而视频会议系统是一个多媒体实时传输系统,因此Directshow在windows的视频会议系统的开发当中占有非常重要的作用。下面我们列举一下Directshow在视频会议系统开发当中有哪些功能值得我们关注的。
( ^- l& U) e. Z& c 1、 音、视频捕捉功能
7 J: W7 I1 @$ g& }. N0 }+ o3 O: M2 {1 W4 V& \/ K! E- N6 @
Directshow主要是通过capture filter的方式对音、视频进行捕捉,而这些capture filter都是直接操作硬件设备,因此其捕捉效率非常高,视频会议系统可以利用这些capture filter实现音、视频数据的高效捕捉。
* j2 U/ {4 y( c5 s. X! ^5 ^( y5 W$ p' d& O% N k' ?
2、 数据播放功能% w* V; ~, R3 ] V9 ?) J
) l- \# T1 I1 X! Z Direcshow的数据播放功能同样是直接调用硬件设备,其效率也非常高,通常我们用到的数据播放功能是音频播放和视频播放,音频播放通过directsound来实现,而视频播放通过video window 或者vm7 、vm9进行图像的重画。我们在重画图像的时候,一般在图像帧数不高的情况下,我们可以采用DBI的方式进行重画,但如果图像播放帧数很大,通过CPU重画的方式会消耗很大的CPU资源,因此我们就需要直接对显卡进行操作,而不是通过DBI进行重画。Directshow提供直接在显卡上重画的函数,我们可以通过它来实现实时的图像重画。
$ I2 O; W9 K# X, S8 ~- J; o
) Y$ ?: f6 N. O* {' S3 @, ]6 Y 3、 格式转换( h8 x9 E" x! e$ f4 C
/ W$ c% v6 q6 t2 w
在多媒体领域里,数据有多种不同的格式,特别是一些视频格式的数据,其格式的种类非常多,为了保证数据的正确性,我们需要对数据的格式进行转换,Directshow 的格式转换主要通过filter来实现,不同的格式直接的数据,可以通过PIN和POUT进行数据的转换,数据的源是从PIN获取,而转换的目标由POUT输出。
% X5 \7 E) q1 }1 I z; S1 X/ O
. g! x8 _3 J7 Q0 g 4、 filter Graph
6 Z/ F6 R2 v, X* j& _ m, S7 Y# G3 [, N2 u( k- N: o' b$ ]& y5 W' H
Directshow提供一个可视化的filter模型图供开发人员调试filter,我们开发视频会议系统的时候,可以从捕捉的filter开始,然后连接传传输的filter,最后连接播放的filter,这些流程可以通过filter Graph来模拟,我们需要把各部分的filter开发出来,就可以直观地进行测试。
* W, j, N- _8 ~1 M- S5 M. E( j5 U8 y9 }! G5 I
5、 COM组件
], E4 H7 J9 G$ x( X& R. t- y9 C! Z
) L1 r' [" A0 {( s) O Directshow开发的filter都是基于COM的方式,而COM的一次注册终身使用的方式,为我们程序的发布提供了极大的便利。
' Z5 v/ w* K" t6 t7 N6 l3 x7 {+ \1 Y1 x2 i) R0 _1 [- T
综上所述,Directshow多媒体开发包能开发出具有实时、高效、便捷的多媒体交互式系统,因此在windows的视频会议系统的开发当中,Directshow是很多开发者的首选开发包。 |
|
|
|
|