csharp 使用带有.net的ffmpeg从视频创建缩略图图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 使用带有.net的ffmpeg从视频创建缩略图图像相关的知识,希望对你有一定的参考价值。

using System;
using System.Diagnostics;
using System.IO;
using System.Web;

namespace WebApp.HelperClass
{
    public class CreateThumbFromVideo
    {
        /// <summary>
        /// created by ~kad1r
        /// send files without mappath
        /// like "/video/videolink1.avi"
        /// function puts mappath itself
        /// download ffmpeg.exe - http://www.speedyshare.com/mRbUN/ffmpeg.rar
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        public static string generateThumb(string file)
        {
            string thumb = "";

            try
            {
                FileInfo fi = new FileInfo(HttpContext.Current.Server.MapPath(file));
                string filename = Path.GetFileNameWithoutExtension(fi.Name);
                Random random = new Random();
                int rand = random.Next(1, 9999999);
                string newfilename = "/video/" + filename + "___(" + rand.ToString() + ").jpg";
                var processInfo = new ProcessStartInfo();
                processInfo.FileName = "\"" + HttpContext.Current.Server.MapPath("/video/ffmpeg.exe") + "\"";
                processInfo.Arguments = string.Format("-ss {0} -i {1} -f image2 -vframes 1 -y {2}", 5, "\"" + HttpContext.Current.Server.MapPath(file) + "\"", "\"" + HttpContext.Current.Server.MapPath(newfilename) + "\"");
                processInfo.CreateNoWindow = true;
                processInfo.UseShellExecute = false;
                using (var process = new Process())
                {
                    process.StartInfo = processInfo;
                    process.Start();
                    process.WaitForExit();
                    thumb = newfilename;
                }
            }
            catch (Exception ex)
            {
                string error = ex.Message;
            }

            return thumb;
        }
    }
}

以上是关于csharp 使用带有.net的ffmpeg从视频创建缩略图图像的主要内容,如果未能解决你的问题,请参考以下文章

csharp Ffmpeg视频上传和转换,并通过asp.net获取缩略图

csharp 使用FFMPEG截取屏幕截图并从视频生成图像

使用 FFMPEG 选择带有 -ss 输入的视频过滤器

FFMPEG:结合“从图像创建视频”+ 缩放到 x + 添加音频 + 覆盖徽标

是否可以使用带有 ffmpeg 的字幕轨道提取视频轨道中的对话?

视频专家之路:ffmpeg工具的使用