以上全高清分辨率出现帧丢失。MediaFoundation 中是否提供 AVI Decompressor 转换过滤器?

2024-03-25

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

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

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

对于 MJPG 视频格式,我使用MJPEG 解码器 MFT转换MJPG - YUY2 - RGB32,然后使用Direct3D9在窗口上显示。对于特定分辨率,我面临帧速率从 60fps 下降到 30fps(Ex:1920x1080 60fps 但绘图仅 30-33fps)。

我通过两种方式在 Graphedit 中进行了验证以确认过滤器:

  1. Added MJPEG 解压缩过滤器并构建了 MJPG 视频格式的图表来检查全高清分辨率的 fps,并显示 60fps 的 28fps。

  2. Added AVI 解压缩过滤器并构建了 MJPG 视频格式的图表来检查全高清分辨率的 fps 及其显示的 60fps。

我在很多网站上搜索过用于媒体基础的 AVI 解压缩器,但没有成功。

有人确认一下,MFT 中有可用的过滤器吗?


Microsoft 为 Windows [最新版本] 提供了库存 Motion JPEG 解码器:

  • MJPEG 解压缩过滤器 https://msdn.microsoft.com/en-us/library/windows/desktop/dd390691用于DirectShow
  • 适用于媒体基础的 MJPEG 解码器 MFT

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以上全高清分辨率出现帧丢失。MediaFoundation 中是否提供 AVI Decompressor 转换过滤器? 的相关文章

随机推荐

  • 是否有创建 BPMN 的 Java API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有办法以编程方式创建BPMN 2 0 http en wikipedia org wiki Business Process Mode
  • Symfony2 minify 无需 java 或 node

    我无法访问共享主机上的 java 或 node 有没有办法缩小服务器端 这样我就可以继续使用 assetic 而不需要这些引擎 Uglify 使用node yui compressor 无论如何已弃用 使用java Thanks 似乎有 2
  • 已安装的 gem 列表?

    我可以调用 Ruby 方法来获取已安装 gem 的列表吗 我想解析的输出gem list 有其他方法可以做到这一点吗 这列出了我安装的所有 gem gem query local http guides rubygems org comma
  • 如何使用 Moment.js 将日期验证为指定格式?

    我无法找到有关如何使用 moment js 验证日期输入以确保其格式为 2017 12 31T23 59 59Z 的现有问题 答案 鉴于我有一个日期字符串 2017 12 31T23 59 59Z 如何验证日期字符串严格采用指定的格式 YY
  • 如何使用sidenav的EventEmitter(onClose)

    我想检查一下我的
  • c# SSL TCPServer 卡在 SsLStream.AuthenticateAsServer()

    故事情节 我想用 C 创建我自己的网络服务器 第一次尝试 进展顺利 我正在使用Visual Studio 到代码申请和火狐浏览器检查如果我做得对的话 并且我成功地制作了一个基本的 TCPServer 当我尝试向其添加 SSL 支持时 遇到了
  • Symfony2 多个应用程序和以 api 为中心的应用程序

    我正在尝试做一个以 Symfony2 为中心的应用程序 并重新使用 Web 前端应用程序的所有捆绑包 该应用程序将分为三个API FrontEnd BackEnd 以便我们可以像Service Bundle一样编码API并在整个应用程序中使
  • 如何使用 Dart 和 Shelf 提供动态和静态页面?

    Using shelf static通过 Dart 提供静态网页是没有问题的 var staticHandler createStaticHandler staticPath defaultDocument home html io ser
  • Nodejs 分析:父级(切片字符串)

    我分析了我的 Nodejs 应用程序并看到一些奇怪的字符串 它被标记为父级 切片字符串 我使用 v8 profiler 和 node inspector 这是分析器屏幕的照片 抱歉是照片 不是屏幕截图 只是我的系统真的超载并且没有足够的空间
  • 如何从 PHP 调用 RESTful WCF 服务

    我正在尝试使用 PHP 中的 REST 向自托管 WCF 服务发送请求 我想将对象作为 JSON 对象发送到 WCF 服务 我还没有让它运行 有谁有如何从 PHP 调用服务的示例吗 这是操作合约 方法是POST方法 OperationCon
  • 如何使 CriteriaBuilder 加入自定义“开启”条件?

    我想使用 CriteriaBuilder 在连接 2 个表的位置进行查询 在 MySQL 中 我尝试进行的查询如下所示 SELECT FROM order LEFT JOIN item ON order id item order id A
  • Memorystream.Read() 始终返回 0 bytesRead 和空 byte[]

    我目前有一个内存流 http msdn microsoft com en us library System IO MemoryStream v vs 110 aspx长度约为30000 Named memStream here 我希望这个
  • python包中的statsmodels,如何处理重复的特征?

    我是 R 的重度用户 最近正在学习 python 我有一个关于 statsmodels api 如何处理重复功能的问题 据我了解 这个函数是R包中glm的python版本 所以我期望该函数返回最大似然估计 MLE 我的问题是 statsmo
  • winapi 从函数地址获取损坏的名称

    在我的 C 应用程序中 我有函数的虚拟地址 我想获取它们mangled名称 现在我只能使用 winapi 获得未损坏的名称SymFromAddr功能 有没有办法也获得损坏的名称 Use 符号集选项 http msdn microsoft c
  • 在 emplace() 内创建对象时复制省略

    我在工作中看到很多代码 人们将 emplace 和 emplace back 与临时对象一起使用 如下所示 struct A A A int int vector a v vector a emplace back A 1 2 我知道 em
  • php 正则表达式 [b] 到

    b b is 我当前的正则表达式是否有效 但我想将 改为 但它不起作用 除了 我还需要改变什么 有例如 可用于 PHP http www php net manual en book bbcode php http www php net
  • bluej接口的eclipse插件[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 错误:static_cast 未声明->目标 C

    我正在从 cpp 移植到 Objective C 目标C pPacket SetHeaderSequenceNumber static cast
  • Rubywarrior Level 4(清理我的代码帮助)

    我正在通过 Ruby 学习编程 并且我发现了来自 Railscasts 的 Ryan Bates 编写的很棒的 Rubywarrior 不幸的是 我陷入了我的代码抛出语法错误消息 意外的 end 的困境 我不是在寻求答案 我想自己解决这个问
  • 以上全高清分辨率出现帧丢失。MediaFoundation 中是否提供 AVI Decompressor 转换过滤器?

    我正在使用 SourceReader MediaFoundation 技术开发一个桌面多媒体流应用程序 我正在使用 USB 摄像头设备来显示流媒体 该相机支持 2 种视频格式 YUY2 和 MJPG 对于 1980x1080p YUY2 视