如何开发DirectShow的filter,使其具有一个输入pin,然后有多个输出端口(100分)

  • 主题发起人 主题发起人 yym
  • 开始时间 开始时间
Y

yym

Unregistered / Unconfirmed
GUEST, unregistred user!
请大虾帮忙提供点思路,我是想把一路输入数据实时拷贝两份转到各个输出口,例下图就有多个input,和多个output,我只是要达到一个input,和output 0,output1即可。而不是一个input pin ,两个output pin.
例图:不要求有那么多个输出,但意思是一样的。愿意回答者诚心高分相赠,谢谢!
http://hqtech.nease.net/articles/DESL2_1.jpg
 
从 CTransformFilter 或 CTransInPlaceFilter 继承
 
to:cqbaobao兄,
我是使用dspack里自带的例子学习的,可有时间给我一个简单的例子?yxm@fun.21cn.com
 
这功能还用不着自己开发Filter,
DirectShow里有一个现成的Filter叫Smart Tee,用他就好使。
 
请LeeChange指点
我已经接上了Smart Tee,但是一边没有数据显示,只有接capture的有显示,我是想把一份输入复制成两份输出,Smart Tee可以吗?还是我哪个地方操作有误,
 
smart tee的作用就是double数据的呀,两个输出pin的数据流跟输入流一样。
 
不好意思,没看清题目:(

其实 SmartTee 的两路输出还是有区别的,
Capture 有时间戳,Preview 没有;

但是用于显示 VideoRender,应该都没有问题的,
所以还是不太清楚你的问题所在;

要两路完全一样的话,MS DX 带有一个例子:InfTee,
不过是 VC 的代码。
 
摘自陆老师的一段话:
1、Smart Tee和Infinite Pin Tee Filter。前者有两个Output pin,且Preview pin输出的Sample已经去掉时间戳;后者,可以动态产生无数个Output pin,而且各个Output pin输出的Sample是完全一样的。
2、Tee Filter问题。微软提供的Smart Tee(没有源码)与Infinite Pin Tee Filter(有源码)相比,后者的性能要好一点。两者的区别是,前者将Preview pin出来的Sample进行了“去时间戳”处理,而后者只是简单地将一个Sample分别在各个output pin上输出。
//***********************************************************

对于Smart Tee和Infinite Pin Tee Filter我都试过了,我的本意是想这样的,因为神龙卡没有提供PreView的功能,我想把分离好的视频一路至TV,一路至VGA,但我在试Smart Tee时根本就是死掉,而Infinite Tee 好点,在全到 VGA上可以达到,但在一边至TV,一边至VGA上时不是死就是TV上没有图像信息,这是何因呢?
 
后退
顶部