我有一个php代码,它从windows命令行调用ffmpeg(因为我在本地运行apache):
//ffmpeg -i input.mp4 -r 20 output.gif
echo exec('C:\ffmpeg\bin\ffmpeg.exe -i videos/file.avi -r 10 -s 450x230 videos/file.gif');
它工作正常!现在我写了一个C#程序,我尝试用同样的东西:
System.Diagnostics.Process.Start
但它失败了。
问题:如何从PHP代码执行相同的命令,但是从C#代码中执行?
答案 0 :(得分:0)
Process process = Process.Start(
new ProcessStartInfo
{
FileName = @"C:\ffmpeg\bin\ffmpeg.exe",
Arguments = "-i videos/file.avi -r 10 -s 450x230 videos/file.gif",
WindowStyle = ProcessWindowStyle.Hidden
}
);
process.WaitForExit();
如果失败则会引发异常,例如: System.ComponentModel.Win32Exception,如果找不到可执行文件,HResult = -2147467259。