2017-07-18 17 views
1

私はこれらの変換タスクを1回のffmpegプロセスで実行したいと考えていますが、その方法はわかりません。複数のタスクを一度に1つのプロセスIDで

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つの変換を実行できる単一のプロセスが必要です。それは可能ですか?

ありがとうございました。

+2

ffmpegのコマンドラインプログラムで実行します。各呼び出しはプロセスを生成します。その周りに方法はありません。おそらく、より良い質問は、「なぜそれが単一のプロセスである必要がありますか?」です。 –

答えて

2

ffmpeg -i video1.mkv -i video2.mkv -i video3.mkv -map 0 output1.mp4 -map 1 output2.mp4 -map 2 output3.mp4 
関連する問題