gpt4 book ai didi

c# - 杀死所有重复打开的ffmpeg进程c#

转载 作者:行者123 更新时间:2023-12-04 23:14:55 24 4
gpt4 key购买 nike

我是 C# 新手,我正在尝试创建一个基于 ffmpeg 的工具来转换视频。
作为标题,我做了谷歌搜索并找到了许多杀死 ffmpeg 进程的方法,但就我而言,例如我有 10 个视频,这意味着将一个一个创建 10 个 ffmpeg 进程。如果我在第一个视频期间关闭表单,则会在后台依次创建另外 9 个。

是否有任何有效的方法来阻止 ffmpeg 创建进程?

最佳答案

我不太明白你的问题,但我希望这两种方法之一可能会有所帮助。

方法一:

Here我找到了一个解决方案,如何停止本地机器上的所有 ffmpeg 进程。

/// <summary>
/// Stops all ffmpeg processes on the local machine
/// </summary>
private void StopCapturing()
{
Process process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "taskkill",
Arguments = "/F /IM ffmpeg.exe",
UseShellExecute = false,
CreateNoWindow = true
}
};
process.Start();
}

方法二:

对于您启动的每个 ffmpeg.exe 进程,您可以保存 PID .使用 PID,您可以杀死之前启动的每个 ffmpeg.exe 实例。
/// <summary>
/// Starts a new process on the local machine. Returns the PID of the started process
/// </summary>
/// <param name="processName"></param>
/// <param name="arguments"></param>
private int StartProcess(string processName, string arguments)
{
// Initializes the process
Process process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = processName,
Arguments = arguments,
UseShellExecute = false,
CreateNoWindow = true
}
};

// Starts the process
process.Start();

return process.Id;
}

/// <summary>
/// Kills the process that equals the passed PID
/// </summary>
/// <param name="pid"></param>
private void KillProcess(int pid)
{
Process process = Process.GetProcessById(pid);
process.Kill();
}

关于c# - 杀死所有重复打开的ffmpeg进程c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48361166/

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