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工具的使用