【IT168技术文档】
导读:
实际上是利用.Net中的Process对象来实现的。
另一种方法: 用MEncoder转换视频文件为Flvstring str=@"d:\test.avi d:\test_allen.flv"; RunFFMpeg(str); //运行FFMpeg的视频解码, public void RunFFMpeg(string strCmd) { //创建并启动一个新进程 Process p = new Process(); //设置进程启动信息属性StartInfo,这是ProcessStartInfo类,包括了一些属性和方法: p.StartInfo.FileName = "ffmpeg.exe"; //程序名 p.StartInfo.Arguments = " -i " + strCmd; //执行参数 p.Start(); } //运行Cmd.exe执行Dos 命令,并返回执行结果 public string RunCmd(string command) { //创建并启动一个对进程 Process p = new Process(); //Process类有一个StartInfo属性,这是ProcessStartInfo类,包括了一些属性和方法,例如: p.StartInfo.FileName = "cmd.exe"; //程序名 p.StartInfo.Arguments = " /c " + command; //执行参数 p.StartInfo.UseShellExecute = false; //关闭Shell的使用 p.StartInfo.RedirectStandardInput = true; //重定向标准输入 p.StartInfo.RedirectStandardOutput = true; //重定向标准输出 p.StartInfo.RedirectStandardError = true; //重定向错误输出 p.StartInfo.CreateNoWindow = true; //设置不显示窗口 p.Start(); //p.StandardInput.WriteLine(command); //也可以用這種方式輸入要執行的命令 //p.StandardInput.WriteLine("exit"); //不過要記得加上Exit要不然下一行程式執行的時候會當機 //必须创建可以自动转换完成以后,结束进程的代码 return p.StandardOutput.ReadToEnd(); //從輸出流取得命令執行結果 }
mencoder转换视频注意事项
1、下载 mencoder.exe 和 mplayer.exe
2、将mencoder.exe 所在文件夹,加入环境变量Path里面 ,如C:\mplayer
3、微软键+R,输入cmd,命令行打入如下语法
mencoder d:\test.avi -o d:\testflv.flv -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=100:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050