2011-08-22 21:59:57 +0000 2011-08-22 21:59:57 +0000
132
132

Hoe kan ik ffmpeg stiller/minder verbose laten zijn?

Standaard stuurt ffmpeg een heleboel berichten naar stderr: wanneer het gebouwd is, hoe het gebouwd is, codecs, enz, enz.

*Hoe kan ik het stiller maken? *

Ik heb -v 0 geprobeerd (en -v 10 aangezien de documentatie gewoon verlegen Set the logging verbosity level. zegt zonder aan te geven wat het bereik van inputs is) – nog steeds niet stil.

Ik heb -loglevel quiet geprobeerd – nog steeds niet stil.

Ik moet zeggen, ik ben op zoek naar “stiller,” niet “geen output ooit”. Als er een fout is, wil ik die zien, maar ik hoef niet elke. keer te horen over ffmpeg’s configuratie.

Antwoorden (9)

122
122
122
2012-01-12 00:59:37 +0000

Ik heb het niet uitgetest, maar ik zie een optie in de man pagina om te doen:

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

Zou het zo moeten maken dat alleen ernstige fouten worden gelogd, in theorie

92
92
92
2016-02-24 19:37:56 +0000

ffmpeg -hide_banner -loglevel panic

Hierop wordt gezinspeeld in een opmerking onder het huidige antwoord.

De optie -hide_banner werd eind 2013 geïntroduceerd – https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html )

58
58
58
2012-06-18 11:54:37 +0000

Hier heb je loglevels van de broncode (FFmpeg versie 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 },
    };
21
21
21
2015-08-12 06:41:29 +0000

Ik heb met succes het volgende gebruikt (nieuwste FFMPEG Versie op het moment van schrijven):

-nostats -loglevel 0

Dan is het absoluut stil in mijn gebruiksscenario.

18
18
18
2016-07-09 17:25:13 +0000
ffmpeg -loglevel error [other commands]

Dit verbergt de banner en geeft alleen fouten weer. Gebruik -loglevel warning als u ook waarschuwingen wilt zien.

Getest in Ffmpeg 3.0.2.

Uit de documentatie :

-loglevel [repeat+]loglevel | -v [repeat+]loglevel

Stel het door de bibliotheek gebruikte logging-niveau in. Het toevoegen van “repeat+” geeft aan dat herhaalde loguitvoer niet gecomprimeerd moet worden tot de eerste regel en dat de regel “Laatste bericht n keer herhaald” wordt weggelaten. “repeat” kan ook alleen worden gebruikt. Als “repeat” alleen wordt gebruikt, en zonder dat er een loglevel is ingesteld, wordt het standaard loglevel gebruikt. Als er meerdere loglevel parameters zijn gegeven, zal het gebruik van ‘repeat’ het loglevel niet veranderen. loglevel is een string of een getal met één van de volgende waarden:

‘quiet, -8’

Laat helemaal niets zien; wees stil.

‘panic, 0’

Laat alleen fatale fouten zien die het proces kunnen laten crashen, zoals en assert failure. Dit wordt momenteel nergens voor gebruikt.

‘fatal, 8’

Toon alleen fatale fouten. Dit zijn fouten waarna het proces absoluut niet verder kan.

‘error, 16’

Toon alle fouten, inclusief de fouten die hersteld kunnen worden.

‘warning, 24’

Toon alle waarschuwingen en fouten. Alle berichten die betrekking hebben op mogelijk onjuiste of onverwachte gebeurtenissen worden getoond.

‘info, 32’

Toon informatieve berichten tijdens de verwerking. Dit is in aanvulling op waarschuwingen en fouten. Dit is de standaard waarde.

‘verbose, 40’

Zelfde als info, maar dan meer verbose.

‘debug, 48’

Alles laten zien, inclusief debug-informatie.

‘trace, 56’

Standaard logt het programma naar stderr, als kleuring door de terminal wordt ondersteund, worden kleuren gebruikt om fouten en waarschuwingen te markeren. Logkleuring kan worden uitgeschakeld door de omgevingsvariabele AV_LOG_FORCE_NOCOLOR of NO_COLOR in te stellen, of kan worden geforceerd door de omgevingsvariabele AV_LOG_FORCE_COLOR in te stellen. Het gebruik van de omgevingsvariabele NO_COLOR is verouderd en zal in een volgende FFmpeg-versie worden afgeschaft.

5
5
5
2018-10-04 16:04:12 +0000

Het volgende werkte voor mij op macOS:

ffmpeg -v quiet

of om alleen de voortgang te zien:

ffmpeg -v quiet -stats
3
3
3
2013-04-17 14:00:47 +0000

Je kunt stderr door grep laten lopen. Als je bijvoorbeeld de configuratie-info wilt verwijderen, zou je het als volgt kunnen doen:

% ffmpeg -i infile.avi -s 640x480 outfile.avi >/dev/null 2>&1 | grep -v configuration:
0
0
0
2019-05-30 01:41:51 +0000

ffmpeg -loglevel error -hide_banner -nostats

Alleen de fouten, verder niets.

Persoonlijk vind ik dit het beste;

ffmpeg -loglevel warning -hide_banner -stats

Het geeft alleen waarschuwingen en fouten, maar laat ook de voortgang van het werk zien.

0
0
0
2011-08-23 05:08:56 +0000

Dit is een beetje goedkoop om te doen, maar >/dev/null 2>&1 toevoegen is een zekere manier om ffmpeg stil te houden in de shell.

Voorbeeld

ffmpeg -f x11grab -y -r 24 -s 800x600 -i :0.0+1366,100 -f oss -i /dev/dsp3 -sameq ./out.avi >/dev/null 2>&1

Meer info over bash output