
De forma predeterminada, ffmpeg envía una gran cantidad de mensajes a stderr: cuándo se creó, cómo se creó, códecs, etc, etc, etc.
¿Cómo puedo hacerlo más silencioso?
Lo intenté -v 0
(y -v 10
dado que la documentación simplemente dice tímidamente Set the logging verbosity level.
sin indicación de cuál es el rango de entradas), todavía no estoy en silencio.
Lo he intentado -loglevel quiet
, todavía no estoy tranquilo.
Debo mencionar que estoy buscando "más silencioso", no "nunca sin salida". Si hay un error, quiero verlo, pero no necesito escuchar sobre la configuración de ffmpeg cada vez. soltero. tiempo.
Respuesta1
ffmpeg -hide_banner -loglevel error
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)
-loglevel warning
genera más resultados que el error
nivel (pero menos que el nivel predeterminado info
), ya que muestra todos los mensajes de advertencia.
-loglevel panic
es el resultado menos detallado (omitiendo incluso mensajes de error) pero no está documentado.
La -loglevel
documentación oficial se puede encontrar en elDocumentación ffmpegbajoOpciones genéricas, subsección-loglevel [flags+]loglevel | -v [flags+]loglevel
.
Respuesta2
No lo he probado, pero veo una opción en la página de manual para hacer:
ffmpeg -loglevel panic [rest of your ffmpeg stuff]
Debería hacerlo de modo que, en teoría, solo se registren errores graves
Respuesta3
Aquí tienes los niveles de registro 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 },
};
Respuesta4
ffmpeg -loglevel error [other commands]
Esto oculta el banner y solo muestra errores. Úselo -loglevel warning
si desea ver advertencias.
Probado en Ffmpeg 3.0.2.
Desde eldocumentación:
-nivel de registro [repetir+]nivel de registro | -v [repetir+]nivel de registro
Establezca el nivel de registro utilizado por la biblioteca. Agregar "repetir+" indica que la salida del registro repetido no debe comprimirse en la primera línea y se omitirá la línea "Último mensaje repetido n veces". "repetir" también se puede utilizar solo. Si se usa "repetir" solo y sin un nivel de registro previo establecido, se usará el nivel de registro predeterminado. Si se proporcionan varios parámetros de nivel de registro, el uso de 'repetir' no cambiará el nivel de registro. loglevel es una cadena o un número que contiene uno de los siguientes valores:
'tranquilo, -8'
No mostrar nada en absoluto; guarda silencio.
'pánico, 0'
Solo muestra errores fatales que podrían provocar que el proceso falle, como por ejemplo y afirmar falla. Actualmente esto no se utiliza para nada.
'fatal, 8'
Sólo muestra errores fatales. Se trata de errores tras los cuales el proceso no puede continuar en absoluto.
'error, 16'
Muestra todos los errores, incluidos aquellos de los que se puede recuperar.
'advertencia, 24'
Mostrar todas las advertencias y errores. Se mostrará cualquier mensaje relacionado con eventos posiblemente incorrectos o inesperados.
'información, 32'
Mostrar mensajes informativos durante el procesamiento. Esto se suma a las advertencias y errores. Este es el valor predeterminado.
'detallado, 40'
Igual que
info
, excepto que es más detallado.'depurar, 48'
Muestra todo, incluida la información de depuración.
'rastro, 56'
De forma predeterminada, el programa inicia sesión en stderr; si el terminal admite colores, los colores se utilizan para marcar errores y advertencias. La coloración del registro se puede desactivar configurando la variable de entorno
AV_LOG_FORCE_NOCOLOR
oNO_COLOR
se puede forzar la configuración de la variable de entornoAV_LOG_FORCE_COLOR
. El uso de la variable de entornoNO_COLOR
está obsoleto y se eliminará en la siguiente versión de FFmpeg.