S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

FLV视频转换的利器 - ffmpeg.exe

Posted on 2010-05-25 09:32 S.l.e!ep.¢% 阅读(906) 评论(0)  编辑 收藏 引用 所属分类: Video Processing

FLV视频转换的利器 - ffmpeg.exe

大家应该都知道Youtobe、Google Video之类视频分享网站。他们的视频全部是使用Flash播放,而通过探索实际地址,会发现下载回来的东西都是Flash支持的FLV格式。这种格式的视频,播放和转换是非常麻烦的。但是,有一个源于Linux的工具软件ffmpeg可以轻易地实现FLV向其它格式(avi(mpeg4)、asf、mpeg)的转换或者将其它格式转换为flv。 =OD'GuQ 
ffmpeg作为Linux下的LGPL开源程序,在Windows下编译需要特殊的工具。我这里提供的ffmpeg.exe是2004年的旧版本,使用MinGW编译,只有一个可执行文件,可直接运行(命令行程序)。 b<td|kk 
FLV向其它格式(avi(mpeg4)、asf、mpeg)转换的简易方法:(圆括号内必填,方括号内可选) khOG Kh* 
转换成wmv/asf JZvQCf;$ 
ffmpeg -i (要转换的flv文件完整路径) -f asf -vcodec (wmv1或wmv2) [-b 视频码率] -acodec mp3 [-ab 音频码率] (输出的asf/wmv文件完整路径) !.C1}Wf 
转换成mpeg1 n Xa Os& 
ffmpeg -i (要转换的flv文件完整路径) -f mpeg -vcodec mpeg1video [-b 视频码率] -acodec mp2 [-ab 音频码率] (输出的mpg文件完整路径) =mmBjG}0{ 
转换成avi(msmpeg4) z4%EYCZ' 
ffmpeg -i (要转换的flv文件完整路径) -f avi -vcodec (msmpeg4或msmpeg4v1或msmpeg4v2) [-b 视频码率] -acodec mp3 [-ab 音频码率] (输出的avi文件完整路径) AImbKhOK' 
8J}`s07 
其它格式向flv转换的简易办法 qf1975fI 
ffmpeg -i (输入的文件完整路径,RM/RMVB不支持,最好是mpeg4的AVI或者MPEG1文件,对新版的wmv支持不好)-f flv -vcodec flv [-b 视频码率] -acodec mp3 [-ab 音频码率] (输出的flv文件) P'P#Kl 
/Wu3)RjK 
ffmpeg其实还有很多选项。说明文件全部嵌在代码里了。 C(V+Ej*!" 
下载:ffmpeg.zip v -d5$ +O 
http://freehost25.websamba.com/yksoft/download/ffmpeg.zip (%&"f_5q 
附:flv播放器 S\99i*X0H 
http://freehost25.websamba.com/yksoft/download/rivaflvplayer.zip
------------------------------------------
public   static   string   VideoConvertFlv(string   FromName,   string   WidthAndHeight,   string   ExportName)
        {

                string   ffmpeg   =   HttpContext.Current.Server.MapPath("~/FLV/ffmpeg.exe");
                string   Command   ="       -i       "   +   FromName   +   "       -y       -ab       56       -ar       22050       -b       500       -r       15       -s       "   +   WidthAndHeight   +   "   "+   ExportName;                           //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("~/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();
                //p.StandardInput.WriteLine(Command);
                //p.StandardInput.WriteLine("Exit   ");
                return   ExportName;
        }

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/octverve/archive/2007/09/24/1798231.aspx


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理