Por defecto, ffmpeg envía una gran cantidad de mensajes a stderr: cuando está construido, cómo está construido, códecs, etc., etc.
¿Cómo puedo hacerlo más silencioso?
He intentado -v 0(y -v 10ya que la documentación acaba con timidez dice Set the logging verbosity level.sin ninguna indicación de lo que es la variedad de entradas) - Todavía no es tranquilo.
Lo he intentado -loglevel quiet, aún no callado.
Debo mencionar que estoy buscando "más silencioso", no "sin salida alguna vez". Si hay un error, quiero verlo, pero no necesito escuchar sobre la configuración de ffmpeg cada vez. soltero. hora.

-loglevel quiet -stats.-loglevel error -stats, mostrará errores "incluidos los que se pueden recuperar" y el uso-statsgarantiza la impresión del progreso de codificación y la línea de estadísticas. Cambiar-logleveldeerrorawarninges un poco más detallado pero se adapta cómodamente a una página de terminal.Respuestas:
ffmpeg -hide_banner -loglevel panicEsto se alude en un comentario debajo de la respuesta actual.
La opción
-hide_bannerse introdujo a fines de 2013: https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html )fuente
-nostatstambién?No lo he probado, pero veo una opción en la página del manual para hacer:
Debería hacerlo de modo que solo se registren errores graves, en teoría
fuente
-loglevel panicpara mí, solo está reduciendo un poco la producción: todavía imprime información de versión, asignación de flujo, opciones de configuración (¡e incluso información de progreso!) ... ¿alguna idea? Puede que tenga que mencionar que es una versión autocompilada del último tronco de svn.-hide_bannerademás de un nivel de verbosidad reducido sería un buen compromiso.Aquí tiene los niveles de registro del código fuente (versión FFmpeg 0.10.2.git)
fuente
He utilizado con éxito lo siguiente (la última versión de FFMPEG al momento de escribir):
Entonces es absolutamente silencioso en mi escenario de uso.
fuente
-nostatsera lo que estaba buscando Suprimirá la salida de progreso (por ejemplo, útil en un contexto no terminal).-nostatsoculta la pancarta. ffmpeg necesita una-show_banneropción;)Esto oculta el banner y solo muestra errores. Úselo
-loglevel warningsi desea ver advertencias.Probado en Ffmpeg 3.0.2.
De la documentación :
fuente
Lo siguiente funcionó para mí en macOS:
o solo para ver el progreso:
fuente
Puede canalizar stderr a través de grep. Por ejemplo, si desea eliminar la información de configuración, puede hacerlo así:
fuente
ffmpeg … 2>&1 >/dev/null | grep ….Esto es un poco barato, pero anexar
>/dev/null 2>&1es una forma segura de mantener el ffmpeg en silencio en el shell.Ejemplo
Más información sobre la salida de bash
fuente
ffmpeg -loglevel error -hide_banner -nostatsSolo los errores, nada más.
Personalmente, esto me gusta más;
ffmpeg -loglevel warning -hide_banner -statsSolo da advertencias y errores, pero también muestra el progreso del trabajo.
fuente