使用 Media Foundation .NET 从 MP4 获取帧速率
Posted
技术标签:
【中文标题】使用 Media Foundation .NET 从 MP4 获取帧速率【英文标题】:Obtain frame rate from MP4 with Media Foundation .NET 【发布时间】:2013-07-17 19:50:48 【问题描述】:我想获取 MP4 视频文件的每秒帧数。由于 DirectShow 不支持 MP4,我正在寻找其他替代方案,例如 Media Foundation。问题是,经过数小时的谷歌搜索,我无法找到一个学习如何使用 MediaFoundation 的示例。我所发现的都是 C++,我使用 VB 或 C#,从来不知道如何完成这个简单的任务。
【问题讨论】:
您应该能够通过 Windows 7+IPropertyStore
和 PKEY_Video_FrameRate
获得此信息。 DirectShow 解决方案简单但涉及第三方组件。
您的解决方案帮了大忙,非常感谢!
【参考方案1】:
Windows 7(可能还有 Windows Vista)为您提供了 shell API 来访问媒体文件属性。这包括MPEG-4文件中视频流的帧率(.MP4
),因此可以通过IPropertyStore
接口访问属性存储中的PKEY_Video_FrameRate
属性来获取帧率。
【讨论】:
以上是关于使用 Media Foundation .NET 从 MP4 获取帧速率的主要内容,如果未能解决你的问题,请参考以下文章
使用 Microsoft Media Foundation 从文件播放视频
Windows Media Foundation 枚举音频设备