Wie ändere ich die Prozesspriorität von FFMPEG?

Wie ändere ich die Prozesspriorität von FFMPEG?

Ich versuche, eine Möglichkeit zu finden, die Priorität des ffmpeg-Prozesses festzulegen. Der Server konvertiert eingehende Videos in verschiedene Auflösungen. Neue Videos sollten eine höhere Priorität haben und schneller konvertiert werden als vorhandene Prozesse.

Es sollte ähnlich wie SJF- (Shortest Job First) oder LIFO-Algorithmen (Last In First Out) funktionieren.

Gibt es eine Möglichkeit, dies mit ffmpeg zu tun?

Ich laiche Prozesse wie diese ffmpeg -i "${video_path}" -strict experimental -movflags faststart -vf "${resolution}" "${output_path}" >> "${ffmpeg_log}" 2>&1

Notiz:

Ich habe die Lösung bereits getestet nice. Es sieht so aus, als ob sie nicht funktioniert. Ich habe 2 ffmpeg-Prozesse mit Priorität 10 und -10 gestartet, und der, der früher gestartet wurde, wurde früher abgeschlossen

Antwort1

Sie rufen einfach annicebevor der Prozess aufgerufen wird, zusammen mit dem Niceness-Wert.

Auf den Manpages niceerfahren Sie, wie Sie genau herausfinden, wie „nett“ ein Prozess ist, d. h. niedrigere Werte == weniger nett, höhere Priorität.

nice --5 "ffmpeg -i...."würde ffmpeg mit einem Nice-Wert von -5 starten, wodurch es eine höhere Priorität erhält als etwas mit einem Nice-Wert von -1.

0 ist normalerweise der Standardwert. Ein höherer Wert bedeutet, dass Sie eine niedrigere Priorität als die Standardpriorität haben.

verwandte Informationen