c#和ffpmeg命令行麻烦

时间:2016-02-26 10:31:21

标签: c# php ffmpeg

我有一个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#代码中执行?

1 个答案:

答案 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。