gpt4 book ai didi

c# - 在 C# 中完成处理后如何停止 ffmpeg 进程?

转载 作者:行者123 更新时间:2023-12-04 23:02:51 26 4
gpt4 key购买 nike

我试图在 ffmpeg 完成我想做的事情后停止它,但我无法找到方法。

这是我所做的。

//Process for running ffmpeg
Process process = new Process();
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.FileName = ffmpegfile;
process.StartInfo.Arguments = commandtorun;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;


process.Start();
process.WaitForExit();

process.Close();

问题是 ffmpeg 在完成执行后没有告诉进程停止,所以我不能使用 WaitForExit() 调用。

我尝试做的是
commandtorun = commandtorun+ " && exit";

强制ffmpeg在完成执行后关闭。现在,当我在 cmd 中尝试时,这可以工作。

但是当我在 C# 中做同样的事情时,ffmpeg 会在命令执行后立即关闭。

处理完成后有什么方法可以强制 ffmpeg 或进程关闭?

最佳答案

尝试
process.StartInfo.UseShellExecute = true;

这将强制进程在 shell 中运行。我不知道为什么它在使用标准执行时不起作用,但有时进程在 shell 执行中的行为会有所不同。

关于c# - 在 C# 中完成处理后如何停止 ffmpeg 进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48141042/

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