问题描述
在上传了wmv格式的视屏文件,UpFiles文件夹中保存了文件,但是ffmpeg.exe将视频转化为.flv格式的文件时失败,PlayFiles没有转换好的文件,代码也不报错。什么情况?///<summary>///转换文件并保存在指定文件夹下面(这里是绝对路径)///</summary>///<paramname="fileName">上传视频文件的路径(原文件)</param>///<paramname="playFile">转换后的文件的路径(网络播放文件)</param>///<paramname="imgFile">从视频文件中抓取的图片路径</param>///<returns>成功:返回图片虚拟地址;失败:返回空字符串</returns>publicstringChangeFilePhy(stringfileName,stringplayFile,stringimgFile){//取得ffmpeg.exe的路径,路径配置在Web.Config中,如:<addkey="ffmpeg"value="E:51aspxffmpeg.exe"/>stringffmpeg=Server.MapPath(PublicMethod.ffmpegtool);if((!System.IO.File.Exists(ffmpeg))||(!System.IO.File.Exists(fileName))){return"";}//获得图片和(.flv)文件相对路径/最后存储到数据库的路径,如:/Web/User1/00001.jpgstringflv_file=System.IO.Path.ChangeExtension(playFile,".flv");//截图的尺寸大小,配置在Web.Config中,如:<addkey="CatchFlvImgSize"value="240x180"/>stringFlvImgSize=PublicMethod.sizeOfImg;System.Diagnostics.ProcessStartInfoFilestartInfo=newSystem.Diagnostics.ProcessStartInfo(ffmpeg);FilestartInfo.WindowStyle=System.Diagnostics.ProcessWindowStyle.Hidden;FilestartInfo.Arguments="-i"+fileName+"-ab56-ar22050-b500-r15-s"+widthOfFile+"x"+heightOfFile+""+flv_file;//ImgstartInfo.Arguments="-i"+fileName+"-y-fimage2-t0.05-s"+FlvImgSize+""+flv_img;FilestartInfo.UseShellExecute=false;FilestartInfo.CreateNoWindow=true;try{//转换System.Diagnostics.Process.Start(FilestartInfo);//截图CatchImg(fileName,imgFile);//System.Diagnostics.Process.Start(ImgstartInfo);}catch{return"";}//return"";}
解决方案
解决方案二:
直接可以转么?