我在我的 C# 应用程序中通过 ProcessStartInfo 调用 FFmpeg 但是,我不能一直收到错误;
未找到预设“lossless_slow”的文件
这是我的 C# 代码;
var processinfo = new ProcessStartInfo();
processinfo.FileName = "FFmpeg\\bin\\ffmpeg.exe";
processinfo.Arguments = "-i C:\Temp\input.mp4 -y -acodec aac -strict experimental -ab 96k -vcodec libx264 -vpre lossless_slow -crf 22 -threads 0 C:\Temp\output.mp4"
processinfo.RedirectStandardOutput = true;
processinfo.RedirectStandardError = true;
processinfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
processinfo.UseShellExecute = false;
processinfo.LoadUserProfile = true;
processinfo.EnvironmentVariables.Add("HOME", @"C:\Users\wonea\.ffmpeg");
var reg = System.Diagnostics.Process.Start(processinfo);
string output = string.Empty;
string error = string.Empty;
using (System.IO.StreamReader myOutput = reg.StandardOutput)
{
output = myOutput.ReadToEnd();
}
using (System.IO.StreamReader myError = reg.StandardError)
{
error = myError.ReadToEnd();
}
现在我把我的预设放在文件夹中
C:\用户\wonea\ .ffmpeg
并将其包含在 Windows 路径用户变量 HOME 中。这在从命令行运行 FFmpeg 时工作正常,但是当在我的 C# 应用程序中发出命令时失败,为什么!?谢谢你的帮助...!
另外值得注意的是,我将服务作为“网络服务”运行。