web-dev-qa-db-fra.com

Quelles sont les différences et les similitudes entre ffmpeg, libav et avconv?

Quand je lance ffmpeg sur Ubuntu, cela montre:

$ 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).

Ou cela montre (selon la version d'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.

J'ai trouvé avconv sur http://libav.org . Je suis juste perplexe par eux.

238
why

Des messages déroutants

Ces messages sont plutôt trompeurs et constituent naturellement une source de confusion. Les anciennes versions d'Ubuntu utilisaient Libav, une branche du projet FFmpeg. FFmpeg est revenu dans Ubuntu 15.04 "Vivid Vervet".

La fourche était essentiellement un résultat non amiable de personnalités et de styles de développement contradictoires au sein de la communauté FFmpeg. Il est à noter que le responsable de Debian/Ubuntu est passé de FFmpeg à Libav de son propre chef en raison de son implication dans le fork de Libav.

Le vrai ffmpeg vs le faux

Pendant un moment, Libav et FFmpeg ont développé séparément leur propre version de ffmpeg.

Libav a ensuite renommé son bizarro ffmpeg en avconv pour se démarquer du projet FFmpeg. Pendant la période de transition, le message "non développé plus" était affiché pour indiquer aux utilisateurs de commencer à utiliser avconv à la place de leur version contrefaite de ffmpeg. Cela a dérouté les utilisateurs en leur faisant croire que FFmpeg (le projet) est mort, ce qui est faux. Un mauvais choix de mots, mais je ne peux pas imaginer que Libav n'attende pas une telle réponse de la part des utilisateurs généraux.

Ce message a été supprimé en amont lorsque le faux "ffmpeg" a finalement été supprimé de la source Libav, mais, selon votre version, il peut toujours apparaître dans Ubuntu car la source Libav utilisée par Ubuntu provient de la commande ffmpeg-to- période de transition avconv.

En juin 2012, le message a été reformulé pour le package libav - 4:0.8.3-0ubuntu0.12.04.1. Malheureusement, le nouveau message "obsolète" a créé une confusion supplémentaire pour les utilisateurs.

À partir de Ubuntu 15.04 "Vivid Vervet", ffmpeg de FFmpeg est de retour dans les référentiels .

libav vs libav

Pour compliquer encore les choses, Libav a choisi un nom utilisé historiquement par FFmpeg pour désigner ses bibliothèques (libavcodec, libavformat, etc.). Par exemple, liste de diffusion libav-user , pour les questions et discussions relatives à l'utilisation des bibliothèques FFmpeg, n'est pas lié au projet Libav.

Comment faire la différence

Si vous utilisez avconv, vous utilisez Libav. Si vous utilisez ffmpeg, vous utiliserez peut-être FFmpeg ou Libav. Reportez-vous à la première ligne de la sortie de la console pour faire la différence: la mention de copyright mentionnera FFmpeg ou Libav.

Deuxièmement, les schémas de numérotation des versions diffèrent. Chacune des bibliothèques FFmpeg ou Libav contient un en-tête version.h qui indique un numéro de version. FFmpeg se terminera par trois chiffres, tels que 57,67. 100 , et Libav se terminera par un chiffre tel que 57,67. 0 . Vous pouvez également afficher les numéros de version de la bibliothèque en exécutant ffmpeg ou avconv et en affichant la sortie de la console.

Si vous voulez utiliser le vrai ffmpeg

Ubuntu 15.04 "Vivid Vervet" ou plus récent

Le vrai ffmpeg est dans le référentiel, vous pouvez donc l'installer avec:

apt-get install ffmpeg

Pour les anciennes versions d'Ubuntu

Vos options sont:

Ces méthodes sont non intrusives, réversibles et n'interféreront pas avec le système ni avec les packages de référentiel.

Une autre option possible consiste à mettre à niveau vers Ubuntu 15.04 "Vivid Vervet" ou une version plus récente et à utiliser simplement ffmpeg à partir du référentiel.

Regarde aussi

Pour un article de blog intéressant sur la situation, ainsi que pour une discussion sur les principales différences techniques entre les projets, voir La situation de FFmpeg/Libav .

456
llogan