DirectShow Connect()vs ConnectDirect()

时间:2015-07-15 12:41:18

标签: winapi video directshow directshow.net

我目前正在开发一个使用DirectShow的应用程序。 该应用程序应支持许多不同的网络摄像头,可能有很多不同的输出引脚ColorSpace配置(RGB,YUV,I420等)。

编码时,i将始终使用相同的编码滤波器和mux +文件写入器 - 但我不知道如何将源滤波器上的输出引脚连接到编码滤波器上的输入引脚,因为它将取决于源过滤器的输出ColorSpace。

示例:

  1. Source1(RGB24) - >色彩空间转换器 - > RGB2YUV - >编码器 - > Mux - >文件编写者。
  2. Source2(YUV) - >编码器 - > Mux - >文件编写者。
  3. Source3(MJPG) - > MJPEG解压缩器 - >色彩空间转换器 - > RGB2YUV - >编码器 - > Mux - >文件编写者。
  4. 依此类推......意味着在编码器之前可能会有很多不同的滤波器配置。 我现在的问题是,使用智能Connect()代替ConnectDirect()将源过滤器连接到编码器过滤器是否完全可以? 或者我每次都必须检查源输出引脚的介质类型,并根据源输出引脚的色彩空间(RGB,YUV ..)手动构建图形?

    是否有一种简单的方法可以做到这一点,我可能不知道 - 似乎可以有无穷无尽的可能性将源滤波器连接到编码器。

    感谢您的帮助。

0 个答案:

没有答案