ffmpeg.exe转换视频不成功,有做过的给点指点吧

问题描述

最近要做个在线转视频的功能,从网上弄了份代码,下面这段是转换代码,怎么都转不成功,运行框一闪就没了,文件夹里没有转换后的视频,哪位大侠做过,给看看吧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);}catch{return"";}return"";}

解决方案

解决方案二:
引用楼主dafei198607的回复:

最近要做个在线转视频的功能,从网上弄了份代码,下面这段是转换代码,怎么都转不成功,运行框一闪就没了,文件夹里没有转换后的视频,哪位大侠做过,给看看吧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);}catch{return"";}return"";}

看看这个http://bbs.csdn.net/topics/380224646
解决方案三:
引用1楼hou306010849的回复:

Quote: 引用楼主dafei198607的回复:
最近要做个在线转视频的功能,从网上弄了份代码,下面这段是转换代码,怎么都转不成功,运行框一闪就没了,文件夹里没有转换后的视频,哪位大侠做过,给看看吧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);}catch{return"";}return"";}

看看这个http://bbs.csdn.net/topics/380224646

这个是c语言写的吧
解决方案四:
大家给点建议,帮着顶顶也行啊,帮顶有分
解决方案五:
fileName 最好外边加上引号,可能是文件路径中有空格,这样一个文件路径就被识别为两个参数了
解决方案六:

解决方案七:
我现在的项目中一直在使用ffmpeg.exe转换和压缩语音,贴上代码看看把。//MP3转换amrthis.StartProcess(Path.Combine(this.converterPath,"ffmpeg.exe"),string.Format(@"-i{0}-ac1-ar8000-ab7950-y{1}",args.Mp3FileFullName,args.AmrFileFullName));//压缩MP3this.StartProcess(Path.Combine(this.compressPath,"ffmpeg.exe"),string.Format(@"-i{0}-ac1-ar8000-ab7950-y{1}",args.Mp3FileFullName,args.Mp3FileCompressName));privatevoidStartProcess(stringfileName,stringargs){Processprocess=Process.Start(newProcessStartInfo{FileName=fileName,Arguments=args,UseShellExecute=false,RedirectStandardInput=false,RedirectStandardOutput=false,CreateNoWindow=true});process.WaitForExit();process.Close();}

解决方案八:
引用4楼leixiaohua1020的回复:

 fileName 最好外边加上引号,可能是文件路径中有空格,这样一个文件路径就被识别为两个参数了

对,我就被这个问题折磨过,找了好几天才找到原因,另外你可以把你的项目类型设为控制台Console项目,不要隐藏转换时的dos命令窗口,这样的转换时就能看到详细的ffmpeg输出信息,很容易找出问题原因
解决方案九:

解决方案十:
太棒了,我也是折腾了两天,才找出原因的。路径有空格
解决方案十一:
ffmpeg对路径的空格、中文都不太友好

时间: 2024-09-19 10:04:01

ffmpeg.exe转换视频不成功,有做过的给点指点吧的相关文章

使用ffmpeg.exe转换flv格式的ASP函数 在asp中的调用

函数|转换 asp代码如下: <% str="D:\ffmpeg.exe" 'video="D:\a.mov" video="D:\aaa.avi" simg="D:\bbbbbb.jpg" flv="D:\3gp2.flv" 'response.write video Set WshShell = server.CreateObject("Wscript.Shell") Dim

使用ffmpeg.exe 视频转换失败

问题描述 在上传了wmv格式的视屏文件,UpFiles文件夹中保存了文件,但是ffmpeg.exe将视频转化为.flv格式的文件时失败,PlayFiles没有转换好的文件,代码也不报错.什么情况?///<summary>///转换文件并保存在指定文件夹下面(这里是绝对路径)///</summary>///<paramname="fileName">上传视频文件的路径(原文件)</param>///<paramname="p

C#的网页中显示ffmpeg转换视频的进度条

问题描述 C#的网页中显示ffmpeg转换视频的进度条 公司的网站中使用了red视频服务器,后台调用ffmpeg做视频转换,现在想在转换的网页中加一个进度条,搜了很多资料都是winform的进度条.请问有人遇到过这个问题么? 该怎么做.我现在已经在后台代码中取到转换的百分比了,怎么在网页中时时展示呢? 求高人指点.

视频-ffmpeg/dshow直播推流不成功

问题描述 ffmpeg/dshow直播推流不成功 ffmpeg -rtbufsize 1584k -f dshow -i video="USB 视频设备" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://192.168.11.122/publish/flv/channel 用了这个命令,然后老是失败,报这样的错,谁能给解决下,谢谢!

用ffmpeg逐截图视频另存为图片 不成功

问题描述 //fileNameflv文件地址//imgFile输出的图片地址publicstringCatchImg(stringfileName,stringimgFile){//stringffmpeg=@"F:ffmpegffmpeg.exe";//ffmpeg执行文件的路径//stringflv_img=imgFile+".jpg";//stringFlvImgSize="240x180";//生成的图片分辨率240x180//Syste

格式工厂如何转换视频格式

格式工厂是一套万能的多媒体格式转换软件.很多朋友都听说过这个软件,所谓格式工厂,顾名思义就是转换格式的工厂,里面有很多种格式任由你选择转换,下面小编分享一篇关于格式转换的教程给大家参考吧 1.首先当然是下载了,下载的时候尽量去那些大的软件下载网站下载,避免中毒,如果因为下载个软件导致电脑中毒,引起严重后果那就得不偿失了; 2.下载完成就可以安装了,安装的时候选择你想要安装的目录,然后点击安装即可,剩下的就是等待了,稍等片刻即可安装完成; 3.双击打开格式工厂,界面非常的清爽,我们可以看到,格式工

PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件_php实例

配置php.ini文件 复制代码 代码如下: file_uploads = on ;//是否允许通过HTTP上传文件的开关.默认为ON即是开 upload_tmp_dir ;//文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 upload_max_filesize = 1024m ;//望文生意,即允许上传文件大小的最大值.默认为2M,我们设置为1G post_max_size = 1024m ;//指通过表单POST给PHP的所能接收的最大值,我们也设置为1G ma

用FFMPEG SDK进行视频转码压缩时解决音视频不同步问题的方法

用FFMPEG SDK进行视频转码压缩的时候,转码成功后去看视频的内容,发现音视频是不同步的.这个的确是一个恼火的事情.我在用FFMPEG SDK做h264格式的FLV文件编码Filter的时候就碰到了这个问题.         经过研究发现,FFMPEG SDK写入视频的时候有两个地方用来控制写入的时间戳,一个是AvPacket, 一个是AvFrame. 在调用avcodec_encode_video的时候需要传入AvFrame的对象指针,也就是传入一帧未压缩的视频进行压缩处理,AvFrame

如何转换视频格式

视频格式的转换,需要一款转换器软件来进行完成操作.目前网络上有很多的视频格式转换器,那么我们如何能够快速找到一款好用的转换器软件.推荐,狸窝全能视频转换器,是一款功能强大.界面友好的全能型音视频转换及编辑工具.也是一款免费的音视频格式转换器. 第一步:下载安装狸窝全能视频转换器软件,然后运行该款软件. 第二步:运行转换器到主界面之后,我们可以清楚看到转换器上的大体情况,左上角时候该款转换器的一些按钮,右上角一些菜单项,下面就是软件其他功能选项,另外我们还可以在这里简单了解该款转换器简单的使用与操