【问题标题】:4K MJPEG Camera Video Preview with delay (on Windows 10)4K MJPEG 相机视频预览延迟(在 Windows 10 上)
【发布时间】:2020-08-13 10:59:31
【问题描述】:
我正在尝试在我的应用程序中预览来自 4K 相机 (Brio) 的视频流。该应用程序使用 DirectShow 打开相机并接收帧。过滤器配置如下图所示。
问题在于高分辨率(即 4096x2160)。使用 4096x2160 分辨率,当我预览视频流时,GraphEdit 和我的应用程序都有延迟。
我正在 Windows 10 上对此进行测试。请注意,Windows 10 预装的相机应用程序在此分辨率下完美运行。我也尝试过使用 MediaCapture Api 的 UWP 示例,但问题是一样的。
我错过了什么?
【问题讨论】:
标签:
windows-10
directshow
graphedit
mediacapture
【解决方案1】:
Windows 10 预装的 Camera 应用程序不使用 DirectShow,使用基于 Media Foundation API 的完全不同的代码路径,尤其是在 JPEG 解压缩方面整体效率更高。也就是说,您无法直接将基于 DirectShow 的图表与 Windows Store Camera 应用正在执行的操作进行比较。
在您的情况下,MJPEG Decompressor Filter 是与此解决方案不兼容的过时软件,是一个瓶颈。另外对于直播视频DirectShow图需要有Smart Tee Filter。
在性能方面,我建议在 Media Foundation 上构建媒体管道,尽管它更加困难并且附带的文档和示例更少。