问题标签 [ms-media-foundation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1653 浏览

c++ - 3 使用 videoInput 或其他任何东西进行摄像头捕获

我正在研究实时制作高动态范围视频的项目。目标是使用 3 个现成的网络摄像头(Microsoft LiveCam Studio)来实现。我开始尝试使用 OpenCV,但在打开摄像头时遇到了困难。于是我直接跳了过去videoInput。我可以让任何两个相机相互配合。我可以让任何两个网络摄像头与笔记本电脑上的内置网络摄像头配合使用。但是如果我尝试同时运行所有三个网络摄像头,我会得到

错误:无法启动图表'

经过几个小时的调查后videoInput.cpp,我无法弄清楚为什么两个相同类型的相机没有问题,但是当我添加第三个时却失败了。

当我到达这堵意想不到的墙时,我以为我的项目几乎完成了。

你对此有什么想法吗?

视窗 7(64)

视觉工作室 2011

我需要以同步的方式从所有 3 台摄像机中获取一帧。我愿意接受有关如何完成这项工作的任何建议。是否有任何其他框架可以让我避免使用 DirectShow 或 MediaFoundation?有没有人有我可以查看的代码,可以打开多个摄像头并从流中拉出帧?

0 投票
1 回答
523 浏览

com - 在 IMFMediaSource::ReadSample 中追踪 E_POINTER 的来源

我从 ReadSample 调用中收到 E_POINTER 错误,据我所知,没有一个指针是无效的。请参见下面的片段(注意,它是一个 C++/CLI 应用程序):

我怀疑问题在于 mSourceReader(一个 IMFSourceReader 实例,从 IMFMediaSource 创建)的构造。但是,唉,我不知道如何回溯并找到源,因为创建 mSourceReader 的命令链中的所有 COM 调用都返回了 S_OK。

非常感谢任何提示。

0 投票
1 回答
632 浏览

directshow - 关于“在 DirectShow 之外使用 DirectShow 过滤器?”

我在以下链接中有完全相同的问题,在 DirectShow 之外使用 DirectShow 过滤器? 我是一个新鲜的导演节目,那个堆栈中的两个答案对我来说还不够清楚。而且我找不到与作者联系以询问他是否解决了他的问题的方法。有没有办法做到这一点?

或者,有人可以更详细地解释这两个答案吗?“手动”调用各种过滤器是什么意思,“包装整个过滤器图”是什么意思?

0 投票
2 回答
464 浏览

visual-studio-2008 - 媒体基础:将第三方解码器 dll 添加到拓扑

我是 Microsoft 媒体基金会的新手。我正在运行 MSDN 中的示例播放代码。现在,我想将第三方解码器的 MFT 添加到拓扑中。这可能吗 ?

提前致谢,

斯里兰卡

0 投票
1 回答
427 浏览

visual-studio-2008 - 媒体基金会:媒体会议

我想使用媒体基金会的媒体会话技术创建一个应用程序。使用源阅读器和媒体会话之间的确切区别是什么?

提前致谢,

斯里兰卡

0 投票
1 回答
447 浏览

visual-studio-2008 - 媒体会话示例

我是媒体基金会的新手。任何人都可以使用媒体会话技术帮助我处理视频播放示例代码。我想为第三方解码器添加 MFT(解码 H264 视频文件)。请帮助我处理已经在 Media Foundation 上工作的代码。

0 投票
1 回答
885 浏览

c# - 在 C# 中的 Directshow DMO“恒定帧率转换器”中设置属性

0 投票
1 回答
4477 浏览

video - 使用 Media Foundation 进行 mp4-h264 视频解码

我正在测试如何使用 MS Media Foundation SDK 集成 libavcodec (http://en.wikipedia.org/wiki/Libavcodec),以便将 h264 无损格式视频解码为 YUV/RGB 原始数据

我有两个问题:

  1. 我在将使用 h264/AVC(常规,非无损格式)编码的 mp4 视频加载到 MFPlayer(从 MF SDK 示例在 VS2010 中编译)时遇到问题,错误代码是:坏字节流。当我尝试将相同的视频加载为流时,发生了同样的错误(源阅读器代码取自http://msdn.microsoft.com/en-us/library/dd389281%28v=VS.85%29.aspx)或作为使用转码示例的会话。可能有人可以分享如何使用 Media Foundation 加载 mp4-h264 视频的经验。

  2. 我应该将第三方编解码器集成到基于 Media Foundation 的解码中。根据 MSDN,Media Foundation 对第三方编解码器有一些支持,但是我没有找到使用第三方编解码器进行解码的示例。可能有人这样做?或者可以参考如何做到这一点的可用示例。

提前致谢, Ze'ev

0 投票
1 回答
5386 浏览

visual-c++ - 如何获取系统上可用的所有 Microsoft 媒体基础转换 (MFT) 的列表

我是 Windows 原生开发的新手,但我的任务是创建一个小应用程序,列出各种视频+音频编解码器的所有转换器。

查看 MSDN 文档,似乎没有太多关于这样做的直接文档。我发现的文档表明此信息存储在注册表中(不确定在哪里),因此可能是一个向量。

  1. 这可能吗?
  2. 一般我应该怎么做?

谢谢

编辑:

似乎调用 MFTEnumEx 并将 MFT_REGISTER_TYPE_INFO 类型的参数设置为 NULL 返回计数为 8

尽管如此,仍然必须获得实际值。但是传递的 ppActivate 参数应该包含它们的枚举。

编辑: 令人惊讶的是,虽然上面的计数 == 8,但没有视频或音频属性(视频/音频 IMFAttributes 对象为 NULL)

编辑:

这是一种从机器中提取所有 IMFMediaTypes 的方法(来自《开发 Microsoft® 媒体基础应用程序》一书的修改调用);然后我在调用者中枚举它们:

呼叫者:

它从 IMFMediaInterface 获取了一些属性,但设置的属性并不多,并且调用mediaInterface->GetUINT32(MF_MT_COMPRESSED, &isCompressedP)不成功,但调用成功(IMFMediaType*)mediaInterface)->IsCompressedFormat(&isCompressedP2),这让我怀疑我是否做错了。

0 投票
0 回答
381 浏览

wpf - 如何为 ATL COM dll 提供 WPF 控件的 HWND

我有一个 C++ ATL COM DLL (phew),它公开了一个 VideoPlayer 类,它本身封装了对 Windows Media Foundation 的调用。

我从 WPF 应用程序中使用这个 DLL,我想在其中在控件中显示视频。

我的 DLL 有一个名为 Initialize 的方法,它需要 2 个 HWND 用于 MF。

我应该如何声明这个函数?我应该在 WPF 应用程序中给它什么?

目前,我有:

视频播放器.h

视频播放器.cpp

WPF 应用程序:

我在 Initialize 函数中收到正确的值,但转换为 HWND 失败...

有任何想法吗?

提前致谢

麦克风