asp.net视频格式转换成flv

_VickChen 2014-06-09 04:13:10
我现在在做的项目里面,有个网上视频播放的功能,我现在需要能在上传时把三种格式:MP4,.rmvb,AVI,转换成flv,我用ffmpeg.exe转换,不成功,还请各位出出招,或给些源码给我参考参考。拜托了~~~
...全文
174 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomao_2695650306 2014-06-18
  • 打赏
  • 举报
回复
将视频文件转换成flv格式,并保存到playFile文件夹下 public static bool changeVideoType(string fileName, string playFile, string imgFile) { //获取视频转换工具的路径 string ffmpeg= System.Web.HttpContext.Current.Server.MapPath("../") + ffmpegtool; //获取需要转换的视频路径 string Name = System.Web.HttpContext.Current.Server.MapPath("../") + upFile + "/" + fileName; if ((!System.IO.File.Exists(ffmpeg)) || (!System.IO.File.Exists(Name))) { return false; } //获取视频转换后需要保存的路径 string flv_file = playFile; //创建Process对象 Process pss = new Process(); //不显示窗口 pss.StartInfo.CreateNoWindow = false; //设置启动程序的路径 pss.StartInfo.FileName = ffmpeg; //设置执行的参数 pss.StartInfo.Arguments = " -i " + Name + " -ab 128 -ar 22050 -qscale 6 -r 29.97 -s " + widthOfFile + "x" + heightOfFile + " " + flv_file; try { //启动转换工具 pss.Start(); while (!pss.HasExited) { continue; } //截取视频的图片 catchImg(Name, imgFile); System.Threading.Thread.Sleep(4000); if (!File.Exists(imgFile)) { File.Copy(System.Web.HttpContext.Current.Server.MapPath("../") + "imgHead\\default.gif", imgFile); } return true; } catch { return false; } } // 显示视频 public static string GetFlashText(string url) { url = "player.swf?fileName=" + url; string str = "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' width='452' height='360' id='index' name='index'><param name='allowScriptAccess' value='always' /><param name='movie' value='" + url + "'><embed src='" + url + "' id='index1' name='index1' type='application/x-shockwave-flash' swLiveConnect=true allowScriptAccess='always' width='452' height='360'></embed></object>"; return str; } //截取字符串CodeGo.net/ public static string interceptStr(string str, int len) { if (str.Length > len) { str = str.Substring(0,len)+ "..."; } return str; } public static string filtrateHtml(string str) { str = str.Trim(); str = str.Replace("'", """); str = str.Replace("<", "<"); str = str.Replace(">", ">"); str = str.Replace(" ", " "); str = str.Replace("\n", "<br>"); return str; } public static string resumeHtml(string str) { str = str.Trim(); str = str.Replace(""", "'"); str = str.Replace("<", "<"); str = str.Replace(">", ">"); str = str.Replace(" ", " "); str = str.Replace("<br>", "\n"); return str; } public static void catchImg(string fileName,string imgFile) { //获取截图工具路径 string ffmpeg = System.Web.HttpContext.Current.Server.MapPath("../") + ffmpegtool; //获取截图后保存的路径 string flv_img = imgFile; //获取截取图片的大小 string FlvImgSize = sizeOfImg; Process pss = new Process(); //设置启动程序的路径 pss.StartInfo.FileName = ffmpeg; pss.StartInfo.Arguments = " -i " + fileName + " -y -f image2 -ss 2 -vframes 1 -s " + FlvImgSize + " " + flv_img; //启动进程 pss.Start(); }
无爱大叔 2014-06-09
  • 打赏
  • 举报
回复
先用命令行手工转看看能不能成功,再用asp.net调用转换
_VickChen 2014-06-09
  • 打赏
  • 举报
回复
引用 1 楼 wangnaisheng 的回复:
http://hi.baidu.com/lefthandlife/item/57c0753787076c5d81f1a758
您好,我已经是用了这段代码,可是PlayFiles里面,和ImgFiles里面没有数据。请问这是什么原因呢?
md5e 2014-06-09
  • 打赏
  • 举报
回复
别傻了,你首要条件是解决大文件上传的问题,其次才到转换(一般都是提交给系统服务来处理,然后定时后回结果)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧