I want to make a parser for ffmpeg output. But when running ffmpeg just only via
strCmdText = "-y -i \"" + path + "\"";
strCmdText += " -async 1 -vf yadif -c:v libx264 -b:v 1024k -r 30 -bf 1 -an nul.avi";
Process.Start(new ProcessStartInfo("lib\\ffmpeg.exe", strCmdText));
it's 2/3 slower than starting it in a batch:
set FFMPEG="ffmpeg\ffmpeg.exe"
%FFMPEG% -y -i %1 -async 1 -vf yadif -c:v libx264 -b:v 1024k -r 30 -bf 1 -an -pass 1 nul.avi
Running in C# it has a fps-rate of 130 (CPU: 100%), but running it with the batch it has 400 fps (CPU 75%).
In both ways the RAM usages and are same, #Handels and #Threads too. Setting the process priority to High/Live won't fix this nor running the process in a separate thread.
Is this normal, or can it be fixed?