视频缩略图生成

3

我目前正在探索如何从视频文件中创建缩略图。到目前为止,我已经可以使用ffmpeg生成缩略图,但是否有其他方法可以在不涉及可执行文件(.exe)的情况下生成缩略图呢?

谢谢, 初学者,请指教...


1
我认为,你已经找到了最好的解决方案。 - L.B
4个回答

3

1
如果您只需要一个通用的缩略图,最简单的方法是通过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");
        }
    }
}

0

是的!很好,这很有趣。

我解决了这个问题,这也是我的大学毕业任务。

还有更多文章。

1.OpenCV - 这个开源项目最适合使用C/C++,C#和Java编程语言

2.Emg CV - 这个开源项目最适合使用C#编程语言

等等...

试试它们的开源代码。


0

您可以尝试使用AForge中的VideoFileReader,特别是AForge.Video.FFMPEG.VideoFileReader。它使用了ffmpeg DLLs。

或者,在Windows 7上,您可以使用WindowsAPICodePack中的ShellFile.Thumbnail或使用DirectShow保存一个带有VideoRenderer的帧。

我最近使用了ShellFile方法,并备用使用了VideoFileReader。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接