0
我試圖從C#中的命令行運行FFMpeg。以前我是從「CMD.exe」運行它的,它工作正常,但是需要本地安裝ffmpeg來配置我的系統環境變量。所以我想直接從「ffmpeg.exe」運行它。我正在使用下面的代碼(所有路徑都是正確的),並且什麼也沒有發生:C#應用程序 - 從命令行運行FFMpeg不起作用
string programToRun = "C:\\Users\\dkahn\\Documents\\PlaybackTool\\PlaybackTool\\Desktop\\Source\\Player\\Player\\ffmpeg\\ffmpeg.exe";
string directoryName = "C:\\Users\\dkahn\\Documents\\PlaybackTool\\PlaybackTool\\Desktop\\Source\\Player\\test\\test1-1.mp4";
string command = "@ffmpeg -i test1-1.mp4 -r 1 -s 180x101 test1-1\\output_%04d.png";
Process cmd = new Process();
cmd.StartInfo.FileName = programToRun;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.WorkingDirectory = directoryName;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
有沒有人有任何見解?
「ffmpeg.exe」的參數是「@ ffmpeg」的一部分嗎? – dcg
也許不是,那是當我從命令行(cmd.exe)運行它時。但我試圖刪除它,它仍然無法正常工作。 –
嘗試將'cmd.StartInfo.Arguments'設置爲'-i test1-1.mp4 -r 1 -s 180x101 test1-1 \\ output_%04d.png'並刪除使用'StandardInput'的行。 – dcg