我正在尝试使用 c# 和 CMD 运行 ffmpeg 命令。
我正在创建然后执行一个 .bat 文件来执行此操作。.bat 似乎创建正确,但在 c# 中执行时它无法正确运行 - 它找不到图像名称。但是,当我退出调试器并运行 .bat 时,手动创建的调试器工作正常。
图像刚刚由调试器创建,这可能与它有关吗?
string command1= "ffmpeg -r 1/5 -i " + projectPrefix + "image-%%02d.bmp -i music.mp3 -qscale:v 2 -shortest -codec:a copy " + projectPrefix + "output.flv \n ffmpeg -i "+projectPrefix+"output.flv -vcodec wmv1 -acodec adpcm_ima_wav " + projectPrefix + ".wmv";
// Write the string to a file.
System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Scott\desktop\"+projectPrefix+".bat");
file.WriteLine(command1);
file.Close();
Thread.Sleep(10000);
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(@"C:\Users\Scott\desktop\" + projectPrefix + ".bat");
psi.RedirectStandardOutput = true;
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
System.Diagnostics.Process listFiles;
listFiles = System.Diagnostics.Process.Start(psi);
System.IO.StreamReader myOutput = listFiles.StandardOutput;
listFiles.WaitForExit(2000);
if (listFiles.HasExited)
{
string output = myOutput.ReadToEnd();
}
谢谢