解决方案 »
- Winform导出Excel2007怎么兼容2003???
- 为什么子窗体设为最大化,父窗体加载子窗体时,子窗体里面的东西向上移动了呢?
- C#中怎么获得GIF动画文件中每一帧的时间(毫秒)?
- 两个类之间互相调用方法速度很慢的问题
- c# 删除处理!
- cs第三方控件gridview 行样式
- 在线等待:请问C#如何调用操作系统程序,如记事本等?
- 如和关闭web窗口?如何让用户必须登录才能进入某个页面?
- 关于axWebBrowser刷新问题,找遍所有贴子和网,没发现有解决此问题的答案,在这里请高手帮忙,不胜感激
- 在ADO。NET中怎么用存储过程啊?
- 【Xamarin公开培训课】C#开发iOS、Android应用,全面解析 Q&A贴
- 用VS2013 4.0框架发布出来的exe文件在XP中为何无法安装
第一个是使用Shell32.dll获取文件的详细信息
第二个是开源的第三方MediaInfo
第三个是Directshow中的IMediaDet进行视频帧的提取,但Directshow是做播放器的,可能会要打开视频,这还要楼主自己去尝试
暂时就发现这几个方法,如果楼主成功或者有新的方法记得分享学习下
用Shell32.dll只能有效获取一部分视频文件(不超过50%)的帧宽高信息,不能有效获取的值都为空或0。
用MediaInfo可以获取绝大部分(99%)视频文件的帧宽高信息,1%抛出异常不能获取。最大的问题是获取效率很低,超过一半的视频文件的获取需要耗时1秒以上,这对于有数百个文件的操作来说不能接受。还没有找到更好的方法。