如何在媒体基础中播放 IMFMediaSample?
Posted
技术标签:
【中文标题】如何在媒体基础中播放 IMFMediaSample?【英文标题】:How to play IMFMediaSample in media foundation? 【发布时间】:2012-03-15 12:07:19 【问题描述】:我可以使用 readSample 方法从视频中提取样本。现在如何播放这些样本中的数据?或者怎么玩IMFSample?
【问题讨论】:
【参考方案1】:样本IMFSample
是一个数据块,例如视频帧或音频序列块。这是一个很小的数据,可以单独播放。该 API 解决了更复杂的播放场景,例如播放是一个会话,其中一个或多个流同步流式传输。
请务必查看 MSDN 上的 Getting Started with MFPlay,了解如何使用 Media Foundation 设置播放。
【讨论】:
感谢您的回复.. 但我需要读取块(或样本或 mediaBuffer)的视频文件并使用媒体基础库播放它。就像它在互联网上流式传输时发生的方式一样,视频被分段发送到客户端。请在这方面提供帮助或建议除 IMFSamples 之外的任何替代方案。 MF 创建一个播放管道,因此您需要一个生成数据的源msdn.microsoft.com/en-us/library/windows/desktop/… 手头有单独的缓冲区,您需要创建自定义源:msdn.microsoft.com/en-us/library/windows/desktop/… @Roman,显然你是一些 MVP,等等......但你的每一个答案都是 MSDN 链接到媒体基金会。您真的认为我们很久以前就无法在此处发布问题之前自行找到它吗? Media Foundation 非常没用,技术极其复杂且不灵活。 VFW 时代的 MS 正在创造一种比另一种更糟糕的技术……DShow、WMF……下一个可能需要 10 名开发人员和 6 个月的时间来渲染一帧,这在用户模式下绝对无法访问。所以,一些具体的答案将不胜感激。 @user1764961:大部分问题分为两类:1
发帖者确实无法在 MSDN 上找到直接答案,2
发帖者没有提到他已经发现让任何人阅读他的问题的原因用 MSDN 搜索跟随他,这毫无意义。
3 你真的不知道答案。以上是关于如何在媒体基础中播放 IMFMediaSample?的主要内容,如果未能解决你的问题,请参考以下文章
如何在媒体基础中有自定义视频媒体/流接收器请求 RGB32 帧?