【发布时间】:2012-09-01 04:41:38
【问题描述】:
我目前正在探索如何从视频文件创建缩略图。到目前为止,我可以使用 ffmpeg 生成缩略图,但是如果有任何其他方法可以在不涉及可执行(.exe)文件的情况下生成缩略图,有人可以建议我。
谢谢, 新手,请指导我...
【问题讨论】:
-
我想,你已经找到了最好的解决方案。
标签: c# asp.net thumbnails
我目前正在探索如何从视频文件创建缩略图。到目前为止,我可以使用 ffmpeg 生成缩略图,但是如果有任何其他方法可以在不涉及可执行(.exe)文件的情况下生成缩略图,有人可以建议我。
谢谢, 新手,请指导我...
【问题讨论】:
标签: c# asp.net thumbnails
ffmpeg.exe 是生成视频缩略图的最佳解决方案,因为它是根据 LGPL 或 GPL 许可的免费软件。
您可以在其他几个地方找到解决方案:
【讨论】:
如果您只需要一个通用缩略图,一个简单的方法是通过 WindowsAPICodePack.Shell 包。可以生成小、中、大或超大的缩略图。对输出的控制没有 ffmpeg 那么多,但是当使用通用缩略图或避免外部 exe 时,很难击败这种方法。
using Microsoft.WindowsAPICodePack.Shell;
using System.Drawing;
namespace GetVideoThumbnail
{
class VideoThumbnail
{
static void Main(string[] args)
{
string videoPath = @"C:\Users\NotSure\Desktop\SampleVideo.MP4";
// Create shell object
ShellObject videoShellObject = ShellObject.FromParsingName(videoPath);
// Create bitmap and/or save locally
Bitmap thumbnailBmp = videoShellObject.Thumbnail.LargeBitmap;
thumbnailBmp.Save(@"C:\Users\NotSure\Desktop\SampleVideoThumbnail.bmp");
}
}
}
【讨论】:
您可能想尝试AForge 的VideoFileReader,特别是AForge.Video.FFMPEG.VideoFileReader。它使用 ffmpeg DLL。
或者,在 Windows 7 上,您可以使用 WindowsAPICodePack 中的 ShellFile.Thumbnail 或使用 DirectShow 通过 VideoRenderer 保存帧。
我最近使用了 ShellFile 方法,用 VideoFileReader 作为备份。
【讨论】: