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>");
}
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值