高于 FullHD 分辨率的帧丢失.MediaFoundation 中是否提供 AVI 解压缩器转换过滤器? [英] Frame loss for above FullHD resolution .Is AVI Decompressor transform filter available in MediaFoundation?

查看:31
本文介绍了高于 FullHD 分辨率的帧丢失.MediaFoundation 中是否提供 AVI 解压缩器转换过滤器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 SourceReader MediaFoundation 技术为桌面开发多媒体流应用程序.

I'm developing a multimedia streaming application for Desktop using SourceReader MediaFoundation technique.

我正在使用 USB 摄像头设备来显示流媒体.相机支持 2 种视频格式:YUY2 和 MJPG.

I'm using USB camera device to show streaming. The camera supports 2-video formats: YUY2 and MJPG.

对于 1980x1080p YUY2 视频分辨率,60fps 仅接收 48fps.我从 MSDN 页面获取了 YUY2-RGB32 转换并在我的应用程序中使用(注意:我没有使用任何转换过滤器进行颜色转换).

For 1980x1080p YUY2 video resolution, receiving only 48fps for 60fps. I fetched YUY2-RGB32 conversion from MSDN page and using in my application (Note: I didn't use any transform filter for color conversion).

对于 MJPG 视频格式,我使用 MJPEG Decoder MFT 转换 MJPG - YUY2 - RGB32,然后使用 Direct3D9 在窗口上显示.对于特定分辨率,我面临着帧率从 60fps 下降到 30fps(例如: 1920x1080 60fps 但仅绘制 30-33fps)的问题.

For MJPG video format, I used MJPEG Decoder MFT to convert MJPG - YUY2 - RGB32 and then displaying on the window using Direct3D9. For specific resolution, I'm facing framerate drops from 60fps to 30fps(Ex: 1920x1080 60fps but drawing only 30-33fps).

两种方式,我在Graphedit中验证以确认过滤器:

Two ways, I verified in Graphedit to confirm about the filter:

  1. 添加了 MJPEG 解压器过滤器,并为 MJPG 视频格式构建了图表,以检查全高清分辨率的 fps 及其显示 28fps 的 60fps.

  1. Added MJPEG Decompressor filter and built the graph for MJPG video format to check fps for FullHD resolution and its showing 28fps for 60fps.

添加了AVI 解压器过滤器,并为 MJPG 视频格式构建了图表,以检查全高清分辨率的 fps 及其显示为 60fps.

Added AVI Decompressor filter and built the graph for MJPG video format to check fps for FullHD resolution and its showing 60fps.

我已经在许多网站上搜索过用于媒体基础的 AVI 解压器,但没有成功.

I have searched on many sites to find AVI decompressor for media foundation but no luck.

谁确认一下,MFT 中是否有可用的过滤器?

Anyone confirm, is there any filter available in MFT?

推荐答案

Microsoft 提供带有库存 Motion JPEG 解码器的 [最新版本] Windows:

Microsoft ships [recent versions of] Windows with stock Motion JPEG decoders:

  • MJPEG Decompressor Filter for DirectShow
  • MJPEG Decoder MFT for Media Foundation

据我所知,它们不共享代码库,但是两者都不应该是性能高效的解码器.

To my best knowledge those do not share codebases, however both are not supposed to be performance efficient decoders.

您使用 GraphEdit 意味着您正在尝试 DirectShow 解码器,而 AVI Decompressor 据说正在使用您未识别的另一个(Windows 视频)编解码器.

Your using GraphEdit means you are trying DirectShow decoders and AVI Decompressor is supposedly using another (Video for Windows) codec which you did not identify.

对于 Media Foundation,如果您有相应的硬件和驱动程序,您或许可以使用 Intel Hardware M-JPEG Decoder MFT 或 NVIDIA MJPEG Video Decoder MFT.据推测,供应商特定的解码器提供更好的性能,并且与通用软件同行相比也具有更高的优先级.除此之外,对于 MFT 外形规格,您可能需要查看商业解码器和/或定制开发的,因为 API 本身并不流行,无法提供广泛的选项.

For Media Foundation, you might be able to use Intel Hardware M-JPEG Decoder MFT or NVIDIA MJPEG Video Decoder MFT is you have respective hardware and drivers. Presumably, vendor specific decoders deliver better performance, and also have higher priority compared to generic software peers. Other than this, for an MFT form factor you might need to look at commercial decoders and/or custom developed, as the API itself is not so much popular to offer a wide range of options.

这篇关于高于 FullHD 分辨率的帧丢失.MediaFoundation 中是否提供 AVI 解压缩器转换过滤器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆