视频缩略图生成

时间:2012-09-07 09:46:46

标签: c# asp.net thumbnails

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

谢谢, 新学员,请指导我......

4 个答案:

答案 0 :(得分:3)

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

您可以在其他地方找到解决方案:

C# Wrapper for the AviFile Library

DirectShow .NET

SlimDX is a free open source framework that enables developers to easily build DirectX applications using .NET technologies such as C#

答案 1 :(得分:0)

是的,好有趣的Q. 我的工作是问题,我在大学的文凭任务。

还有更多文章。

1。OpenCV - 这个开源项目最好的C / C ++,C#和Java

2. Emg CV - 这个好工作C#

,还有更多...

试试它的开源。

答案 2 :(得分:0)

您可能希望尝试AForge中的VideoFileReader,特别是AForge.Video.FFMPEG.VideoFileReader。它使用了ffmpeg DLL。

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

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

答案 3 :(得分:0)

如果您只需要一个通用缩略图,通过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");
        }
    }
}