3

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

谢谢,新手,请指导我...

4

4 回答 4

3

ffmpeg.exe是生成视频缩略图的最佳解决方案,因为它是根据 LGPL 或 GPL 许可的免费软件。

很少有其他地方可以找到解决方案:

AviFile 库的 C# 包装器

DirectShow .NET

SlimDX 是一个免费的开源框架,使开发人员能够使用 C# 等 .NET 技术轻松构建 DirectX 应用程序

于 2012-09-07T09:52:13.517 回答
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");
        }
    }
}
于 2017-10-17T19:29:22.787 回答
0

是的!,这个有趣的问题很好。我解决了这个问题,我的文凭任务 - 在大学。

还有更多文章。

1. OpenCV - 这个开源项目最好用的 C/C++、C# 和 Java

2. Emg CV - 这个不错的 C#

, 和更多...

试试它是开源的。

于 2012-09-07T10:51:55.570 回答
0

你可能想试试 AForge 的VideoFileReader,特别是AForge.Video.FFMPEG.VideoFileReader。它使用 ffmpeg DLL。

或者,在 Windows 7 上,您可以使用ShellFile.ThumbnailWindowsAPICodePack 或使用 DirectShow 通过 VideoRenderer 保存帧。

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

于 2012-09-07T16:48:28.040 回答