¿Cuáles son las diferencias y similitudes entre ffmpeg, libav y avconv?


Cuando corro ffmpeg en Ubuntu, muestra:

$ ffmpeg 
ffmpeg version v0.8, Copyright (c) 2000-2011 the Libav developers
  built on Feb 28 2012 13:27:36 with gcc 4.6.1
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).

O se muestra (dependiendo de la versión de Ubuntu):

$ ffmpeg
ffmpeg version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
  built on Jan 24 2013 14:49:20 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.

Encontré avconv en http://libav.org . Estoy perplejo por ellos.

Author: Peter Mortensen, 2012-02-28

1 answers

Mensajes confusos

Estos mensajes son bastante engañosos y comprensiblemente una fuente de confusión. Las versiones anteriores de Ubuntu usaban Libav, que es una bifurcación del proyecto FFmpeg. FFmpeg regresó en Ubuntu 15.04 "Vivid Vervet".

La bifurcación fue básicamente un resultado no amistoso de personalidades conflictivas y estilos de desarrollo dentro de la comunidad FFmpeg. Vale la pena señalar que el mantenedor de Debian / Ubuntu cambió de FFmpeg a Libav por su propia voluntad debido por estar involucrado con el tenedor Libav.

El verdadero ffmpeg vs el falso

Durante un tiempo Libav y FFmpeg desarrollaron por separado su propia versión de ffmpeg.

Libav luego renombró su bizarro ffmpeg a avconv para distanciarse del proyecto FFmpeg. Durante el período de transición, se mostró el mensaje "no desarrollado más" para indicar a los usuarios que comenzaran a usar avconv en lugar de su versión falsificada de ffmpeg. Esto confundió a los usuarios en pensar que FFmpeg (el proyecto) está muerto, lo cual no es cierto. Una mala elección de palabras, pero no puedo imaginar que Libav no espere una respuesta de los usuarios en general.

Este mensaje se eliminó cuando el falso "ffmpeg" finalmente se eliminó de la fuente Libav, pero, dependiendo de su versión, todavía puede aparecer en Ubuntu porque la fuente Libav que usa Ubuntu es del período de transición de ffmpeg a avconv.

En junio de 2012, el mensaje fue re-redactado para el paquete libav - 4:0.8.3-0ubuntu0.12.04.1. Desafortunadamente, el nuevo mensaje "obsoleto" ha causado confusión adicional al usuario.

Comenzando con Ubuntu 15.04 "Vivid Vervet", el ffmpeg de FFmpeg está de vuelta en los repositorios de nuevo.

Libav vs Libav

Para complicar aún más las cosas, Libav eligió un nombre que fue utilizado históricamente por FFmpeg para referirse a sus bibliotecas (libavcodec, libavformat, etc.). Por ejemplo, la lista de correo libav-user , para preguntas y discusiones sobre el uso de FFmpeg bibliotecas, no está relacionado con el proyecto Libav.

Cómo distinguir la diferencia

Si está utilizando avconv entonces está utilizando Libav. Si está utilizando ffmpeg podría estar utilizando FFmpeg o Libav. Consulte la primera línea en la salida de la consola para distinguir la diferencia: el aviso de copyright mencionará FFmpeg o Libav.

En segundo lugar, los esquemas de numeración de versiones difieren. Cada una de las bibliotecas FFMPEG o Libav contiene un encabezado version.h que muestra un número de versión. FFmpeg terminará en tres dígitos, como 57.67.100, y Libav terminará en un dígito como 57.67.0. También puede ver los números de versión de la biblioteca ejecutando ffmpeg o avconv y viendo la salida de la consola.

Si desea utilizar el real ffmpeg

Ubuntu 15.04" Vivid Vervet " o posterior

El verdadero ffmpeg está en el repositorio, así que puedes instalarlo con:

apt-get install ffmpeg

Para versiones anteriores de Ubuntu

Sus opciones son:

Estos métodos no son intrusivos, reversibles y no interferirán con el sistema ni con ningún paquete de repositorio.

Otra opción posible es actualizar a Ubuntu 15.04 "Vivid Vervet" o más reciente y solo use ffmpeg desde el repositorio.

Véase también

Para un interesante artículo de blog sobre la situación, así como una discusión sobre las principales diferencias técnicas entre los proyectos, ver La situación FFmpeg/Libav.

 412
Author: LordNeckbeard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-08 18:47:19