asp.net中将各种视频文件转换成.flv格式
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-04-12
artInfo.Arguments = " -i " + fileName + " -ab 56 -ar 22050 -b 500 -r 15 -s " + widthOfFile + "x" + heightOfFile + " " + flv_file; ImgstartInfo.Arguments = " -i " + fileName + " -y -f image2 -t 0.001 -s " + FlvImgSize + " " + flv_img; try { System.Diagnostics.Process.Start(FilestartInfo); System.Diagnostics.Process.Start(ImgstartInfo); } catch { return ""; } /**/ ///注意:图片截取成功后,数据由内存缓存写到磁盘需要时间较长,大概在3,4秒甚至更长; ///这儿需要延时后再检测,我服务器延时8秒,即如果超过8秒图片仍不存在,认为截图失败; ///此处略去延时代码.如有那位知道如何捕捉ffmpeg.exe截图失败消息,请告知,先谢过! if (System.IO.File.Exists(flv_img)) { return flv_img; } return ""; } #endregion #region //运行mencoder的视频解码器转换(这里是(绝对路径)) public string MChangeFilePhy(string vFileName, string playFile, string imgFile) { string tool = Server.MapPath(PublicMethod.mencodertool); //string mplaytool = Server.MapPath(PublicMethod.ffmpegtool); if ((!System.IO.File.Exists(tool)) || (!System.IO.File.Exists(vFileName))) { return ""; } string flv_file = System.IO.Path.ChangeExtension(playFile, ".flv"); //截图的尺寸大小,配置在Web.Config中,如:<add key="CatchFlvImgSize" value="240x180" /> string FlvImgSize = PublicMethod.sizeOfImg; System.Diagnostics.ProcessStartInfo FilestartInfo = new System.Diagnostics.ProcessStartInfo(tool); FilestartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; FilestartInfo.Arguments = " " + vFileName + " -o " + flv_file + " -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=200:mbd=2:mv0:trell:v4mv:cbp:last_pred=1:dia=-1:cmp=0:vb_strategy=1 -vf scale=" + widthOfFile + ":" +heightOfFile + " -ofps 12 -srate 22050"; try { System.Diagnostics.Process.Start(FilestartInfo); CatchImg(flv_file, imgFile); } catch { return ""; } // return ""; } #endregion } |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于asp.net中将各种视频文件转换成.flv格式的所有评论