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

¿Cómo puedo hacer que ffmpeg sea más silencioso/menos verboso?

Por defecto, ffmpeg envía un montón de mensajes a stderr: cuándo se construyó, cómo se construyó, códecs, etc, etc.

¿Cómo puedo hacer que sea más silencioso?

He probado con -v 0 (y -v 10 ya que la documentación sólo dice tímidamente Set the logging verbosity level. sin indicar cuál es el rango de entradas) – todavía no es silencioso.

He probado con -loglevel quiet – todavía no es silencioso.

Debo mencionar que estoy buscando “más silencioso”, no “ninguna salida”. Si hay un error quiero verlo, pero no necesito escuchar sobre la configuración de ffmpeg cada vez.

Respuestas (9)

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

No lo he probado, pero veo una opción en la página man para hacer:

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

Debería hacer que sólo se registraran los errores graves, en teoría

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

ffmpeg -hide_banner -loglevel panic

A esto se alude en un comentario debajo de la respuesta actual.

La opción -hide_banner se introdujo a finales de 2013 – https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html )

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

Aquí tienes los loglevels del código fuente (FFmpeg versión 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

He utilizado con éxito lo siguiente (la versión más reciente de FFMPEG en el momento de escribir esto):

-nostats -loglevel 0

Entonces es absolutamente tranquilo en mi escenario de uso.

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

Esto oculta el banner y sólo muestra los errores. Utilice -loglevel warning si desea ver las advertencias.

Probado en Ffmpeg 3.0.2.

De la documentación :

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

Establece el nivel de registro utilizado por la biblioteca. Añadiendo “repeat+” se indica que la salida de registro repetida no debe comprimirse en la primera línea y se omitirá la línea “Último mensaje repetido n veces”. “repeat” también puede usarse solo. Si “repeat” se utiliza solo, y sin un nivel de registro previo, se utilizará el nivel de registro por defecto. Si se dan varios parámetros de nivel de registro, el uso de “repeat” no cambiará el nivel de registro. loglevel es una cadena o un número que contiene uno de los siguientes valores:

‘quiet, -8’

No mostrar nada en absoluto; ser silencioso.

‘panic, 0’

Mostrar sólo los errores fatales que podrían llevar al proceso a colapsar, como por ejemplo un fallo de afirmación. Esto no se utiliza actualmente para nada.

‘fatal, 8’

Sólo muestra errores fatales. Estos son errores después de los cuales el proceso no puede continuar en absoluto.

‘error, 16’

Mostrar todos los errores, incluyendo los que se pueden recuperar.

‘warning, 24’

Muestra todas las advertencias y errores. Se mostrará cualquier mensaje relacionado con eventos posiblemente incorrectos o inesperados.

‘info, 32’

Mostrar mensajes informativos durante el procesamiento. Esto es adicional a las advertencias y errores. Este es el valor por defecto.

‘verbose, 40’

Igual que info, pero más verboso.

‘debug, 48’

Muestra todo, incluyendo la información de depuración.

‘trace, 56’

Por defecto el programa registra en stderr, si el terminal soporta la coloración, se usan colores para marcar los errores y las advertencias. La coloración del registro puede desactivarse estableciendo la variable de entorno AV_LOG_FORCE_NOCOLOR o NO_COLOR, o puede forzarse estableciendo la variable de entorno AV_LOG_FORCE_COLOR. El uso de la variable de entorno NO_COLOR está obsoleto y será eliminado en una próxima versión de FFmpeg.

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

En macOS me ha funcionado lo siguiente:

ffmpeg -v quiet

o para ver sólo el progreso:

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

Puedes canalizar stderr a través de grep. Por ejemplo, si quieres eliminar la información de configuración, puedes hacerlo así

% 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

Sólo los errores, nada más.

Personalmente me gusta más esto;

ffmpeg -loglevel warning -hide_banner -stats

Da sólo avisos y errores, pero también muestra el progreso del trabajo.

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

Esto es un poco barato para hacerlo, pero añadir >/dev/null 2>&1 es una forma segura de mantener ffmpeg en silencio en el shell.

Ejemplo

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

Más información sobre la salida de bash