当前位置:编程学习 > C#/ASP.NET >>

asp.net关于ffmpeg.exe转换视频的问题。当视频文件大于十m的时候就直接网页变成找不到服务器那种

 protected void Button1_Click(object sender, EventArgs e)
     {
         string Mapname = null;
        // string[] up = this.FileUpload1.PostedFile.FileName.Split(new char[] { '\\' });
         string[] Date = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss").Split(' ');
         string[] name1 = Date[0].Split('-');
         string[] name2 = Date[1].Split(':');
         for (int i = 0; i < 3; i++)
         {
             Mapname += name1[i] + name2[i];
         }
        // Mapname = Mapname + up[up.Length - 1];
         string str1 = FileUpload1.PostedFile.FileName.ToString();
         string str2 = System.Web.HttpContext.Current.Server.MapPath("Flv");
         ConvertVideo("-i " + str1 + " -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 " + str2 + "\\" + Mapname + ".flv");
        // img();
         Response.Write("<script>alert('转换成功!');</script>");
    }

    public void ConvertVideo(string str)
    {
        Process p = new Process();//建立外部调用线程
        p.StartInfo.FileName =@"F:\Conver\ffmpeg.exe";//要调用外部程序的绝对路径
        p.StartInfo.Arguments = str;//参数(这里就是FFMPEG的参数了)
        p.StartInfo.UseShellExecute = false;//不使用操作系统外壳程序启动线程(一定为FALSE,详细的请看MSDN)
        p.StartInfo.RedirectStandardError = true;//把外部程序错误输出写到StandardError流中(这个一定要注意,FFMPEG的所有输出信息,都为错误输出流,用StandardOutput是捕获不到任何消息的...
        p.StartInfo.CreateNoWindow = false;//不创建进程窗口
        p.Start();//启动线程
        p.WaitForExit();//等待完成
        p.StandardError.ReadToEnd();//开始同步读取
        p.Close();//关闭进程
        p.Dispose();//释放资源
    }
   
--------------------编程问答-------------------- <httpRuntime maxRequestLength="1024000" executionTimeout="60000"/>
自己设下,最大的长度,和响应时间 --------------------编程问答-------------------- 在转换大文件的时候怎么好像看着是死了的状态,无法进行继续转换啊???怎么解决呢,高手指教一下~~~
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,