Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:3gp_mp4_en_avi [Le 31/03/2007, 08:17] 83.179.224.63tutoriel:3gp_mp4_en_avi [Le 28/11/2010, 19:49] (Version actuelle) – ancienne révision restaurée YoBoY
Ligne 1: Ligne 1:
 +{{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 : [[http://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 : 
 +<code>
 +sudo -i
 +</code>
 +
 +==== 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 ====
 +
 +<code>
 +    cd ffmpeg-0.cvs20060823
 +
 +    bzcat ../ffmpeg_enable_amr.patch.bz2 | sudo patch -p1
 +</code>
 +
 +==== Construisez le paquet complet avec l'option “risky” ====
 +
 +<code>
 +  DEB_BUILD_OPTIONS=”risky” sudo dpkg-buildpackage
 +</code>
 +
 +==== Retournez dans « /usr/local/src » ====
 +
 +  cd ..
 +
 +==== installez le paquet ffmpeg ====
 +
 +<code>
 +    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
 +</code>
 +
 +==== Ou bien, installez le paquet ffmpeg (AMD64) ====
 +
 +<code>
 + 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
 +</code>
 +
 +
 +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 !! ) ====
 +
 +<code>
 +    vi /etc/apt/preferences
 +</code>
 +
 +Ajoutez-y les lignes suivantes :
 +
 +<code>
 +    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
 +</code>
 +
 +Ou bien sur (AMD64) :
 +
 +<code>
 +    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
 +</code>
 +
 +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.
 +
 +<code>
 +sudo apt-get install build-essential subversion nasm zlib1g-dev 
 +sudo apt-get install libx264-dev
 +</code>
 +
 +<note important>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
 +[[http://packages.ubuntu.com/fr/jaunty/i386/libx264-65]] et là 
 +[[http://packages.ubuntu.com/fr/jaunty/libx264-dev]]</note>
 +
 +=== 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)
 +
 +<code>
 +wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
 +tar -jxvf amrnb-*
 +cd amrnb-*
 +</code>
 +
 +compilation et installation
 +
 +<code>
 +./configure --prefix=/usr
 +make
 +sudo make install
 +</code>
 +<note important>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 
 +<code>sudo ldconfig -v </code>
 +</note>
 +
 +
 +
 +== AMR-WB == 
 +
 +téléchargement et extraction (pour la version 7.0.0.3)
 +
 +<code>
 +wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2
 +tar -jxvf amrwb-*
 +cd amrwb-*
 +</code>
 +
 +<code>
 +./configure --prefix=/usr
 +make
 +sudo make install
 +</code>
 +
 +== Verification == 
 +
 +On peut vérifier la bonne installation des librairies amr avec les commandes suivantes
 +<code>
 +sudo ldconfig -p | grep libamr
 +</code>
 +Le résultat est quelque chose similaire à
 +<code> 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
 +</code>
 +
 +
 +=== 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:
 +<code>
 +apt-get install ffmpeg
 +</code>
 +
 +récupération du code source
 +<code>
 +svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-svn
 +</code>
 +
 +<code>
 +cd ffmpeg-svn
 +</code>
 +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:
 +<code>
 +./configure --enable-gpl --enable-pthreads --enable-libx264 --enable-libamr-nb --enable-libamr-wb --enable-nonfree 
 +</code>
 +
 +la compilation proprement dite, vous pouvez allez boire un café.
 +<code>
 +make
 +</code>
 +
 +l'installation du ffmpeg compilé
 +<code>
 +sudo make install
 +</code>
 +
 +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 [[http://ubuntuforums.org/archive/index.php/t-491885.html]]//
 +
 +===== Utilisation =====
 +==== Convertir un avi en flv ====
 +
 +<code>
 +    ffmpeg -i movie.avi -acodec mp3 -ar 11025 movie.flv
 +</code>
 +
 +==== Convertir un 3gp en mpeg4 avi ====
 +
 +<code>
 +    ffmpeg -i movie.3gp -vcodec mpeg4 -acodec mp3 movie.avi
 +</code>
 +
 +----
 +
 +//Contributeurs principaux : [[:utilisateurs:adam0509]], [[:utilisateurs:ludomatic]].//