
Ich habe die Aufgabe, Zeitraffervideos von mehreren IP-Kameras aufzunehmen (z. B. Kamera1.mp4, Kamera2.mp4, Kamera#.mp4 usw.). Derzeit führe ich separate Instanzen von ffmpeg.exe gleichzeitig auf einer MS Azure VM (C2D, 7 GB RAM) aus. Jede ffmpeg.exe ist dafür verantwortlich, neu aufgenommene Bilder (alle 1 Minute) von der Kamera mit ihrer vorhandenen .mp4-Datei zu verknüpfen und so die endgültige Kamera#.mp4 zu erstellen.
Ich habe zwar Tricks verwendet, wie zum Beispiel die Beschränkung von ffmpeg.exe, sodass nur einer von vier verfügbaren CPU-Kernen genutzt wird, aber die CPU wird trotzdem fast immer zu 100 % ausgelastet.
Gibt es eine Idee, wie man diese Situation verbessern könnte? (Vielleicht hat jemand etwas Ähnliches gemacht, indem er eine einzelne Instanz von ffmpeg.exe verwendet und Verkettungsaufgaben für jede Kamera in die Warteschlange gestellt hat?)
ODER bitte andere hilfreiche Ideen/Hinweise zur Behebung des Problems.
Antwort1
Ich gehe davon aus, dass Sie Windows verwenden. Warum verwenden Sie nicht dieBefehl „start“mit einer niedrigeren Priorität als normal, z. B. /LOW
. Es werden zwar immer noch 100 % der CPU genutzt, wenn es möglich ist, aber nur, wenn nichts anderes dies benötigt.