RSS

Compilation FFmpeg (sous GNU/Linux)

06 Nov

Cet article a pour but de vous aider à compiler FFmpeg sous Kubuntu Hardy (ce tutoriel peut aussi être adapté pour votre distribution –> à base Debian, préférée).Attention une compilation doit être exécutée de préférence par quelqu’un d’expérimenté sous Linux, si ce n’est pas votre cas, passez votre chemin (en tous cas pour cet article).

J’ai personnellement compilé FFmpeg pour avoir accès aux fichiers AVCHD et à leur encodage (effectivement, dans ses dernières versions, FFmpeg ouvre sans souci les fichiers .mts, .m2ts, .MTS ou .M2TS … et peut les encoder en MOV par exemple). Voilà la procédure en dix étapes:

1. Ouvrir son fichier /etc/apt/sources.list (dans la console, taper):

sudo kate /etc/apt/sources.list

(remplacez kate par gedit dans la commande si kate n’est pas installé)

–> mettre ceci dans le fichier sources.list (à la fin du fichier):

# Depot Trevino pour la compilation de la version SVN de FFmpeg
deb http://download.tuxfamily.org/3v1deb feisty 3v1n0
deb-src http://download.tuxfamily.org/3v1deb feisty 3v1n0

–> enregistrer (ne pas oublier d’enregistrer !).

2. Ajouter la clé du dépôt, taper ceci dans la console:

wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add –

3. Recharger la liste des paquets/dépôts, taper ceci dans la console:

sudo apt-get update

4. On télécharge les sources de FFmpeg, dans la console, taper ceci:

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

–> un répertoire nommé ffmpeg est crée dans votre /home/utilisateur.

5. Ouvrir le fichier /etc/ld.so.conf.d/libc.conf (dans kate ou gedit), taper ceci dans la console:

sudo kate /etc/ld.so.conf.d/libc.conf

–> une fois que le fichier est ouvert avec kate, taper ceci dans kate:

/usr/local/lib

–> une fois que c’est fait, ne pas oublier d’enregistrer (!).

* Attention si le fichier /etc/ld.so.conf.d/libc.conf n’existe pas il faut le créer (!).

6. On rentre dans le répertoire ffmpeg, dans la console taper:

cd ffmpeg/

7. On commence la première étape de la compilation de FFmpeg version SVN (ici la configuration), dans la console taper (attention il faut taper tout ceci sur la même ligne !):

./configure −−enable-shared −−enable-libdc1394 −−enable-gpl −−enable-libfaac −−enable-libfaad −−enable-libfaadbin −−enable-libmp3lame −−enable-libtheora −−enable-libvorbis −−enable-libxvid −−enable-libgsm −−enable-nonfree −−enable-pthreads

8. Une fois que cette étape est terminée, on passe au make, taper ceci dans la console:

sudo make

9. Une fois que cette étape est terminée, on passe au make install, taper ceci dans la console:

sudo make install

10. Cette étape terminée, il faut maintenant recharger les librairies sur le système, dans la console taper:

sudo ldconfig -v

–> si au moment de lancer ffmpeg dans la console vous obtenez:

ffmpeg: error while loading shared libraries: libavformat.so.52: cannot open shared object file: No such file or directory

… relancez la commande (toujours dans la console):

sudo ldconfig -v

A partir de ce moment quand on va lancer ffmpeg dans la console, on obtiendra quelque chose du style (il s’agit de la version du 1er novembre):

FFmpeg version SVN-r20431, Copyright (c) 2000-2009 Fabrice Bellard, et al.
built on Nov  1 2009 21:56:40 with gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
configuration: −−
enable-shared −−enable-libdc1394 −−enable-gpl

−−enable-libfaac −−enable-libfaad −−enable-libfaadbin −−enable-libmp3lame −−enable-libtheora −−enable-libvorbis −−enable-libxvid −−enable-libgsm −−enable-nonfree −−enable-pthreads

libavutil     50. 3. 0 / 50. 3. 0
libavcodec    52.37. 1 / 52.37. 1
libavformat   52.39. 2 / 52.39. 2
libavdevice   52. 2. 0 / 52. 2. 0
libswscale     0. 7. 1 /  0. 7. 1

At least one output file must be specified
Au moindre problème on peut désinstaller cette version SVN et revenir à la version en cours sur le système par les commandes:

cd /home/utilisateur/ffmpeg

–> remplacez utilisateur par votre nom d’utilisateur (bien entendu !)

sudo make uninstall

Il faudra dans ce cas réinstaller la version de FFmpeg sur votre système par la commande (car par la compilation de FFmpeg la version précédemment installée a été retirée):

sudo apt-get install ffmpeg

–> si on vous demande d’installer des dépendances, acceptez-les.

La version SVN d’EKD gère dès lors l’AVCHD, vous pouvez donc (et après la compilation de FFmpeg comme décrit ici) vous servir du menu: Vidéo > Encodage > Gestion AVCHD. Pour rappel la procédure de mise en place de la version SVN d’EKD se trouve ici.

Sources pour cet article:

FFmpeg Ubuntu-fr

Ubuntuforums.org

 
6 Commentaires

Publié par le 06/11/2009 dans Divers

 

6 réponses à “Compilation FFmpeg (sous GNU/Linux)

  1. Cenwen

    06/11/2009 at 16:39

    Salut
    Post très intéressant qui doit aussi fonctionné avec la version multithreadée de Ffmpeg, cad ffmpeg-mt. As-tu essayé de compiler cette version si tu as bien sur un dual-core au minimu, ainsi que mplayer multithreader aussi (mplayer-mt) ? Cela pourrait décupler les possibilités d’ekd.
    Pour ceux qui veulent tester ffmpeg-mt, il faut télécharger la dernière version ici :
    $git clone git://gitorious.org/ffmpeg/ffmpeg-mt.git
    Personnellement je ne l’ai pas encore testé mais je suppose qu’ensuite les étapes de la compilation sont les mêmes. Pour Mplayer-mt c’est beaucoup plus compliqué.

     
  2. ekdm

    07/11/2009 at 01:16

    Salut😉,

    J’ai un Phenom X4 (donc 4 coeurs) http://en.wikipedia.org/wiki/AMD_Phenom.

    Pour ce qui est de ffmpeg-mt, maintenant que je suis passé sous Karmic j’utilise la version FFmpeg installée par défaut sur le système.

    EKD est une application simple d’emploi (mais qui malgré tout fait des traitements relativement complexes) et avec une interface relativement ergonomique, il n’est pas question de demander à l’utilisateur lambda de compiler FFmpeg ou Mplayer. Bon là tu vas penser, il débloque le gars, il pond un article sur la compilation de FFmpeg et il nous dit après que la compilation c’est pas si bien que ça, … je m’explique ; j’ai fait un article expliquant la compilation de FFmpeg pour les utilisateurs d’Ubuntu Hardy (enfin ceux qui le veulent et qui savent le faire) … puissent utiliser la gestion de l’AVCHD dans EKD (car comme tu le sais la version FFmpeg sous Hardy ne gère pas l’AVCHD, il m’a donc fallu, quand j’étais encore sous Hardy, installer le SVN pour que de mon côté je puisse coder). J’ai simplement voulu partager ma petite expérience de compilation de la version SVN de FFmpeg, voilà tout.

    Quand je code (et que je teste) j’essaye de me mettre dans la peau de l’utilisateur de base (dont le but n’est pas forcément de devoir compiler FFmpeg et/ou Mplayer-Mencoder pour avoir accès à telle ou telle fonction). Une des devises d’EKD est qu’il doit être simple d’utilisation (qu’on ait tout à portée de main ou de clic) pour que tout le monde y ait accès. Je pense qu’Aurélien et Olivier (avec qui nous formons une équipe de dev dont les gens qui la composent s’apprécient, et ça fait plaisir ! –> ce qui doit pas être tout le temps le cas dans certains autres projets) pensent comme moi.

    Par contre je cherche quelqu’un qui voudrait compiler la dernière version (SVN) de FFmpeg (de même pour Mplayer-Mencoder) pour Windows, et ce afin que les utilisateurs à la fenêtre puissent avoir aussi accès à la gestion de l’AVCHD avec EKD. Concernant cela voilà la procédure de compilation (sous windows) de FFmpeg (si quelqu’un qui passe par là et dont le système est w$ et qui voudrait se lancer dans l’aventure, qu’il le dise haut et fort !!!):

    http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page (en bas de page).

    Voilà, voilà.

    a+

     
  3. Cenwen

    07/11/2009 at 12:31

    Merci de ta réponse.
    Pour Windows, je ne peux pas t’aider ne l’ayant plus depuis presque 2 ans depuis mon passage à Lenny.

     
  4. stefparis75

    23/04/2010 at 20:58

    Bonjour,

    Je suis sous Ubuntu 9.10 et j’ai essayé d’installer mais j’ai eu le droit au plantage (sinon c’est pas drôle !!) : j’ai fait un copier/coller pour ./configure –enable-shared –enable-libdc1394 –enable-gpl –enable-libfaac –enable-libfaad –enable-libfaadbin –enable-libmp3lame –enable-libtheora –enable-libvorbis –enable-libxvid –enable-libx264 –enable-libgsm –enable-nonfree

    Une fois dans le terminal, il suffit de faire ctrl + maj + V…

    Dans le terminal, j’ai « unknown option : –enable-shared  »

    C’est grave Docteur ???

     
    • ekdm

      23/04/2010 at 22:38

      #############
      Bonjour,
      #############

      Bonjour🙂,

      #############
      Je suis sous Ubuntu 9.10 et j’ai essayé d’installer mais j’ai eu le droit au plantage (sinon c’est pas drôle !!):
      #############

      Je sais bien que c’est pas drôle. Il faut savoir que se lancer dans une compilation telle que celle-là n’est pas sans risque (de plantages). J’ai testé (et écrit ce petit didacticiel) par rapport à la compilation de FFmpeg sous (K)Ubuntu Hardy … et pas Ubuntu Karmic. Ce ci a été écrit pour pouvoir bénéficier de la gestion de l’AVCHD avec la version de FFmpeg installée sous Hardy (et donc pour pouvoir utiliser l’AVCHD dans EKD sous Ubuntu Hardy).

      Sous (K)Ubuntu Karmic (donc 9.10), l’AVCHD est déjà géré dans FFmpeg sans devoir recompiler.

      #############
      Dans le terminal, j’ai “unknown option : –enable-shared ”

      C’est grave Docteur ???
      #############

      Non c’est pas grave, il suffit d’enlever –enable-shared de la commande.

      Mais attention (!!!), comme je le dis plus haut, si tu es sous Ubuntu Karmic et que tu veux avoir accès à l’AVCHD dans FFmpeg, c’est déjà implémenté (!!!) … donc pas besoin de compiler quoi que ce soit.

      Si tu es dans ce cas, je te conseille de désinstaller ta version compilée de FFmpeg et de remettre la version par défaut.

      Dans le répertoire où tu as compilé:

      cd /home/utilisateur/ffmpeg

      sudo make uninstall

      … et réinstaller la version par défaut:

      sudo apt-get install ffmpeg

      Lis attentivement aussi ceci:

      http://ekd.tuxfamily.org/forum/showthread.php?tid=147

      Si tu utilises EKD, n’oublie pas d’aller voter:

      http://ekd.tuxfamily.org/index.php/Site/Sondages

      a+😉

       

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

 
%d blogueurs aiment cette page :