
Standardmäßig sendet ffmpeg eine ganze Menge Nachrichten an stderr: wann es erstellt wurde, wie es erstellt wurde, Codecs usw. usw. usw.
Wie kann ich es leiser machen?
Ich habe es versucht -v 0
(und -v 10
da in der Dokumentation nur schüchtern davon die Rede ist, Set the logging verbosity level.
ohne einen Hinweis auf den Eingabebereich zu geben), ist es immer noch nicht leise.
Ich habe es versucht -loglevel quiet
, aber es ist immer noch nicht leise.
Ich sollte erwähnen, dass ich nach „leiser“ suche, nicht nach „niemals einer Ausgabe“. Wenn ein Fehler auftritt, möchte ich ihn sehen, aber ich muss nicht jedes Mal etwas über die Konfiguration von ffmpeg hören.
Antwort1
ffmpeg -hide_banner -loglevel error
Darauf wird in einem Kommentar unter der aktuellen Antwort angespielt.
Die Option -hide_banner
wurde Ende 2013 eingeführt -https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html)
-loglevel warning
führt zu mehr Ausgabe als die error
Ebene (aber weniger als die Standardebene info
), da alle Warnmeldungen angezeigt werden.
-loglevel panic
ist die am wenigsten ausführliche Ausgabe (sogar Fehlermeldungen werden weggelassen), ist aber nicht dokumentiert.
Die offizielle -loglevel
Dokumentation finden Sie imffmpeg-DokumentationunterAllgemeine Optionen, Unterabschnitt-loglevel [flags+]loglevel | -v [flags+]loglevel
.
Antwort2
Ich habe es nicht ausprobiert, sehe aber auf der Manpage eine Option:
ffmpeg -loglevel panic [rest of your ffmpeg stuff]
Sollte theoretisch dafür sorgen, dass nur schwerwiegende Fehler protokolliert werden.
Antwort3
Hier sind die Loglevels aus dem Quellcode (FFmpeg Version 0.10.2.git)
const struct { const char *name; int level; } log_levels[] = {
{ "quiet" , AV_LOG_QUIET },
{ "panic" , AV_LOG_PANIC },
{ "fatal" , AV_LOG_FATAL },
{ "error" , AV_LOG_ERROR },
{ "warning", AV_LOG_WARNING },
{ "info" , AV_LOG_INFO },
{ "verbose", AV_LOG_VERBOSE },
{ "debug" , AV_LOG_DEBUG },
};
Antwort4
ffmpeg -loglevel error [other commands]
Dadurch wird das Banner ausgeblendet und nur Fehler angezeigt. Verwenden Sie diese Option, -loglevel warning
wenn Sie Warnungen sehen möchten.
Getestet in Ffmpeg 3.0.2.
Von demDokumentation:
-loglevel [Wiederholung+]Loglevel | -v [Wiederholung+]Loglevel
Legen Sie die von der Bibliothek verwendete Protokollierungsebene fest. Das Hinzufügen von „repeat+“ gibt an, dass wiederholte Protokollausgaben nicht auf die erste Zeile komprimiert werden sollen und die Zeile „Letzte Nachricht n-mal wiederholt“ weggelassen wird. „repeat“ kann auch allein verwendet werden. Wenn „repeat“ allein verwendet wird und keine vorherige Protokollierungsebene festgelegt wurde, wird die Standardprotokollierungsebene verwendet. Wenn mehrere Protokollierungsebenenparameter angegeben sind, ändert die Verwendung von „repeat“ die Protokollierungsebene nicht. Die Protokollierungsebene ist eine Zeichenfolge oder eine Zahl, die einen der folgenden Werte enthält:
'ruhig, -8'
Zeigen Sie überhaupt nichts; schweigen Sie.
'Panik, 0'
Zeigt nur schwerwiegende Fehler an, die zum Absturz des Prozesses führen könnten, wie z. B. Assert-Fehler. Dies wird derzeit für nichts verwendet.
'tödlich, 8'
Nur schwerwiegende Fehler anzeigen. Das sind Fehler, nach denen der Vorgang auf keinen Fall fortgesetzt werden kann.
'Fehler, 16'
Alle Fehler anzeigen, auch solche, die behoben werden können.
'Warnung, 24'
Alle Warnungen und Fehler anzeigen. Alle Meldungen zu möglicherweise falschen oder unerwarteten Ereignissen werden angezeigt.
'Info, 32'
Während der Verarbeitung informative Meldungen anzeigen. Dies gilt zusätzlich zu Warnungen und Fehlern. Dies ist der Standardwert.
„ausführlich, 40“
Dasselbe wie
info
, nur ausführlicher.'Debuggen, 48'
Alles anzeigen, einschließlich Debuginformationen.
'Spur, 56'
Standardmäßig loggt das Programm in stderr. Wenn die Farbgebung vom Terminal unterstützt wird, werden Farben verwendet, um Fehler und Warnungen zu markieren. Die Farbgebung des Protokolls kann durch Festlegen der Umgebungsvariable
AV_LOG_FORCE_NOCOLOR
oder deaktiviertNO_COLOR
oder durch Festlegen der Umgebungsvariable erzwungen werdenAV_LOG_FORCE_COLOR
. Die Verwendung der UmgebungsvariableNO_COLOR
ist veraltet und wird in einer der nächsten FFmpeg-Versionen wegfallen.