c#.net程序中使用ffmpeg.exe来处理视频并生成上传视频的截
2015-01-05 10:53
671 查看
[.NET]c#.net程序中使用ffmpeg.exe来处理视频并生成上传视频的截图,注意:1、startInfo.Arguments中的3个字符串参数中不能出现空格,否则生成图片失败
注意:1、startInfo.Arguments中的3个字符串参数中不能出现空格,否则生成图片失败。
2、在web.config中的 <system.web>里添加 <httpRuntime maxRequestLength="2097151" executionTimeout="60"/>.
3、需要下载的东西有ffmpeg.exe和pthreadGC2.dll.
[.NET]c#.net程序中使用ffmpeg.exe来处理视频并生成上传视频的截图,注意:1、startInfo.Arguments中的3个字符串参数中不能出现空格,否则生成图片失败
添加如下前台代码: <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传视频" /> .cs中代码: protected void Button1_Click(object sender, EventArgs e) //按钮事件 { string imgfileExp = this.FileUpload1.PostedFile.FileName.Substring (this.FileUpload1.PostedFile.FileName.LastIndexOf(".") + 1); string filename = "11223344"; if (imgfileExp.ToLower() == "flv") { this.FileUpload1.PostedFile.SaveAs(Server.MapPath("~/uploadfile") + "\\" + filename + "." + imgfileExp); string ffmpeg = Server.MapPath("ffmpeg.exe"); //ffmpeg执行文件的路径 string filenames = Server.MapPath("uploadfile") + "\\" + filename + "." + imgfileExp; //上传文件存放路径 string catchImg = CatchImg("uploadfile/" + filename + "." + imgfileExp); } } public string CatchImg(string vFileName) { try { string ffmpeg = "ffmpeg.exe"; ffmpeg = Server.MapPath(ffmpeg); if ((!System.IO.File.Exists(ffmpeg)) || (!System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath(vFileName)))) { return ""; } //获得图片相对路径/最后存储到数据库的路径,如:uploadfile/11223344.jpg string flv_img = System.IO.Path.ChangeExtension(vFileName, ".jpg"); //图片绝对路径,如:D:\Video\Web\FlvFile\User1\0001.jpg string flv_img_p = Server.MapPath("uploadfile/1.jpg"); //截图的尺寸大小,配置在Web.Config中,如:<add key="CatchFlvImgSize" value="140x110" /> string FlvImgSize = "140*110"; System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics. ProcessStartInfo(ffmpeg); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //此处组合成ffmpeg.exe文件需要的参数即可,此处命令在ffmpeg 0.4.9调试通过 startInfo.Arguments = " -i " + Server.MapPath(vFileName) + " -y -f image2 -t 0.1 -s " + FlvImgSize + " " + flv_img_p; try { System.Diagnostics.Process.Start(startInfo); } catch { return ""; } System.Threading.Thread.Sleep(4000); return ""; } catch { return ""; } }
注意:1、startInfo.Arguments中的3个字符串参数中不能出现空格,否则生成图片失败。
2、在web.config中的 <system.web>里添加 <httpRuntime maxRequestLength="2097151" executionTimeout="60"/>.
3、需要下载的东西有ffmpeg.exe和pthreadGC2.dll.
相关文章推荐
- [.NET]c#.net程序中使用ffmpeg.exe来处理视频并生成上传视频的截图
- 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之二
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- asp.net中使用一般处理程序生成验证码
- 使用 Visual C# .NET 生成 Office COM 外接程序
- zt HOW TO:使用 Visual C# .NET 生成 Office COM 外接程序
- NET 2.0(C#)调用ffmpeg处理视频的方法
- 水晶报表问题汇总(水晶报表的使用与查询条件生成报表、注册码、打印问题、模式使用示例、C#.Net的WinForm中的使用、程序发布与部署)
- asp.net中使用ffmpeg (上传的视频转换成flv格式,并接一张图片)
- (转).NET使用一般处理程序生成验证码
- HOW TO:使用 Visual C# .NET 生成 Office COM 外接程序
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- HOW TO:使用 Visual C# .NET 生成 Office COM 外接程序
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- NET使用一般处理程序生成验证码!
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- NET 2.0(C#)调用ffmpeg处理视频的方法
- NET 2.0(C#)调用ffmpeg处理视频的方法
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- NET 2.0(C#)调用ffmpeg处理视频的方法