Comment remplacer avconv par (le vrai) ffmpeg et le faire fonctionner correctement?

27

MISE À JOUR (texte original conservé ci-dessous)

Avec le vrai ffmpeg sur le point de revenir (en 15.04), le PPA de Jon Severinsson ne fonctionne plus (pour ffmpeg), et avconv-ffmpeg (maintenant appelé " libav ") et le vrai ffmpeg (maintenant de retour à seulement " ffmpeg ") ont chuté de versions intermédiaires, la question est devenue: Comment installer plus facilement ffmpeg dans les distributions pré-2015?

/MISE À JOUR

Quelqu'un sait comment installer le vrai ffmpeg actuel (pas l'ancienne version d'Avconv fournie avec Ubuntu) sans avoir les problèmes mentionnés ici ?

Les raisons:

  • Tout fonctionne (ou tant ont écrit),
  • Utilisez la nouvelle syntaxe et
  • Après quelques recherches - et sans entrer dans la controverse - je crois simplement que les emballeurs ont fait une erreur en utilisant avconv. Ceci est un correctif.

Apparemment, ce n'est pas aussi facile qu'il devrait l'être en raison de conflits de version, et que avconv et ffmpeg ne peuvent pas coexister sur la même machine (noté dans la réponse acceptée de l'article ci-dessus). Bien qu'au moins un guide mentionne l'installation de ffmpeg localement (~) pour réaliser la coexistence.

Ma version est Precise 12.04.3 LTS, mais il semble que cela s'applique également aux plus récents.

u2n
la source
3
Avez-vous vu Comment compiler FFmpeg sur Ubuntu ? Il n'entre pas en conflit avec les fichiers indésirables libav des dépôts.
llogan
1
Je vous suggère de reformuler un peu la partie "raisons". Il semble que vous sous-entendiez que la supériorité supposée de ffmpeg sur avconv est un fait et que les utilisateurs d'Ubuntu sont en difficulté parce que le référentiel a cassé le logiciel. Cela pourrait confondre et effrayer certains utilisateurs novices. J'espère que vous comprendrez mon propos, car vous semblez convenir qu'il vaut mieux ne pas entrer «dans la controverse».
Andrea Lazzarotto
1
@Brad Je continue de croire qu'il est mal de faire peur aux nouveaux utilisateurs en leur faisant croire qu'ils ont un logiciel défectueux et qu'ils doivent le "réparer".
Andrea Lazzarotto
1
@AndreaLazzarotto Personne n'essaie d'effrayer qui que ce soit. Dans la question est une opinion, et elle est spécifiquement énoncée comme une seule. Cette opinion est un élément important de la question.
Brad
1
Salut les gars, merci pour les commentaires. Étant donné que la fausse version avconv de ffmpeg a été supprimée de toutes les dernières versions, il n'y a plus rien à désinstaller (et plus de controverse non plus: ^). Jon Severinsson met régulièrement à jour son ppa afin que le vrai ffmpeg bascule - avec une installation et des mises à jour faciles. Ce message servira de mise à jour ici pour l'instant. (
Fera

Réponses:

25

Réponse mise à jour pour les versions antérieures à 2015

Parce que personne ne maintient un ppa tout compris comme Jon Severinsson, la méthode de Rmano d'utiliser une construction statique est maintenant la plus simple. Notez que les mises à jour doivent être vérifiées et effectuées manuellement.

  1. Après avoir accédé à la page de téléchargement ffmpeg officielle , cliquez sur le lien sous Linux Static Builds . (La cible peut changer, elle n'est donc pas directement liée ici.)
  2. Cliquez sur la version appropriée (32 ou 64 bits) et la version souhaitée (instantané ou numérotée) à télécharger. (Un instantané est recommandé.)
  3. Si la version libav de ffmpeg a été installée, supprimez-la. Les deux ne peuvent pas résider sur la même machine. Si libav n'a pas été précédemment installé, passez à 4.

    sudo apt-get remove ffmpeg  
    sudo apt-get purge libav-tools  
    # *Ignore any autoremove message that may appear.*
    
  4. Extrayez les fichiers (et deux répertoires) comme suit:

    • Pour les systèmes mono-utilisateur: à $ HOME / bin
    • Pour les configurations multi-utilisateurs: vers / usr / local / bin

L'installation de build statique est terminée et ffmpeg est prêt à l'emploi.

Pour mettre à jour: Après avoir vérifié et trouvé une version plus récente, le dossier d'installation peut être trié par date et les fichiers de version existants rapidement identifiés et supprimés. (Les horodatages seront tous les mêmes que le binaire ffmpeg.) La mise à jour peut ensuite être téléchargée et extraite de la même manière que la version précédente.

Si un repo ffmpeg complet refait surface, il s'installerait comme avant:

# Replace avconv with the real ffmpeg
#   www.askubuntu.com/a/373509/165265
#
sudo add-apt-repository ppa:<name of ppa here>
sudo apt-get update
sudo apt-get install ffmpeg

Le véritable ffmpeg revenant aux versions 2015 et au-delà, le besoin de cette solution de contournement finira par disparaître.

Merci beaucoup à la communauté pour son aide.

u2n
la source
4
Phew. Merci. avconv semble tellement proche de ffmpeg, mais il semble avoir des drapeaux différents. Non merci. FFMPEG fonctionne très bien. La seule raison pour laquelle je peux penser qu'Ubuntu passe est une raison politique. Oubliez ce bruit. ffmpeg ftw!
James T Snell
1
La sudo apt-get dist-upgradeligne me semble inutile aux fins de cet article. La plupart des gens qui essaient d'installer ffmpeg ne voudraient probablement pas déclencher une mise à niveau de la distribution comme effet secondaire.
cxrodgers
@cxrodgers, tout à fait raison. Réparer maintenant, merci.
u2n
1
Vous voudrez peut-être mettre à jour cette réponse maintenant que jon-severinsson PPA a disparu: stackoverflow.com/questions/29585700/…
cxrodgers
1
La liaison symétrique doit indiquer pour /usr/local/binéviter les conflits potentiels de tous les packages de repo qui fournissent les fichiers nommés; notamment à partir du paquet libav-tools qt-faststartet du faux " ffmpeg" pour 12.04 et plus. En outre, d'autres utilisateurs peuvent ne pas avoir les autorisations appropriées pour exécuter quoi que ce soit dans un autre utilisateur ~/bin(mais je n'ai pas enquêté). Enfin, je pense que toute la section "/ UPDATE" de cette réponse peut être supprimée: elle est obsolète (que PPA a disparu) et ne contribue plus beaucoup.
llogan
7

Je n'ai eu aucun problème à utiliser la version statique fournie par le projet FFmpeg. Il existe des liens sur http://ffmpeg.org/download.html

Téléchargez la version / build dont vous avez besoin (32 ou 64 bits), puis placez l'exécutable dans votre $PATH(par exemple, ~/bin). S'il est placé, ~/binvous pouvez vous déconnecter, puis vous reconnecter ou simplement exécuter . ~/.profile, pour que votre shell reconnaisse qu'il est dans le $PATH. Maintenant, vous pouvez simplement entrer ffmpeget la nouvelle version statique sera utilisée.

Par exemple:

% wget http://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz
% tar xJvf ffmpeg-git-64bit-static.tar.xz
% cd ffmpeg-git-20150427-32bit-static
% ./ffmpeg
ffmpeg version N-45164-g46778ab- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
[...]

Être complètement statique ne devrait pas poser de problème avec différentes versions de Linux (dans une limite, le noyau ne devrait pas être trop ancien).

Rmano
la source
1
Merci, Rmano. Votera votre réponse comme alternative dès que j'aurai atteint le nombre magique. "Alternative" car, d'après ce que j'ai lu, ce qui rend les builds statiques fiables - avoir toutes les dépendances intégrées - les rend également "lourdes" (grandes et gourmandes en mémoire). Pour cette raison, je répugnais à emprunter cette voie en faveur de la version de poids normal mise à jour automatiquement du programme. ... Je pense que je l'ai peut-être, poste à venir ...
u2n
Eh bien, bien que cela soit généralement vrai pour les exécutables statiques, dans ce cas, ffmpeg n'utilise pas de bibliothèques générales graphiques ou lourdes. De toute évidence, vous avez raison si vous exécutez plusieurs copies de ffmpeg en parallèle.
Rmano
2
La route PPA de réponse acceptée contient la version 0.1 qui est très ancienne. Vous voudrez utiliser la méthode de cette réponse pour faire fonctionner de nombreuses commandes.
deadghost