如何在.Net中获取视频缩略图?
时间:2020-03-06 14:57:03 来源:igfitidea点击:
我正在寻求实现从输入视频中检索单个帧的功能,因此可以将其用作缩略图。
遵循这些原则的东西应该起作用:
// filename examples: "test.avi", "test.dvr-ms" // position is from 0 to 100 percent (0.0 to 1.0) // returns a bitmap byte[] GetVideoThumbnail(string filename, float position) { }
有谁知道如何在.Net 3.0中执行此操作?
正确的解决方案将是此功能的"最佳"实现。
避免选择空白帧的加分点。
解决方案
该项目将解决AVI的难题:http://www.codeproject.com/KB/audio-video/avifilewrapper.aspx
任何其他格式,我们都可以查看DirectShow。有一些项目可能会有所帮助:
http://sourceforge.net/projects/directshownet/
http://code.google.com/p/slimdx/
www.mitov.com上有一些库可能会有所帮助。它是Directshow功能的通用包装,我认为其中一个演示演示了如何从视频文件中提取帧。
我最终滚动了自己的独立类(使用我描述的单个方法),可以在此处查看源代码。媒体浏览器是GPL,但我为为该文件编写的代码成为Public Domain而感到高兴。请记住,它使用directshow.net项目中的interop,因此我们必须与它们一起清除那部分代码。
此类不适用于DVR-MS文件,我们需要为这些文件注入直接显示过滤器。