{{tag>tutoriel}}
----
====== Convertir les vidéos d'un téléphone mobile (3GP ou MP4) en AVI ======
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 !
===== Avant de commencer =====
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
===== Activer le support du MP3 et de l'AMR dans FFMPEG =====
//Source : [[http://blogger.rukker.org/2007/01/29/enable-mp3-and-amr-support-in-ffmpeg-ubuntu-edgy-eft/|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
==== Installation des librairies de développements nécessaires ====
[[:tutoriel:comment_installer_un_paquet|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**.
[[apt://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|{{ apt.png |Tout installer en 1 clic}}]]
Il parait que sur AMD64, il faut [[:tutoriel:comment_installer_un_paquet|installer aussi le paquet]] **[[apt://libsdl1.2-dev|libsdl1.2-dev]]**.
==== Changez de répertoire pour votre répertoire d'installation ====
On utilise toujours le répertoire /usr/local/src pour cela :
cd /usr/local/src
==== Récupérez les sources du paquet ffmpeg ====
apt-get source ffmpeg
==== Récupérez le patch amr ====
wget http://wclhfl.dyndns.org/pub/ffmpeg_enable_amr.patch.bz2
==== Allez dans le répertoire sources de ffmpeg et appliquez le patch ====
cd ffmpeg-0.cvs20060823
bzcat ../ffmpeg_enable_amr.patch.bz2 | sudo patch -p1
==== Construisez le paquet complet avec l'option “risky” ====
DEB_BUILD_OPTIONS=”risky” sudo dpkg-buildpackage
==== Retournez dans « /usr/local/src » ====
cd ..
==== installez le paquet ffmpeg ====
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
==== Ou bien, installez le paquet ffmpeg (AMD64) ====
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”.
==== Créez le fichier suivant avec votre éditeur favoris ( vi !! ) ====
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 !
===== Méthode alternative =====
=== Installation des composants nécessaires ===
Pour les utilisateurs qui n'ont pas d'expérience dans la compilation je recommande la lecture de cet article **[[:tutoriel: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
Attention, si vous utilisiez Ubuntu Ibex (8.10) ou inférieur, il vous faudra impérativement installer les versions >= 0.65 de libx264 et de libx264-dev, si vous utilisez la source svn pour ffmpeg. Le premier paquet étant une dépendance de l'autre. Les choses étant bien faites, le paquet libx264-65 est disponible pour Ubuntu 9.4 (Jaunty). Ne nous privons pas de l'utiliser: on les trouve ici
[[https://packages.ubuntu.com/fr/jaunty/i386/libx264-65]] et là
[[https://packages.ubuntu.com/fr/jaunty/libx264-dev]]
=== Installer AMR ===
On peut trouver la dernière version de la librairie AMR à cette adresse: [[http://www.penguin.cz/~utx/amr]]
== AMR-NB ==
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
Petite surprise, lors de mes essais avec la version 7.0.0.2, l'installation à placé la librairie libamrnb dans /usr./lib et non /usr/lib . En utilisant vos droits d'administrateur, il vous faudra déplacer le contenu de /usr./ vers /usr/ . Ensuite il faudra mettre à jour le cache des librairies en utilisant
sudo ldconfig -v
== AMR-WB ==
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
== Verification ==
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
=== Compiler ffmpeg à la main ===
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]]//
===== Utilisation =====
==== Convertir un avi en flv ====
ffmpeg -i movie.avi -acodec mp3 -ar 11025 movie.flv
==== Convertir un 3gp en mpeg4 avi ====
ffmpeg -i movie.3gp -vcodec mpeg4 -acodec mp3 movie.avi
----
//Contributeurs principaux : [[:utilisateurs:adam0509]], [[:utilisateurs:ludomatic]].//