[[ffmpeg]]
Piste: » ffmpeg
FFmpeg
FFmpeg est un logiciel de lecture et encodage de vidéo. Très puissant comme son petit frère Mencoder, il assure en ligne de commande la possibilité de convertir les fichiers vidéos d'un format à un autre. Certains logiciels permettent de s'en servir sans saisir de commande via une interface graphique comme par exemple Avidemux, Cinelerra et Kino.
Il y a également NeoDivX Lazarus pour l'encodage de DVD en DivX utilisant FFmpeg
ffmpeg -formats
Installation
Dépôt officiel (recommandé)
Il suffit d'installer le paquet ffmpeg un fois les dépôts Universe activés.
Par compilation
Il peut être intéressant de compiler FFmpeg afin de bénéficier des dernières optimisations et de manipuler des formats qui n'étaient pas encore supportés. Par exemple pour les vidéos hautes définitions encodées avec x264 qui demandent beaucoup moins de ressources dans les dernières versions.
(Voir le changelog de FFmpeg)
Il faut pour commencer, ajouter les dépôts Treviño au fichier /etc/apt/sources.list :
deb http://download.tuxfamily.org/3v1deb feisty 3v1n0 deb-src http://download.tuxfamily.org/3v1deb feisty 3v1n0
Puis ajoutez la clef du dépôt en exécutant la ligne suivante :
wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add -
Enfin, rechargez la liste des paquets :
sudo apt-get update
Récupérez certaines dépendances et autres :
sudo apt-get install build-essential subversion liba52-0.7.4-dev libgsm1-dev libtheora-dev libvorbis-dev libdc1394-13-dev libxvidcore4-dev libfaac-dev libfaad2-dev liblame-dev libx264-dev libimlib2-dev libsdl1.2-dev libamrnb-dev libamrwb-dev gettext html2text texi2html
On télécharge ensuite les sources par subversion :
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
On rentre maintenant dans le dossier FFmpeg :
cd ffmpeg
Puis on lance le ./configure pour créer les fichiers make :
./configure --enable-shared --enable-libdc1394 --enable-liba52 --enable-gpl --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libmp3lame --enable-libogg --enable-libtheora --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libgsm --enable-libamr-nb --enable-libamr-wb --enable-nonfree
Puis la compilation :
make
Et l’installation :
sudo make install
sudo make uninstall
FFmpeg et le support AAC
Note : À compter de Ubuntu 7.04 Feisty Fawn, une version de FFmpeg avec le support AAC activé est disponible dans le dépôt medibuntu.
Afin de convertir et de profiter de vos vidéos préférées au format M4V pour PSP, vous devez les reconvertir en utilisant comme codec audio le format AAC. Or ce codec n'est pas activé dans le paquet FFmpeg fourni sur les dépôts.
Nous allons voir comment recompiler FFmpeg avec le support de l'AAC pour nos consoles.
Avant toutes choses, sachez que vous retrouverez ces informations sur le site personel de Paul Battley: Lien externe.
Premièrement, il faut activer les dépôts universe et multiverse ;
Avec Ubuntu :
gksudo gedit /etc/apt/sources.list
Avec Kubuntu :
kdesudo kate /etc/apt/sources.list
Et ajouter les mots clefs "multiverse universe" à la suite des dépôts Ubuntu officiels.
Avec Hardy Heron, cela donne :
deb http://fr.archive.ubuntu.com/ubuntu/ hardy main restricted multiverse universe deb-src http://fr.archive.ubuntu.com/ubuntu/ hardy main restricted multiverse universe
On satisfait les dépendances de construction de FFmpeg :
sudo apt-get build-dep ffmpeg
Puis on récupère les librairies nécessaires, pour Hardy Heron cela donne :
sudo apt-get install liblame-dev libfaad-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev
On récupère les sources de FFmpeg :
apt-get source ffmpeg
On le compile en utilisant les bons flags de compilation, dont le flag –enable-faac qui va nous apporter le support AAC :
cd ffmpeg-* ./configure --enable-gpl --enable-pp --enable-libvorbis --enable-libogg --enable-liba52 --enable-dc1394 --enable-libgsm --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-xvid --enable-pthreads --enable-x264 --enable-swscaler --enable-libtheora make sudo make install
Et voilà, la version compilée devrait permettre de compresser vos vidéos pour la PSP.
Faire des essais de conversion avec FFmpeg sur une portion de fichier
Exemple :
ffmpeg -ss 80 -t 60 -i videoInput.mpg -s 240x180 -b 380k videoOutput.flv
Cette commande convertit la portion commençant à t0=80 s (-ss) et s'étendant sur une durée de 60 s (-t) du fichier d'entrée videoInput codé en MPEG. Le fichier produit sera encodé en flash, la taille d'image sera de 240 x 180 et le débit engendré par son affichage de 380 Kbit/s.
Convertir le format flv en avi
Cette conversion est utile si vous téléchargez des videos en streaming (youTube, Google Video, etc…).
ffmpeg -i nom_du_fichier.flv -f avi nom_du_fichier.avi
Convertir le format avi en mpeg
Un exemple de commande, et d'options, pour faire un DVD (Donc un format MPEG) depuis un fichier avi :
ffmpeg -i ma_video.avi -target dvd -aspect 16:9 -sameq mon_dvd_video.mpg
Où
-i ma_video.avi est le fichier départ
-target pal-dvd le format de sortie
-fs 2000000000 la taille maximale du fichier sortie, en bits (Ici 2 Gb)
-aspect 16:9 le ratio widescreen (Avec les franges en haut et en bas).
Convertir le format avi en dv
Cette conversion est utile pour faire du montage vidéo, dans Kino par exemple. En ligne de commande, tapez :
ffmpeg -i video.avi -target pal-dv video.dv
Attention, ici le chemin n'est pas précisé. Le fichier doit se trouver dans votre dossier personnel pour que cela fonctionne.
Convertir le format avi en mp4 ( PSP )
Cette conversion est utile pour lire vos vidéos sur une console portable PSP. En ligne de commande, tapez :
ffmpeg -i video.avi -f psp -r 29.97 -b 768k -ar 24000 -ab 64k -s 480x160 m4v00001.mp4
Attention, si vous générez plusieurs fichiers vidéos, ceux-ci doivent avoir un nommage particulier pour pouvoir être lus sur votre console (m4v00001.mp4, m4v00002.mp4, m4v00003.mp4, et ainsi de suite).
Si vous encodez une vidéo qui est au format 4/3, choisissez une taille de 320x240 pour conserver les proportions.
Pour avoir une bonne qualité avec une résolution 480x272 , avec un débit de 768 KBits, firmware conseillé 3.71 ou supérieur, tapez :
ffmpeg -i video_en_entrée.avi -r 29.97 -vcodec h264 -s 640x480 -aspect 16:9 -flags +loop -cmp +chroma -deblockalpha 0 -deblockbeta 0 -b 768k -maxrate 1500k -bufsize 4M -bt 256k -refs 1 -bf 3 -coder 1 -me umh -me_range 16 -subq 7 -partitions +parti4x4+parti8x8+partp8x8+partb8x8 -g 250 -keyint_min 25 -level 30 -qmin 10 -qmax 51 -qcomp 0.6 -trellis 2 -sc_threshold 40 -i_qfactor 0.71 -acodec aac -ab 112k -ar 48000 -ac 2 -s 480x272 -aspect 4:3 video_en_sortie.mp4
Créer une vignette de la vidéo qui vient d'être encodé au format 160x120 en jpg.
-ss 5 : Va à la 5eme seconde de la vidéo
-vframes 1 : Pour n'avoir qu'une image
ffmpeg -i video.mp4 -f image2 -ss 5 -vframes 1 -s 160x120 video.jpg
Convertir un fichier 3GP ou AMR en MPEG ou MP3
Les fichiers .AMR (Pour Adaptive Multi-Rate Codec, ou Codec multi-débit adaptatif) sont des fichiers sons spécifiques aux téléphones mobiles, et deviennent de plus en plus répandus au fur et à mesure du développement des dictaphones intégrés aux portables et des téléphones-baladeurs, tout comme les fichiers .3GP (Pour 3rd Generation Partnership Project, projet de partenariat de 3ème génération) qui sont leurs homologues vidéos.
Il existe différentes méthodes pour les manipuler, dont celles utilisant FFmpeg en ligne de commande.
Dans les premières versions de cet article, nous présenterons une méthode par interface graphique, utilisant l'utilitaire Mobile Media Converter disponible ici
Ce programme se présente sous forme d'archive à décompacter, et il suffit de double-cliquer sur l'exécutable Mobile Media Converter pour le lancer une fois extrait de l'archive.
Convertir des fichiers musicaux
Pour les fichiers sonores, la commande typique est :
ffmpeg -i monMorceau.mp3 monMorceau.wav
Cependant pour convertir un fichier quelconque en fichier mp3, il faut régler le bitrate. Par défaut le bitrate est de 64Kbits/s, ce qui donne des fichiers extrêmement légers mais des morceaux ignobles à écouter. Il faut donc modifier ce bitrate, on conseille un minimum de 128 Kbits/s, mais pour avoir le meilleur rapport qualité/taille, préférez 192Kbits/s, et sachez que les bitrates courants peuvent aller jusqu'à 320 Kbits/s. Pour une conversion vers un MP3 avec un bitrate de 192 Kbits/s, la commande est :
ffmpeg -ab 192k -i monMorceau.ogg monMorceau.mp3
Extraire la bande son d'une vidéo
Pour extraire la bande sonore d'une vidéo (Dans cet exemple avec un format .avi, cela fonctionne également pour les autres formats), et le récuperer en mp3 (Autres choix possibles) :
ffmpeg -i fichier_video.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 fichier_son.mp3
Pour consulter le manuel de FFmpeg
man ffmpeg
Pour en savoir plus sur Internet
- Site officiel (En anglais)
- Exemples d'usages (En français)
- ffmpeg sur le site de montage vidéo libre, lprod.org (En français)
Contributeurs : loup_74, ElGeneralMidi , Wido
