Mit welchen Einstellungen kann ich die FFMpeg-Leistung maximieren?


9

Ich versuche, Screencasts zu erstellen, aber da mein Computer viel zu alt und zu langsam ist, ist das produzierte Video verzögert und die Anwendung, die ich aufzeichnen möchte, reagiert aufgrund des CPU-Verbrauchs nicht mehr. Da ich momentan kein Upgrade durchführen kann, möchte ich das, was ich habe, optimieren.
Ich habe von GNOME zu OpenBox gewechselt und unnötige Prozesse usw. beendet. Immer noch nicht gut. Ich habe auch die Anwendung, die ich aufzeichne, optimiert, sodass nur noch der Rekorder selbst übrig bleibt, nämlich FFMpeg.

Welche Optionen und Flags können verwendet werden, um die beste Leistung von FFMpeg zu erzielen? Gibt es bestimmte Codecs, die einfacher zu verarbeiten sind als andere? Ich werde ungefähr 10-15 Minuten auf einmal aufnehmen, daher wäre auch etwas willkommen, das keine RIESIGEN Dateigrößen erzeugt. Irgendwelche Ideen?


5
Als grobe Richtlinie: kleine Größe, gute Qualität, hohe Geschwindigkeit: Wählen Sie zwei aus. Ich würde zuerst in ein Format mit weniger Komprimierung / höherer Bitrate pro Sekunde aufnehmen und diese Datei anschließend mit einer Geschwindigkeit, die unter der Echtzeit liegt, auf etwas kleineres komprimieren.
Ulrich Schwarz

@ UlrichSchwarz, ausgezeichnete Antwort. Ich stimme ihm vollkommen zu.

Antworten:


4

Wenn Sie einen alten Computer haben, verursacht jeder Codec Probleme bei der Echtzeitcodierung (nicht nur für die CPU, sondern auch für die Festplatte). Ich schlage vor, eine Auflösung zu finden, die niedrig genug ist, um die Dateigröße zu reduzieren. Ich möchte benutzerdefinierte Auflösungen und Framerate haben (mpeg1 / mpeg2 kann nicht verwendet werden). Auflösung und Framerate wählen mit Bedacht aus.

Hier sind meine Vorschläge für Schalter in ffmpeg:

-vcodec libx264 
-r 15
-preset ultrafast
-s 800x600

hier setze ich 800x600 (das ist vielleicht zu niedrig) und die Framerate beträgt 15 fps. Für eine bessere Leistung stellen Sie die Framerate auf 15 bis 10 FPS ein. Nach meiner Erfahrung ist x264 ein schneller Codec und ermöglicht benutzerdefinierte Auflösungen und Frameraten.

Hier ist das Setup für MPEG2 (das schneller ist, aber durch Auflösungen und Framerate begrenzt ist).

-r 25 
-s 720x480 
-preset ultrafast 
-vcodec mpeg2video

Ich muss überprüfen, ob Sie möglicherweise die erste Person in der Geschichte sind, die die H.264-Codierung als "schnell" bezeichnet ... :-P Aber ja, das Wichtigste ist die Voreinstellung, mit der alle teuren Optionen deaktiviert werden.
Derobert

Sie haben Recht! Wenn 720x480 hier gut genug ist, ist dies schneller: -r 25 -s 720x480 -preset ultraschnell -vcodec mpeg2video (Ich lebe in der Full HD-Welt und habe völlig vergessen, dass jemand eine Auflösung von 800x600 verwendet :()
manuel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.