My guess (I agree with the dtb comment): AFAIK ffmpeguses stdout to output binary data (multimedia, snapshots, etc.), and stderr is used for logging. In your example, you are using stdout.
So change the code:
p.StartInfo.RedirectStandardError = true;
...
string log = p.StandardError.ReadToEnd();
and he should solve your problem.
source
share