Quelles sont les différences et les similitudes entre ffmpeg, libav et avconv ?
-
13-11-2019 - |
Question
Quand je cours ffmpeg
sur Ubuntu, cela affiche :
$ 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 affiche (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 à leur sujet.
La solution
Des messages déroutants
Ces messages sont plutôt trompeurs et naturellement source de confusion.Les anciennes versions d'Ubuntu utilisaient Libav, un fork du projet FFmpeg. FFmpeg est revenu dans Ubuntu 15.04 "Vivid Vervet".
Le fork était fondamentalement le résultat non amical de personnalités et de styles de développement conflictuels au sein de la communauté FFmpeg.Il convient de 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
contre le faux
Pendant un certain temps, Libav et FFmpeg ont développé séparément leur propre version de ffmpeg
.
Libav a ensuite renommé leur bizarro ffmpeg
à avconv
pour se démarquer du projet FFmpeg.Pendant la période de transition, le message « n'est plus développé » s'est affiché pour indiquer aux utilisateurs de commencer à utiliser avconv
au lieu de leur version contrefaite de ffmpeg
.Cela a amené les utilisateurs à penser que FFmpeg (le projet) est mort, ce qui n'est pas vrai.Un mauvais choix de mots, mais je ne peux pas imaginer que Libav ne s'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 période de transition ffmpeg vers avconv.
En juin 2012, le message a été reformulé pour le colis libav - 4:0.8.3-0ubuntu0.12.04.1
.Malheureusement, le nouveau message « obsolète » a semé une confusion supplémentaire chez les utilisateurs.
À partir d'Ubuntu 15.04 "Vivid Vervet", FFmpeg's ffmpeg
est de retour dans les dépôts encore.
Libav contre Libav
Pour compliquer encore les choses, Libav a choisi un nom historiquement utilisé par FFmpeg pour désigner ses bibliothèques (libavcodec, libavformat, etc.).Par exemple le liste de diffusion des utilisateurs libav, pour les questions et discussions sur l'utilisation des bibliothèques FFmpeg, n'a aucun rapport avec le projet Libav.
Comment faire la différence
Si vous utilisez avconv
alors vous utilisez Libav.Si vous utilisez ffmpeg
vous pourriez utiliser FFmpeg ou Libav.Reportez-vous à la première ligne de la sortie de la console pour faire la différence :la notice de droit d'auteur mentionnera soit FFmpeg, soit Libav.
Deuxièmement, les schémas de numérotation des versions diffèrent.Chacune des bibliothèques FFmpeg ou Libav contient un version.h
en-tête qui affiche un numéro de version.FFmpeg se terminera par trois chiffres, par exemple 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 visualiser la sortie de la console.
Si vous voulez utiliser le vrai ffmpeg
Ubuntu 15.04 "Vivid Vervet" ou version ultérieure
Le vrai ffmpeg
est dans le dépôt, vous pouvez donc l'installer avec :
apt-get install ffmpeg
Pour les anciennes versions d'Ubuntu
Vos options sont :
- Téléchargez un récent Version Linux de
ffmpeg
, - suivre un guide étape par étape pour compiler
ffmpeg
, - Ou utiliser Le PPA de Doug McMahon (pour Ubuntu 14.04 LTS "Trusty Tahr")
Ces méthodes sont non intrusives, réversibles et n'interféreront pas avec le système ou les packages du 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
du référentiel.
Regarde aussi
Pour un article de blog intéressant sur la situation, ainsi qu'une discussion sur les principales différences techniques entre les projets, voir La situation FFmpeg/Libav.