我如何获得一个视频缩略图在.net中?(How do I get a Video Thumbnail

2019-07-22 04:03发布

我期待实现检索从输入视频单帧的功能,这样我就可以把它作为一个缩略图。

沿着这些线路的东西应该工作:

// 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做到这一点?

正确的解决办法将是“最好的”执行此功能。 积分为避免空白帧的选择。

Answer 1:

我结束了我自己的滚动单机类(我所描述的一个方法),源可以在这里看到 。 媒体浏览器是 GPL,但我很高兴,因为我写的那个文件是公共领域的代码。 请记住,它使用互操作从directshow.net项目,所以你将不得不清除与它们的代码的部分。

该类不会为DVR-MS文件的工作,你需要注入直接显示过滤那些。



Answer 2:

该项目会为AVI文件的伎俩: http://www.codeproject.com/KB/audio-video/avifilewrapper.aspx

任何其他格式,你可以看看DirectShow的。 有可能帮助几个项目:
http://sourceforge.net/projects/directshownet/
http://code.google.com/p/slimdx/



Answer 3:

1 -从获取最新版本ffmpeg.exe的: http://ffmpeg.arrozcru.org/builds/

2 - 解压缩文件,复制ffmpeg.exe到你的网站

3-使用此代码:

Process ffmpeg;

string video;
string thumb;

video = Server.MapPath("first.avi");
thumb = Server.MapPath("frame.jpg");

ffmpeg = new Process();

ffmpeg.StartInfo.Arguments = " -i "+video+" -ss 00:00:07 -vframes 1 -f image2 -vcodec mjpeg "+thumb;
ffmpeg.StartInfo.FileName = Server.MapPath("ffmpeg.exe");
ffmpeg.Start();


Answer 4:

还有一些图书馆www.mitov.com ,可以帮助。 这是对的DirectShow功能的通用包装,我想演示的一个说明如何进行从视频文件中的帧。



Answer 5:

这也是值得看:

http://www.codeproject.com/Articles/13237/Extract-Frames-from-Video-Files



文章来源: How do I get a Video Thumbnail in .Net?