首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求,C#调用ffmpeg不能正常退出

2013-09-13 
求高手指点,C#调用ffmpeg不能正常退出本帖最后由 icfox 于 2013-05-22 18:52:53 编辑public void CmdProce

求高手指点,C#调用ffmpeg不能正常退出
本帖最后由 icfox 于 2013-05-22 18:52:53 编辑

public void CmdProcess(string command)//调用CMD
{
//实例化一个进程类
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";

//将cmd的标准输入和输出全部重定向到.NET的程序中
process.StartInfo.UseShellExecute = false;//此处必须为false,否则引发异常
process.StartInfo.RedirectStandardInput = true;//标准输入
process.StartInfo.RedirectStandardOutput = true;//标准输出
process.StartInfo.CreateNoWindow = false;//不显示命令行窗口界面

process.Start();//启动线程
//process.StartInfo.Arguments = command;
process.StandardInput.WriteLine(command);
process.StandardInput.WriteLine("exit");
process.WaitForExit();//阻塞等待进程结束
process.StandardOutput.ReadToEnd();
process.Close();//关闭进程
process.Dispose();//释放资源
}
commond 是调用ffmpeg的命令行,直接在cmd里执行这个命令行可以,这样调用就不行了,ffmpeg无法退出,无法继续执行下面的命令行.

如果用process.StartInfo.Arguments = command;用这句代码的话命令行秒退,不执行.
求大牛指点.
C# FFmpeg
[解决办法]
首先确保你的ffmpeg在命令行中能正常退出
[解决办法]
不要启动cmd,直接运行ffmpeg -I xxxxxx试一试
[解决办法]
加quiet试试呢,怎么看都像cmd的buffer到上限了

热点排行