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

Comment faire pour que ffmpeg soit plus silencieux/moins verbeux ?

Par défaut, ffmpeg envoie tout un tas de messages à stderr : quand et comment il a été construit, les codecs, etc, etc, etc.

*Comment puis-je le rendre plus silencieux ? *

J'ai essayé -v 0 (et -v 10 puisque la documentation dit juste timidement Set the logging verbosity level. sans indication de la gamme d'entrées) – toujours pas silencieux.

J'ai essayé -loglevel quiet – toujours pas silencieux.

je devrais mentionner que je cherche “plus silencieux”, et non pas “jamais aucune sortie”. S'il y a une erreur, je veux la voir, mais je n'ai pas besoin d'entendre parler de la configuration de ffmpeg à chaque fois.

Réponses (9)

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

Je ne l'ai pas testé, mais je vois une option dans la page de manuel :

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

devrait faire en sorte que seules les erreurs graves soient enregistrées, en théorie

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

ffmpeg -hide_banner -loglevel panic

Il y est fait allusion dans un commentaire en dessous de la réponse actuelle.

L'option -hide_banner a été introduite à la fin de 2013 – https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html )

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

Ici, vous avez les niveaux de log du code source (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 },
    };
```.
21
21
21
2015-08-12 06:41:29 +0000

J'ai utilisé avec succès la version suivante (la plus récente version FFMPEG au moment de la rédaction) :

-nostats -loglevel 0

Alors elle est absolument silencieuse dans mon scénario d'utilisation.

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

Cela cache la bannière et n'affiche que les erreurs. Utilisez -loglevel warning si vous souhaitez voir les avertissements.

Testé dans Ffmpeg 3.0.2.

D'après la documentation :

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

Définir le niveau de journalisation utilisé par la bibliothèque. L'ajout de “repeat+” indique que la sortie répétée du journal ne doit pas être compressée sur la première ligne et que la ligne “Last message repeated n times” sera omise. “repeat” peut également être utilisé seul. Si “repeat” est utilisé seul, et sans aucun niveau de journalisation préalable, le niveau de journalisation par défaut sera utilisé. Si plusieurs paramètres de niveau de journalisation sont donnés, l'utilisation de “repeat” ne changera pas le niveau de journalisation. loglevel est une chaîne ou un nombre contenant l'une des valeurs suivantes :

** ‘quiet, -8’**

Ne rien montrer du tout ; être silencieux.

‘panique, 0’

Ne montrer que les erreurs fatales qui pourraient conduire au crash du processus, telles que et affirmer l'échec. Cette fonction n'est actuellement utilisée pour rien.

‘fatal, 8’

Ne montrer que les erreurs fatales. Il s'agit d'erreurs après lesquelles le processus ne peut absolument pas continuer.

‘erreur, 16’

Afficher toutes les erreurs, y compris celles qui peuvent être récupérées.

‘avertissement, 24’

Afficher tous les avertissements et erreurs. Tout message lié à des événements éventuellement incorrects ou inattendus sera affiché.

‘info, 32’

Afficher les messages informatifs pendant le traitement. Ceci s'ajoute aux avertissements et aux erreurs. Il s'agit de la valeur par défaut.

‘verbeux, 40’

Identique à info, mais plus verbeux.

** “debug, 48’**

Afficher tout, y compris les informations de débogage.

‘trace, 56’

Par défaut, le programme se connecte à stderr, si la coloration est supportée par le terminal, les couleurs sont utilisées pour marquer les erreurs et les avertissements. La coloration des journaux peut être désactivée en définissant la variable d'environnement AV_LOG_FORCE_NOCOLOR ou NO_COLOR, ou peut être forcée en définissant la variable d'environnement AV_LOG_FORCE_COLOR. L'utilisation de la variable d'environnement NO_COLOR est dépréciée et sera abandonnée dans une prochaine version FFmpeg.

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

Ce qui suit a fonctionné pour moi sur macOS :

ffmpeg -v quiet

ou pour voir seulement les progrès :

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

Vous pouvez faire passer stderr par grep. Par exemple, si vous voulez supprimer les informations de configuration, vous pouvez le faire comme ceci :

% 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

Juste les erreurs, rien d'autre.

C'est ce que je préfère personnellement ;

ffmpeg -loglevel warning -hide_banner -stats

Il ne donne que des avertissements et des erreurs, mais montre aussi l'avancement des travaux.

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

C'est un peu bon marché, mais ajouter >/dev/null 2>&1 est un moyen sûr de garder le ffmpeg silencieux dans la coquille.

Exemple

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

Plus d'infos sur la sortie de bash