Gibt es eine Möglichkeit, die von FFmpeg ausgelöste Ausgabe zu deaktivieren oder auszublenden? [Duplikat]

11

Ich habe die Dokumentation durchgesehen, aber keine Lösung gefunden. Ich hoffe, es gibt eine Art Argument, das besagt FFmpeg, dass die Ausgabe in der Konsole nicht angezeigt wird.

Die Ausgabe, auf die ich mich beziehe, ist im folgenden Screenshot dargestellt

Geben Sie hier die Bildbeschreibung ein

asprin
quelle
Haben Sie versucht, eine einfache Befehlszeilenumleitung wie zu verwenden ffmpeg args >NUL? Obwohl das ein Problem sein kann, wenn es auf Eingaben von der Konsole wartet ...
Martineau

Antworten:

15

Es gibt zwei Möglichkeiten, die Ausgabemenge entweder erheblich zu reduzieren oder an eine andere Stelle umzuleiten.

  1. Aus dem ffmpeg-Handbuch : ffmpegMit der -loglevel quietOption ausführen .

  2. Tun Sie, was @martineau gesagt hat, und leiten Sie es in einen Nulldateideskriptor um. FFmpeg gibt standardmäßig an stderr aus, also würden Sie dies unter Windows tun ffmpeg ... 2>NUL. Unter Cygwin oder Linux / OS X / BSD würden Sie dies tun ffmpeg ... 2> /dev/null.

allquixotic
quelle
6
ffmpeg sendet den gesamten Text an stderr, daher müssen Sie ffmpeg ... 2> /dev/nullorffmpeg ... 2>NUL
evilsoup
11

Wie die andere Antwort -loglevel quietsagt , unterdrückt alles. Manchmal ist es jedoch nützlich, eine Ausgabe beizubehalten . Hier sind einige andere Optionen:

  • Sie können das Drucken von Berichten unterdrücken (die Zeilen, die mit frame = beginnen und alle paar Frames ausgegeben werden), indem Sie die -nostatsOption zu Ihrer Befehlszeile hinzufügen .

  • Sie können das Banner (Copyright-Hinweis, Bibliotheken usw.) unterdrücken, indem Sie die -hide_bannerOption zu Ihrer Befehlszeile hinzufügen .

Weitere Optionen finden Sie in der Dokumentation .

Sternenhimmel
quelle
1
Früher habe ich -loglevel quiet -statsnur die frame=Linie gezeigt. -hide_bannerhat nicht funktioniert, oder vielleicht war mit meinem Setup das, was es entfernt hat, nicht genug (es gab immer noch eineinhalb Seiten vor der frame=Zeile).
287352