ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

[[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.

Si vous cherchez une interface graphique efficace pour FFmpeg, allez voir du coté de WinFF

Il y a également NeoDivX Lazarus pour l'encodage de DVD en DivX utilisant FFmpeg

Attention, depuis Ubuntu Intrepid Ibex, les noms de nombreux codecs d'encodage on été changés ex h264 = libx264 ou mp3 = libmp3lame Pour avoir la liste faire:

ffmpeg -formats  

Installation

Dépôt officiel (recommandé)

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)

Cette méthode permet d'installer la toute dernière version de FFmpeg, mais celle-ci provenant du serveur SVN, elle est toujours en développement, ce qui signifie qu'elle peut se révéler instable. L'utilisation de cette version est donc à vos risques et périls.

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 
Il est ensuite vivement conseillé de désactiver immédiatement les dépôts Trévino et de n'effectuer aucune mise à jour avant cela, certains autres paquets de ce dépôt pourraient poser des problèmes.

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 
Pour supprimer FFmpeg :

 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

-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


ffmpeg.txt · Dernière modification: 2008/12/01 15:11 par 213.95.41.13
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL