2017-07-18 2 views
1

Ich möchte diese Konvertierung Aufgabe bei einzelnen ffmpeg Prozess ausführen, aber ich weiß nicht, wie das geht.ffmpeg mehrere Aufgabe auf einmal in einer Prozess-ID

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

Ich habe versucht, zu verwenden Zeichen "&" die Aufgabe so zu trennen,

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(); 
} 

Es funktioniert nicht. Und ein anderer Separator wie &&|; funktioniert auch nicht.

Ich habe diesen Code auf cmd.exe versucht:

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

Es produziert 3 Prozess-ID, wo ich das tun nicht wollen. Ich möchte einen einzigen Prozess, der 3 Konvertierungen gleichzeitig ausführen kann. Ist das möglich?

Danke.

+2

ffmpeg ein Programmbefehlszeile ist. Jeder Aufruf erzeugt einen Prozess. Es gibt keinen Weg dahin. Vielleicht wäre eine bessere Frage "Warum brauchen Sie einen einzigen Prozess?". –

Antwort

2

Execute

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