繁体   English   中英

获取视频文件的本机视频分辨率

[英]Get native video resolution of a video file

我目前正在为Media Foundation播放器编写一些自定义EVR。

到目前为止,一切正常,但是我需要找到我正在渲染的视频文件的原始分辨率。

我尝试使用IBasicFilter2接口来使用getVideoSize,get_VideoHeight或其他get_SourceWidth等...但是它总是返回我一个E_NOINTERFACE ...

那么,有人可以通过简单的方法来获取视频文件的分辨率吗? 即使它有一个不错的光源库...大小也没有其他... Windows设法在文件浏览器中找到它,但是我完全无法从代码中获取它...

谢谢!

您可以在DirectShow中使用IMediaDet获取有关媒体文件中流的信息,包括视频流的分辨率。

尽管有一些警告,所以您可能需要备份方法。

您需要注册合适的DirectShow过滤器,以了解正在检查的媒体文件。 您可能安装了导致错误结果的过滤器-例如,仅音频过滤器已注册为忽略文件中任何视频流的媒体类型。

MDS参考页上目前不推荐使用该功能,而没有任何替代方法。 由于标头已从Windows SDK中删除,因此构建起来也很麻烦。

这是这种方法不起作用的一种情况... 获取MP4流长度

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM