- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正致力于从视频捕获设备中检索图像数据。对我来说重要的是我有一个相当特定格式的原始输出数据,我需要一个连续的数据流。因此我想使用 IMFSourceReader。我非常了解它是如何工作的。为了使整个管道正常工作,我检查了相机的输出格式并查看了可用的媒体基础转换 (MFT)。
这里的关键函数是IMFSourceReader::SetCurrentMediaType
。我想详细说明我发现的一个关键功能。如果我只是使用带有所需输出格式参数的函数,它会更改一些参数,如 fps 或分辨率,但调用会成功。当我第一次使用带有我想要的参数和错误子类型(如 MJPG 或其他)的原生媒体类型调用该函数并使用我想要的参数和正确再次调用它时> subtype 调用成功,我得到了正确的参数。我怀疑这只有在合适的 MFT(解码器)可用时才是正确的。
到目前为止,我已经击败了 WMF,获得了我想要的东西。现在的问题是,第二次调用 IMFSourceReader::SetCurrentMediaType
需要很长时间。持续时间在很大程度上取决于所使用的相机。从 0.5s 到 10s 不等。老实说,我真的不知道为什么要花这么长时间,但我认为正确转换路径的计算和/或转换的初始化是问题所在。我发现过多地加载和卸载了相同的 dll(ntasn1.dll、ncrypt.dll、igd10iumd32.dll)。但是我自己加载一次并没有改变任何东西。
那么有人知道这个问题并且有快速解决方法吗?
或者有人知道解决方法:
IMFSourceReader
?最佳答案
您基本上首先描述了 Source Reader 的工作方式。底层媒体源有自己的媒体类型,如果读者需要适应请求的媒体类型和最接近的原始媒体类型,它可以提供转换。
视频捕获设备往往会公开许多 [本地] 媒体类型(我有一个网络摄像头,其中列举了 475 种!),因此如果格式适配不顺利,源代码阅读器可能需要一些时间来尝试一种或另一种转换。
请注意,您可以通过应用 certain attributes 来禁用源阅读器的转换像 MF_READWRITE_DISABLE_CONVERTERS
,在这种情况下,无法直接在源上设置视频格式会导致失败。
您还可以读取原始设备格式的数据,并通过将数据输入一个或一系列 MFT 来自行解码/转换/处理。通常,当您在源阅读器上设置相应格式时,源阅读器会为您管理 MFT。但是,如果您愿意,您也可以自己做。不幸的是,您无法构建 MFT 链供源代码阅读器管理。要么将其完全留在源阅读器上,要么设置 native 媒体类型,从阅读器中以原始格式读取数据,然后通过执行 IMFTransform::ProcessInput
管理您这边的 MFT, IMFTransform::ProcessOutput
和 friend 。这不像源代码阅读器那么容易,但也是可行的。
关于c++ - Windows Media Foundation:IMFSourceReader::SetCurrentMediaType 执行时间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43740817/
我想加载带有本地回退的 foundation.min.js 的 CDN 版本。问题是:如何检测是否加载了 foundation.js? 我看到它是用 jQuery、modernizr、Bootstra
我从 v3 开始就一直在使用 Foundation,所以我没想到会出现这种困惑。 在这种特殊情况下,我需要一个固定宽度的左列(大 3),然后是一个流动/响应内容列(大 9)作为其余部分。
我在从最新的 Foundation 定制 Orbit 时遇到问题。来自 the docs : Orbit 选项此时只能在初始化时传入。 { timer_speed: 10000, animat
在以下非常基本的示例中,开关可以正常工作并且样式正确。如果我只是将 foundation.css 版本从 5.5.2 更改为 6.0.5,切换样式就会丢失。为什么开关在 Foundation 6.0
如何禁用中/小屏幕的顶部栏折叠? 我按照 Here 中的说明进行操作但无论我将最小宽度设置为什么,我都会得到相同的结果。 最佳答案 如果您使用的是 SCSS 版本,那么您可以修改断点。 $topbar
出于多种原因,复选框在最新的 Foundation (4.1.6) 中存在问题。有没有一种简单的方法可以阻止 Foundation 接管它们?我需要 custom我的类 form s 其他原因。我如何
我希望在显示模式窗口中播放的视频在模式窗口关闭时停止播放(谁不呢?)。通过将 iframe 源设置为空,可以使用 jQuery 轻松完成此操作。 但我不知道如何让它在回调中工作。模态窗口本身按预期运行
我最近开始将 Zurb Foundation 4 用于 Asp MVC 网站,但我不太明白开关控件应该如何工作。文档没有说太多 http://foundation.zurb.com/docs/comp
是否可以合并top-bar和 tab-bar ( Canvas 外)? 这个: 调整到手机尺寸时变成这样: 但我还想包括标签栏( Canvas 外)所以它变成这样 我无法想象这是如何做到的,我试图制作
我的问题是,在桌面上我喜欢先有菜单,然后是最右上角的标志。目前,当我将模板缩小到移动版本时, Logo 位于菜单下方,这并不令人满意。我想在菜单之前吃。我试过使用推/拉没有成功。 在移动 View 中
我直接从他们的网站 https://foundation.zurb.com/sites/docs/top-bar.html 复制了基础导航栏语法并且下拉菜单功能似乎不起作用 代码如下:
刚刚切换我的 Rails 项目以测试 Zurb Foundation 5,现在切换顶部栏菜单不起作用。 当视口(viewport)很小时,顶部栏菜单项消失并且菜单图标像以前一样显示,但是当我单击菜单图
如何在 Foundation 4 中以编程方式显示模态? 在 Foundation 3 中,我们有易于使用的 reveal() 方法。 您可以在 Foundation 4 中使用什么?请帮忙。 最佳答
我正在使用启用了 flexbox 的 Foundation 6 Zurb 模板,但按钮组的扩展功能不起作用。 当我添加扩展类时,最后一个按钮不会填满最后一个空格并掉到左侧的下一行。文本不再内联,按钮的
我正在使用 Zurb Foundation 并具有以下 html: Tab 1 Content of section 1. Tab
我正在尝试使用 zurb Foundation 5 显示模式。但是当我单击按钮时它不起作用并且无法打开。我正在使用这个 html 代码。 index Awesome. I ha
有什么我可以在命令行中输入的东西来找出我正在运行的版本吗? 最佳答案 在不了解您的具体情况的情况下,最简单的方法是在初始化 Foundation ( $(document).foundation();
Foundation 5 上曾经有一个“圆形”类,可以将按钮组转换为具有圆形边缘。我如何在 Foundation 6 中执行此操作? 最佳答案 这在 Foundation 6 中是不可能的。为了减小文
我正在使用 Zurb 的 Foundation 4.2.3,但是当我打印页面时,网格布局始终没有得到维护。 例如, XXX Lorem
作为 Zurb's Foundation 一部分的轨道 slider 好像加了一个类hide-for-small到导航。 我需要导航仍然显示,以便显示我的内容。我试过删除 hide-for-small
我是一名优秀的程序员,十分优秀!