繁体   English   中英

C#DirectShow.net Tee过滤器渲染失败

[英]c# directshow.net tee filter render fails

我正在尝试将Alax.Info IP摄像机源过滤器连接到捕获和预览渲染器。

我将源过滤器添加到图形,然后渲染图钉。 这将产生与VMR的直接连接,并且可以正常工作。 GraphEdit显示相机滤镜的输出引脚类型为RGB32

当我将摄像机源滤镜的输出连接到三通( Smart Tee滤镜或Infinite Tee滤镜)时,渲染三通的输出会导致在三通和VMR之间插入一个AVI Decompressor滤镜。 在MS GraphEdit应用程序中,我得到一帧视频,仅此而已。 GraphEditPlus ,我只得到一个黑色的渲染窗口。

我尝试将Null Renderer连接到Smart Tee的预览针,再连接到Infinite Tee的第二针,这没有什么区别。

将相机滤镜连接到T型接头时, GraphEdit报告其输出引脚类型已更改为YUY2, 16 bits 强烈怀疑这是问题的根源。

我是否可以查看日志以了解发生了什么情况?

在这些“工具”应用程序中,是否有一种方法可以控制相机的输出引脚类型,从而控制下游滤波器?

我应该使用期望RGB32视频的其他类型的T型滤波器吗?

可能的问题是,尝试连接视频渲染器涉及重新协商适合视频渲染器的媒体类型。 由于Tee过滤器无法安排此类媒体类型,因此它尝试重新协商上游连接和/或提供转换过滤器,这最终导致建立了管线,看起来如此,但是一旦真正的视频开始通过,某些格式或分辨率不匹配,实际的视频帧就会丢失。

该问题可能是特定于此IP源过滤器的,因为从设计上讲,它仅限于特定的解码器,并且在不知道实际M-JPEG提要而期望在流传输时解析格式的情况下进行初始化。

以交互方式构建过滤器图形时,请确保检查介质类型并检查分辨率和像素格式是否有意义。 以编程方式构建图形时,还请确保依次知道连接媒体类型来构建管道(在GraphStudioNext中,您可以Ctrl + Shift + M以便每个连接提示您输入要使用的特定媒体类型),并且还希望添加适配器过滤器明确地在必要时显示(tee输出将不会连接到视频渲染器,因此您自己插入Color Space Converter或类似产品,而不会期望Intelligent Connect为您完成此操作)。

当引脚连接属性匹配时,视频将通过,例如:

在此处输入图片说明

要么

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM