Closed. This question needs debugging details。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

5个月前关闭。



Improve this question




我想显示我网站上列出的视频的缩略图,我想从视频中提取一个帧(在特定时间)并将其显示为缩略图。

我已经尝试过这个http://ramcrishna.blogspot.com/2008/09/playing-videos-like-youtube-and.html,但是没有用。

使用.NET C#可以吗?

最佳答案

您可以以编程方式执行FFmpeg来生成缩略图文件。然后打开图像文件以根据需要使用它。

这是一些示例代码:

public static Bitmap GetThumbnail(string video, string thumbnail)
{
    var cmd = "ffmpeg  -itsoffset -1  -i " + '"' + video + '"' + " -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 " + '"' + thumbnail + '"';

    var startInfo = new ProcessStartInfo
    {
        WindowStyle = ProcessWindowStyle.Hidden,
        FileName = "cmd.exe",
        Arguments = "/C " + cmd
    };

    var process = new Process
    {
        StartInfo = startInfo
    };

    process.Start();
    process.WaitForExit(5000);

    return LoadImage(thumbnail);
}

static Bitmap LoadImage(string path)
{
    var ms = new MemoryStream(File.ReadAllBytes(path));
    return (Bitmap)Image.FromStream(ms);
}

关于c# - 在C#中获取视频文件的缩略图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15702031/

10-15 11:41