0
C#のコマンドラインからFFMpegを実行しようとしています。以前は "CMD.exe"から実行していましたが、動作していましたが、システム環境変数を設定してffmpegをローカルにインストールする必要があります。だから私は "ffmpeg.exe"から直接実行したかったのです。私は次のコードを使用しています(すべてのパスが正しい)、何も起こりません:C#app - コマンドラインから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'は' ffmpeg.exe'の引数の一部ですか? – dcg
それは、私がコマンドライン(cmd.exe)から実行していたときではないかもしれません。しかし、私はそれを取り除こうとしましたが、まだ動作していません。 –
'cmd.StartInfo.Arguments'を' -i test1-1.mp4 -r 1 -s 180x101 test1-1 \\ output_%04d.png'に設定し、 'StandardInput'を使う行を削除してみてください。 – dcg