我目前正在探索如何从视频文件创建缩略图。到目前为止,我能够使用 ffmpeg 生成缩略图,但是如果有任何其他方法可以在不涉及可执行(.exe)文件的情况下生成缩略图,有人可以建议我。
谢谢,新手,请指导我...
我目前正在探索如何从视频文件创建缩略图。到目前为止,我能够使用 ffmpeg 生成缩略图,但是如果有任何其他方法可以在不涉及可执行(.exe)文件的情况下生成缩略图,有人可以建议我。
谢谢,新手,请指导我...
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 上,您可以使用ShellFile.Thumbnail
WindowsAPICodePack 或使用 DirectShow 通过 VideoRenderer 保存帧。
我最近使用了 ShellFile 方法,并使用 VideoFileReader 作为备份。