如何在.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文件,我们需要为这些文件注入直接显示过滤器。