Я пытаюсь запустить ffmpeg.exe как процесс и дать ему несколько аргументов.Процесс на самом деле запускается, я вижу, что открывается окно ffmpeg, но потом ничего не происходит.Я также пытался использовать @ffmpeg
в аргументах, но не повезло.Поэтому я думаю, что аргументы не проходят на это.Я вручную запустил ffmpeg.exe из cmd и использовал эти аргументы, и он работал отлично.Вот код,
public void ConvertVideo()
{
var dir = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + "\\FFMpeg";
var ffmpeg = dir + "\\ffmpeg.exe";
var args = "ffmpeg -i 20180906194502.mp4 -ar 44100 -ac 2 -c:a aac -strict -2 -b:a 128k -c:v libx264 -preset veryslow -crf 20 output.mp4";
var process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.FileName = ffmpeg;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.WorkingDirectory = dir;
process.EnableRaisingEvents = true;
process.StartInfo.RedirectStandardInput = true;
process.Start();
process.StandardInput.WriteLine(args);
process.StandardInput.Flush();
process.StandardInput.Close();
process.WaitForExit();
}
Итак, суть в том, что если я запускаю этот код, я просто вижу это окно, а затем ничего не происходит.