zoukankan      html  css  js  c++  java
  • asp.net实现调用ffmpeg实现视频格式的转换

    视频格式转换的函数

     //视频转换
        public void VideoConvertFlv(string FromName, string ExportName)
        {
    
            string ffmpeg = HttpContext.Current.Server.MapPath("~/UploadFiles/FLV/ffmpeg.exe");
            FromName = HttpContext.Current.Server.MapPath(FromName);
            ExportName = HttpContext.Current.Server.MapPath(ExportName);
            string Command = " -i "" + FromName + "" -y -ab 32 -ar 22050 -b 800000 -s  480*360 "" + ExportName + """; //Flv格式  
            //string Command = " -i "test.wmv" -y -ab 32 -ar 22050 -b 800000 -s 320*240 "2.flv"";
    
            //string Command = "E:\FFmpeg\ffmpeg.exe -i E:\ClibDemo\VideoPath\admin\a.wmv -y -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 " ExportName;
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = ffmpeg;
            p.StartInfo.Arguments = Command;
            p.StartInfo.WorkingDirectory = HttpContext.Current.Server.MapPath("~/UploadFiles/FLV/");
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = false;
            //开始执行
            p.Start();
            p.BeginErrorReadLine();
            p.WaitForExit();
            p.Close();
            p.Dispose();
        }

    调用视频格式转换 

    protected void btnSaveUploadVod_Click(object sender, EventArgs e)
        {
            string fileName = txtATitle.Text;//上传文件的名称的命名规则是标题
            bool flag = true;  //视频格式是否正确的标志
            if (fileName.Equals(""))
            {
                Response.Write("<script>alert('请先填写标题!')</script>");
            }
            else
            {
                filePathTemp = "UploadFiles/武夷概况/视频"; 
                string fpath = Path.Combine(Request.PhysicalApplicationPath, filePathTemp);
                UploadFile upFile = AspnetUpload.GetUploadFile("file2");
                if (upFile != null)
                {
                    string sourceFileName = Path.GetFileName(upFile.get_FileName()); //取出上传的视频的文件名,进而取出该文件的扩展名
                    string extendName = sourceFileName.Substring(sourceFileName.LastIndexOf(".") + 1);
                    //上传后的文件名的命名规则是:标题+数字+后缀  
                    if (!isAllowedVodType(extendName))
                    {
                        flag = false;
                    }
                    else
                    {
                        
                        VodWarehouseManage vodWarehouseBll = new VodWarehouseManage();
                        //先上传到服务器,然后转换格式,最后删掉原来非FLV格式的视频 
                        //上传后的文件名的命名规则是:标题+后缀  
                        string fileNameTemp = fileName + "." + extendName; 
                        string savePath = filePathTemp + "/" + fileNameTemp;
                        upFile.SaveAs(Path.Combine(fpath, fileNameTemp));
                        if (!extendName.ToLower().Equals("flv"))
                        {//进行视频转换
    
    
                            //调用视频转换函数将其它格式的视频转为FLV格式的视频  
                            string fromName = "~/" + savePath;
                            string exportName = "~/" + filePathTemp + "/" + fileName + ".flv";
                            // Response.Write("<script>alert('fromName=" + fromName + " and exportName=" + exportName + "')</script>");
    
                            //转换视频格式
                            VideoConvertFlv(fromName, exportName);
    
                            //删除非FLV格式的视频
                            vodWarehouseBll.DeleteFile(Path.Combine(fpath, fileNameTemp));
    
                            savePath = filePathTemp + "/" + fileName + ".flv";
    
                        }
    
                        //保存视频的信息 
                        VodWarehouse vodWarehouse = new VodWarehouse();
                        vodWarehouse.VodSortId = 17;//1代表媒体的类型为武夷概况
                        vodWarehouse.VodPath = savePath;
                        vodWarehouse.AttachId = Int32.Parse(articleId.Value);//隐藏域中的值
    
                        if (vodWarehouseBll.SaveVodsInfo(vodWarehouse) == false)
                        {
                            Response.Write("<script>alert('保存视频的过程出错!')</script>");
                        }
                        else
                        {
                            //Response.Write("<script>alert('视频上传成功!')</script>");
                            //将上传的路径写入相应的上传文本框中 
    
                        }
                    }
                }//end foreach
    
                if (flag == true)
                {
                    this.upLoadVodResult.Text = "视频上传成功";
                    this.vodPannel.Visible = false;
                }
                else
                {
                    //this.upLoadVodResult.Text = "您选择的视频的格式不正确,请确保您的视频的格式是:flv/mov/wmv/avi/mp4";
                    Response.Write("<script>alert('您选择的视频的格式不正确,请确保您的视频的格式是:flv/mov/wmv/avi/mp4!')</script>");
                }
            }
        }
  • 相关阅读:
    21322
    9-1
    作业五1
    作业五2
    实验9-2
    作业4函数应用
    实验九 1
    实验八 数组2 输出一张九九乘法口诀表。要求必须将乘积放入一个二维数组中,再输出该数组,程序运行效果如下
    实验八 (调试)
    实验6剩余部分
  • 原文地址:https://www.cnblogs.com/superfeeling/p/4512852.html
Copyright © 2011-2022 走看看