gpt4 book ai didi

Mac 上的 C# 启动进程 - FFMPEG - 退出代码 1

转载 作者:行者123 更新时间:2023-12-04 23:28:03 25 4
gpt4 key购买 nike

我正在尝试在 Mac 和 Windows(使用 Unity)上启动一个进程来运行 FFMPEG 将视频转换为 .ogv 视频。我的代码如下:

    string command = "ffmpeg -i '" + filepath + "'  -codec:v libtheora -qscale:v 10 -codec:a libvorbis -qscale:a 10 -y '"+workingDir+"/ogv_Video/"+System.IO.Path.GetFileNameWithoutExtension(filepath)+".ogv'";
UnityEngine.Debug.Log("Command: "+command);

try{

System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo (workingDir+"/..", command);
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.UseShellExecute = false;
startInfo.FileName =workingDir+"/ffmpeg";

//Process.Start (startInfo);
Process p = Process.Start(startInfo);
p.EnableRaisingEvents = true;
string strOutput = p.StandardOutput.ReadToEnd();
UnityEngine.Debug.Log ("Running..."+strOutput);
p.WaitForExit();

UnityEngine.Debug.Log ("Got here. "+strOutput);
int exitCode = p.ExitCode;
UnityEngine.Debug.Log ("Process exit code = "+exitCode);
}
catch(Exception e) {
UnityEngine.Debug.Log ("An error occurred");
UnityEngine.Debug.Log ("Error: "+e);
}

该命令执行并且不通过任何异常。但是,它会立即终止并打印 退出代码 1 这是“Catchall for general errors”——这似乎没有太大帮助!

请问我的代码有什么问题吗?

您会注意到我的代码完整地打印出命令。如果我复制该命令并将其粘贴到终端中,它运行得非常好。

最佳答案

事实证明我错误地设置了论点。引用 this Stack Overflow question ,我能够使用以下代码产生预期的结果:

try{

Process process = new Process();
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.FileName = Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName) +@"ffmpeg";

process.StartInfo.Arguments = command;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.Start();


JSONDataObject rtnMsg = new JSONDataObject("StartConvertOK", "-1", new List<string>());
return JsonUtility.ToJson(rtnMsg);

}

似乎答案与我所做的没有什么不同,但它确实有效!

关于Mac 上的 C# 启动进程 - FFMPEG - 退出代码 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35174612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com