Ce petit tutoriel décrit comment avec FFMPEG, l'on peut convertir les vidéos de téléphones mobiles ainsi que les fichiers flv (format Adobe Flash Video) dans n'importe quels autres formats vidéos. Le codec utilisé pour l'encodage du son de ces vidéos est l'AMR. Seulement, l'AMR est propriétaire et il va donc nous falloir l'ajouter !
Premièrement, je supposerai que vous avez déjà les compilateurs C, ainsi que les paquets de développement standard installés.
Aussi, soyez sûr d'avoir activé le dépôt “multiverse” dans votre /etc/apt/sources.list et exécutez la commande suivante :
apt-get update
Source : enable mp3 and amr support in ffmpeg (Ubuntu 6.10)
Une aide complémentaire : https://ubuntuforums.org/showthread.php?t=1071262
N.B. : si les noms des paquets ont changé entre les différentes versions d'Ubuntu, apt vous fournira les noms des paquets qui les remplacent.
On se met en root pour effectuer les opérations :
sudo -i
Installez les paquets quilt dpkg-dev libimlib2-dev texi2html libmp3lame-dev libfaad-dev libmp4v2-dev libfaac-dev libxvidcore4-dev debhelper libogg-dev libvorbis-dev liba52-dev libdts-dev libsdl1.2debian-all libraw1394-dev libdc1394-13-dev libtheora-dev libgsm1-dev libx264-dev x264.
Il parait que sur AMD64, il faut installer aussi le paquet libsdl1.2-dev.
On utilise toujours le répertoire /usr/local/src pour cela :
cd /usr/local/src
apt-get source ffmpeg
wget http://wclhfl.dyndns.org/pub/ffmpeg_enable_amr.patch.bz2
cd ffmpeg-0.cvs20060823 bzcat ../ffmpeg_enable_amr.patch.bz2 | sudo patch -p1
DEB_BUILD_OPTIONS=”risky” sudo dpkg-buildpackage
cd ..
dpkg -i ffmpeg_0.cvs20060823-3.1ubuntu1_i386.deb libavcodec0d_0.cvs20060823-3.1ubuntu1_i386.deb libavformat0d_0.cvs20060823-3.1ubuntu1_i386.deb libpostproc0d_0.cvs20060823-3.1ubuntu1_i386.deb
dpkg -i ffmpeg_0.cvs20060823-3.1ubuntu4_amd64.deb libavcodec0d_0.cvs20060823-3.1ubuntu4_amd64.deb libavformat0d_0.cvs20060823-3.1ubuntu4_amd64.deb libpostproc0d_0.cvs20060823-3.1ubuntu4_amd64.deb
Nous avons maintenant ffmpeg avec le support du mp3 et de l'amr, maintenant, nous devons prévenir apt de ne pas mettre à jour notre paquet fraîchement crée par un nouveau sans le support mp3 et amr. Cela s'appelle le “pinning”.
vi /etc/apt/preferences
Ajoutez-y les lignes suivantes :
Package: ffmpeg Pin: version 0.cvs20060823-3.1ubuntu1 Pin-Priority: 1001 Package: libavcodec0d Pin: version 0.cvs20060823-3.1ubuntu1 Pin-Priority: 1001 Package: libavformat0d Pin: version 0.cvs20060823-3.1ubuntu1 Pin-Priority: 1001 Package: libpostproc0d Pin: version 0.cvs20060823-3.1ubuntu1 Pin-Priority: 1001
Ou bien sur (AMD64) :
Package: ffmpeg Pin: version 0.cvs20060823-3.1ubuntu4 Pin-Priority: 1001 Package: libavcodec0d Pin: version 0.cvs20060823-3.1ubuntu4 Pin-Priority: 1001 Package: libavformat0d Pin: version 0.cvs20060823-3.1ubuntu4 Pin-Priority: 1001 Package: libpostproc0d Pin: version 0.cvs20060823-3.1ubuntu4 Pin-Priority: 1001
Maintenant, nous pouvons convertir toutes sortes de fichiers vidéos !
Pour les utilisateurs qui n'ont pas d'expérience dans la compilation je recommande la lecture de cet article compilation. Il est possible qu'il vous faille ajouter des paquets de composants supplémentaires au cour des étapes pour permettre la compilation. Ces paquets reconnaissable au suffixe "-dev" dans le nom de fichier. En général lorsqu'un script "./configure" échoue à cause d'une librairie manquante, cherchez à installer ce paquet "-dev" via synaptic. En résumé, la liste des paquets proposés ci-dessous peu ne pas être complète.
La première chose à faire est de se mettre dans un répertoire de travail favori.
sudo apt-get install build-essential subversion nasm zlib1g-dev sudo apt-get install libx264-dev
On peut trouver la dernière version de la librairie AMR à cette adresse: http://www.penguin.cz/~utx/amr
téléchargement et extraction (pour la version 7.0.0.2)
wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2 tar -jxvf amrnb-* cd amrnb-*
compilation et installation
./configure --prefix=/usr make sudo make install
sudo ldconfig -v
téléchargement et extraction (pour la version 7.0.0.3)
wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2 tar -jxvf amrwb-* cd amrwb-*
./configure --prefix=/usr make sudo make install
On peut vérifier la bonne installation des librairies amr avec les commandes suivantes
sudo ldconfig -p | grep libamr
Le résultat est quelque chose similaire à
libamrwb.so.3 (libc6) => /usr/lib/libamrwb.so.3 libamrwb.so (libc6) => /usr/lib/libamrwb.so libamrnb.so.3 (libc6) => /usr/lib/libamrnb.so.3 libamrnb.so (libc6) => /usr/lib/libamrnb.so
Nous allons récuperer les codes sources de ffmpeg. Pour varier de la solution décrite sur la page de ffmpeg, je vous propose de récupérer une version dite de développement, moins stable, plus à jour. Afin de vous simplifier la gestion des dépendances, je vous propose de commencer par installer la version "du dépot" en cliquant sur le lien suivant apt://ffmpeg ou en utilisant la ligne de commande suivante:
apt-get install ffmpeg
récupération du code source
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-svn
cd ffmpeg-svn
La configuration de la compilation, si vous n'avez pas lu ffmpeg, il serait peut-être temps vous demander quels drapeaux utiliser pour avoir toutes les fonctionnalités que vous voulez. Pour le sujet qui nous intéresse, il suffit d'avoir:
./configure --enable-gpl --enable-pthreads --enable-libx264 --enable-libamr-nb --enable-libamr-wb --enable-nonfree
la compilation proprement dite, vous pouvez allez boire un café.
make
l'installation du ffmpeg compilé
sudo make install
C'est tout. Vous pouvez reprendre la méthode de pinning de l'autre méthode pour que synaptic n'écrase pas votre ffmpeg tout neuf.
inspiré de https://ubuntuforums.org/archive/index.php/t-491885.html
ffmpeg -i movie.avi -acodec mp3 -ar 11025 movie.flv