我正在尝试在我的应用程序中预览来自4K摄像头(Brio)的视频流。该应用程序使用DirectShow打开摄像头并接收帧。过滤器配置如下图所示。

问题是高分辨率(即4096x2160)。在4096x2160分辨率下,当我预览视频流时,GraphEdit和我的应用程序都有延迟。我正在Windows10上进行测试。请注意,Windows10预装的摄像头应用程序在这种分辨率下工作得很好。我也用MediaCapture Api对UWP示例进行了同样的尝试,但问题是一样的。
我遗漏了什么?
发布于 2020-08-14 04:48:34
Windows10预装的摄像头应用程序不使用DirectShow,使用基于Media Foundation API的完全不同的代码路径,特别是在JPEG解压缩方面总体上更有效。也就是说,你不能直接将你的基于DirectShow的图表与Windows Store相机应用程序正在做的事情进行比较。
在您的情况下,MJPEG Decompressor Filter是一个过时的软件,与此解决方案不兼容,并且是一个瓶颈。另外,对于现场视频,DirectShow图需要有Smart Tee Filter。
在性能方面,我建议在media Foundation上构建媒体管道,尽管它比较困难,而且只有较少的文档和示例。
https://stackoverflow.com/questions/63393696
复制相似问题