C# 将mp4转换为webm、ogg格式

C# 将mp4转换为webm、ogg格式,c#,ffmpeg,C#,Ffmpeg,目前我需要将mp4视频转换为webm和ogg。为了将mp4转换为webm,我使用了“ffmpeg.exe”。我正在运行以下代码将视频mp4转换为webm [DllImport("User32.dll")] public static extern bool SetForegroundWindow(IntPtr hWnd); public void mciConvertWavMP3(string fileName, bool waitFlag) { string savepath = S

目前我需要将mp4视频转换为webm和ogg。为了将mp4转换为webm,我使用了“ffmpeg.exe”。我正在运行以下代码将视频mp4转换为webm

[DllImport("User32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
public void mciConvertWavMP3(string fileName, bool waitFlag)
{

    string savepath = Server.MapPath(fileName);
    string destpath = Server.MapPath(fileName);
    string pworkingDir = Server.MapPath("~/ffmpeg/");

 // string outfile = "-b:a 16 --resample 24 -m j " + savepath + " " + savepath.Replace(".wav", ".mp3") + ""; //--- lame code
  //  string outfile = "-b 192k -i " + savepath + " " + destpath.Replace(".mp4", ".webm");
   // string outfile = "ffmpeg -i " + savepath + " -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 345k -s 640x360 " + Server.MapPath("output-file.webm");

    string outfile = "ffmpeg -i \"test7.mp4\" -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis \"" + Server.MapPath("output-file.webm") + "\"";
   // string outfile = "ffmpeg -i \""+fileName+"\" -codec:v libvpx -quality good -cpu-used 0 -b:v 600k -qmin 10 -qmax 42 -maxrate 500k -bufsize 1000k -threads 2 -vf scale=-1:480 -an -pass 1 -f webm /dev/null";

    System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
    psi.FileName = pworkingDir+"ffmpeg.exe";
    psi.Arguments = outfile;
    psi.UseShellExecute = true;
    psi.CreateNoWindow = false;
    System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
    Thread.Sleep(1000);// utput.webm
    if (waitFlag)
    {
        p.WaitForExit();
        // wait for exit of called application 
    }
}
我将项目文件夹保存在D:/drive中

当我从命令提示符运行时,它工作正常。但是,当我运行这段代码时,它并不能正常工作

我遇到的正式错误包括:

“找不到适合“ffmpeg”的输出格式”类错误。因此,请任何人都能帮助解决这个问题

感谢和问候

从列表中删除“ffmpeg”

string outfile = "ffmpeg -i \"test7.mp4\" -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis \"" + Server.MapPath("output-file.webm") + "\"";
您已经在psi.FileName变量中传递了应用程序名称