在一个进程 ID 中一次执行多个任务



我想在单个ffmpeg进程中运行这些转换任务,但我不知道该怎么做。

ffmpeg -i video1.mkv output1.mp4
ffmpeg -i video2.mkv output2.mp4
ffmpeg -i video3.mkv output3.mp4

我尝试使用字符"&"来分隔这样的任务,

string parameters = "-i video1.mkv output1.mp4 & -i video2.mkv output2.mp4 & -i video3.mkv output3.mp4";
var processInfo = new ProcessStartInfo();
processInfo.FileName = "ffmpeg.exe";
processInfo.Arguments = parameters;
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
using (var process = new Process())
{
process.StartInfo = processInfo;
process.Start();
process.WaitForExit();
}

它不起作用。另一个像&&|;这样的分隔符也不起作用。

我已经在cmd上尝试过这段代码.exe:

ffmpeg -i video1.mkv output1.mp4 & ffmpeg -i video2.mkv output2.mp4 & ffmpeg -i video3.mkv output3.mp4

它产生 3 个我不想这样做的进程 ID。我想要一个可以一次执行 3 个转换的进程。这可能吗?

谢谢。

执行

ffmpeg -i video1.mkv -i video2.mkv -i video3.mkv -map 0 output1.mp4 -map 1 output2.mp4 -map 2 output3.mp4

最新更新