Standardmäßig sendet ffmpeg eine ganze Menge Nachrichten an stderr: beim Erstellen, wie erstellt, Codecs usw. usw. usw.
Wie kann ich es leiser machen?
Ich habe es versucht -v 0
(und -v 10
da die Dokumentation nur verhalten sagt, Set the logging verbosity level.
ohne Angabe des Eingangsbereichs) - immer noch nicht leise.
Ich habe es versucht -loglevel quiet
- immer noch nicht leise.
Ich sollte erwähnen, ich suche "leiser", nicht "keine Ausgabe je". Wenn es einen Fehler gibt, möchte ich ihn sehen, aber ich muss nicht bei jedem Fehler etwas über die Konfiguration von ffmpeg erfahren. Single. Zeit.
-loglevel quiet -stats
.-loglevel error -stats
werden Fehler angezeigt, von denen "auch solche, die behoben werden können", und durch die Verwendung wird-stats
sichergestellt, dass der Codierungsfortschritt und die Statistikzeile gedruckt werden. Der Wechsel-loglevel
vonerror
nachwarning
ist etwas ausführlicher, passt aber bequem auf eine Terminalseite.Antworten:
ffmpeg -hide_banner -loglevel panic
Dies wird in einem Kommentar unter der aktuellen Antwort erwähnt.
Die Option
-hide_banner
wurde Ende 2013 eingeführt ( https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html ).quelle
-nostats
?Ich habe es noch nicht ausprobiert, aber ich sehe eine Option in der Manpage:
Sollte es so sein, werden theoretisch nur schwerwiegende Fehler protokolliert
quelle
-loglevel panic
die Ausgabe für mich nur geringfügig reduziert - es werden immer noch Versionsinformationen, Stream-Mapping, Konfigurationsoptionen (und sogar Fortschrittsinformationen!) Gedruckt. Ich muss vielleicht erwähnen, dass es sich um eine selbstkompilierte Version aus dem neuesten SVN-Trunk handelt.-hide_banner
von zusätzlich zu einem reduzierten Ausführlichkeitsgrad wäre ein guter Kompromiss.Hier haben Sie Loglevels aus dem Quellcode (FFmpeg Version 0.10.2.git)
quelle
Ich habe mit Erfolg folgendes verwendet (neueste FFMPEG-Version zum Zeitpunkt des Schreibens):
Dann ist es in meinem Nutzungsszenario absolut ruhig.
quelle
-nostats
war das, wonach ich gesucht habe. Es unterdrückt die Fortschrittsausgabe (z. B. nützlich in einem nicht terminalen Kontext).-nostats
leider auch das Banner. ffmpeg braucht eine-show_banner
Option;)Dies verbirgt das Banner und zeigt nur Fehler an. Verwenden
-loglevel warning
Sie diese Option, wenn Sie Warnungen anzeigen möchten.Getestet in Ffmpeg 3.0.2.
Aus der Dokumentation :
quelle
Folgendes funktionierte für mich unter macOS:
oder um nur den Fortschritt zu sehen:
quelle
Sie können stderr durch grep leiten. Wenn Sie beispielsweise die Konfigurationsinformationen entfernen möchten, können Sie dies folgendermaßen tun:
quelle
ffmpeg … 2>&1 >/dev/null | grep …
.Dies ist ein wenig billig, aber das Anhängen
>/dev/null 2>&1
ist ein sicherer Weg, um ffmpeg in der Shell stumm zu halten.Beispiel
Weitere Informationen zur Bash-Ausgabe
quelle
ffmpeg -loglevel error -hide_banner -nostats
Nur die Fehler, sonst nichts.
Mir persönlich gefällt das am besten;
ffmpeg -loglevel warning -hide_banner -stats
Es gibt nur Warnungen und Fehler, zeigt aber auch den Arbeitsfortschritt an.
quelle