首页 > 解决方案 > 4K MJPEG 相机视频预览延迟(在 Windows 10 上)

问题描述

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

在此处输入图像描述

问题在于高分辨率(即 4096x2160)。使用 4096x2160 分辨率,当我预览视频流时,GraphEdit 和我的应用程序都有延迟。我正在 Windows 10 上对此进行测试。请注意,Windows 10 预装的相机应用程序在此分辨率下完美运行。我也使用 MediaCapture Api 对 UWP 示例进行了同样的尝试,但问题是一样的。

我错过了什么?

标签: windows-10directshowgrapheditmediacapture

解决方案


Windows 10 预装的 Camera 应用程序不使用 DirectShow,使用基于 Media Foundation API 的完全不同的代码路径,特别是在 JPEG 解压缩方面整体效率更高。也就是说,您无法直接将基于 DirectShow 的图表与 Windows Store Camera 应用程序正在执行的操作进行比较。

在您的情况下, MJPEG Decompressor Filter是一个过时的软件,与此分辨率不兼容,是一个瓶颈。另外对于直播视频 DirectShow 图形需要有Smart Tee Filter

性能方面,我建议在 Media Foundation 上构建媒体管道,尽管它更困难并且文档和示例更少。


推荐阅读