| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| ffmpeg [Le 15/07/2026, 23:46] – [Utilisation graphique] corrigo | ffmpeg [Le 13/11/2026, 21:15] (Version actuelle) – [Exemples de conversions] compression vidéo avec ratio verticale bcag2 |
|---|
| {{tag>Focal audio vidéo encodage montage_vidéo capture_vidéo multimédia}} | {{tag>Focal audio vidéo encodage_vidéo encodage_audio montage_vidéo capture_vidéo multimédia}} |
| |
| ---- | {{ https://upload.wikimedia.org/wikipedia/commons/7/76/FFmpeg_icon.svg?80|Logo de FFmpeg}} |
| | |
| {{ http://ffmpeg.org/ffmpeg-logo.png?150| Logo de ffmpeg}} | |
| ====== FFmpeg ====== | ====== FFmpeg ====== |
| |
| **FFmpeg** est une application de lecture et encodage de vidéo. Très puissante comme son alter ego [[Mencoder]], il assure en [[;commande_shell|ligne de commande]] la possibilité de convertir les fichiers vidéo d'un format à un autre, dont le **mts** et m2ts. | **FFmpeg** est une application de lecture et encodage de vidéo. Très puissante comme son alter ego [[Mencoder]], il assure en [[:commande_shell|ligne de commande]] la possibilité de convertir les fichiers vidéo d'un format à un autre, dont le **mts** et m2ts. |
| |
| ===== Utilisation graphique ===== | ===== Utilisation graphique ===== |
| * [[https://www.framegui.app/|Frame]] - une interface graphique open source et moderne qui permet de convertir vidéos, audios et images sans toucher au terminal. Dispo en [[:appimage]] sur [[https://github.com/66HEX/frame/releases/latest|Github]] ou en [[:flatpak]] sur [[https://flathub.org/fr/apps/io.github._66HEX.Frame|Flathub]] | * [[https://www.framegui.app/|Frame]] - une interface graphique open source et moderne qui permet de convertir vidéos, audios et images sans toucher au terminal. Dispo en [[:appimage]] sur [[https://github.com/66HEX/frame/releases/latest|Github]] ou en [[:flatpak]] sur [[https://flathub.org/fr/apps/io.github._66HEX.Frame|Flathub]] |
| * [[http://ekd.tuxfamily.org/|EKD]] - EKD est un logiciel libre qui se propose de faire des opérations de post-production aussi bien pour des vidéos, que pour des images. En ce qui concerne les images, EKD fait du traitement par lots. | * [[http://ekd.tuxfamily.org/|EKD]] - EKD est un logiciel libre qui se propose de faire des opérations de post-production aussi bien pour des vidéos, que pour des images. En ce qui concerne les images, EKD fait du traitement par lots. |
| * [[WinFF]] - Cette application vous permet de choisir parmi une liste de profils un encodage vidéo qui conviendra à vos attentes. Par exemple si vous voulez faire une vidéo compatible Blackberry, il ne vous sera même pas nécessaire de savoir quel est l'encodage interne utilisé. | * [[WinFF]] - Cette application vous permet de choisir parmi une liste de profils un [[:encodage vidéo]] qui conviendra à vos attentes. Par exemple si vous voulez faire une vidéo compatible Blackberry, il ne vous sera même pas nécessaire de savoir quel est l'encodage interne utilisé. |
| |
| D'autres interfaces graphiques ont été créées pour répondre à des attentes spécifiques : | D'autres interfaces graphiques ont été créées pour répondre à des attentes spécifiques : |
| === Utilisation Multithreads === | === Utilisation Multithreads === |
| |
| Si FFmpeg est compilé avec la possibilité de faire du **[[multithreading]]** (la version par défaut d'Ubuntu le permet par exemple), il permet sans aucune difficulté d'utiliser les processeurs actuels à leur plein potentiel pour encoder un fichier, il suffit de passer l'instruction threads à ffmpeg à chaque encodage : | Si FFmpeg est compilé avec la possibilité de faire du //[[wpfr>multithreading]]// (la version par défaut d'Ubuntu le permet par exemple), il permet sans aucune difficulté d'utiliser les processeurs actuels à leur plein potentiel pour encoder un fichier, il suffit de passer l'instruction threads à ffmpeg à chaque encodage : |
| <code>-threads 0</code> | <code>-threads 0</code> |
| |
| N étant le nombre de threads à utiliser. Vous pouvez donc en utiliser seulement 3 sur un processeur Quad Core pour garder une grande réactivité sur une autre tâche. | N étant le nombre de threads à utiliser. Vous pouvez donc en utiliser seulement 3 sur un processeur Quad Core pour garder une grande réactivité sur une autre tâche. |
| |
| Vous pouvez ensuite compléter par n'importe quelles instructions, et si le codec supporte le multithreading il utilisera automatiquement au mieux votre installation. | Vous pouvez ensuite compléter par n'importe quelles instructions, et si le codec supporte le //[[wpfr>multithreading]]// il utilisera automatiquement au mieux votre installation. |
| |
| === Fichiers d'entrée et de sortie === | === Fichiers d'entrée et de sortie === |
| Ici cependant, on peut se contenter d'utiliser la même extension que le fichier source (.mkv, .ogm, .avi, etc), ou encore changer de conteneur (passer de .flv à .mkv par exemple) sans pour autant transcoder le flux vidéo, ce qui est bien pratique.</note> | Ici cependant, on peut se contenter d'utiliser la même extension que le fichier source (.mkv, .ogm, .avi, etc), ou encore changer de conteneur (passer de .flv à .mkv par exemple) sans pour autant transcoder le flux vidéo, ce qui est bien pratique.</note> |
| __Remarque__: bien que ffmpeg fasse très bien les choses, pour certains formats et en particulier le MKV, il est recommandé d'utiliser les outils dédiés tels que [[mkvtoolnix]]. | __Remarque__: bien que ffmpeg fasse très bien les choses, pour certains formats et en particulier le MKV, il est recommandé d'utiliser les outils dédiés tels que [[mkvtoolnix]]. |
| | |
| ==== Instructions d'encodage Audio ==== | ==== Instructions d'encodage Audio ==== |
| | |
| | <note>Voir la page //[[:Encodage audio]]//.</note> |
| | |
| Il faut paramétrer le son. Et c'est très simple ! | Il faut paramétrer le son. Et c'est très simple ! |
| <code>-acodec "nom du codec"</code> | <code>-acodec "nom du codec"</code> |
| Pour supprimer l'audio | Pour supprimer l'audio |
| <code>-an</code> | <code>-an</code> |
| | |
| ==== Instructions d'encodage vidéo ==== | ==== Instructions d'encodage vidéo ==== |
| |
| C'est là où ça se complique car il y a plein de codecs vidéo, et ils ont souvent des instructions obscures, même pour les utilisateurs les plus avertis... Ce qui est... Déroutant... | <note>Voir la page //[[:Encodage vidéo]]//.</note> |
| | |
| | C'est là où ça se complique car il y a plein de codecs vidéo, et ils ont souvent des instructions obscures, même pour des utilisateurs avertis... ce qui peut être déroutant\_! |
| |
| Mais ne vous inquiétez pas, nous allons vous expliquer comment éviter les plus gros pièges ! | Mais ne vous inquiétez pas, nous allons vous expliquer comment éviter les plus gros pièges ! |
| Si, en revanche, vous voulez une taille de fichier final bien précise, utilisez un encodage en 2 passes. | Si, en revanche, vous voulez une taille de fichier final bien précise, utilisez un encodage en 2 passes. |
| |
| Voir : [[encodage_dvd_mkv|Encodage DVD → MKV]] | Voir : [[:encodage_dvd_mkv|Encodage DVD → MKV]] |
| </note> | </note> |
| |
| Si la source est en HD, vous pouvez réduire la définition pour réduire de façon importante la taille du fichier : | Si la source est en HD, vous pouvez réduire la définition pour réduire de façon importante la taille du fichier : |
| <code>ffmpeg -i FichierSourceHD.MOV -s wvga -vcodec libx264 FichierResultat.mp4</code> | <code>ffmpeg -i FichierSourceHD.MOV -s wvga -vcodec libx264 FichierResultat.mp4</code> |
| (on peut remplacer //wvga// par //hd720//, cf. [[wpfr>Format_d'affichage_vidéo]]… ou définir la taille//x//×//y//, mais attention de respecter le ratio | (on peut remplacer //wvga// par //hd720//, cf. [[wpfr>Format_d'affichage_vidéo]]… ou définir la taille//x//×//y//, mais attention de respecter le ratio,\\ |
| | si par exemple la vidéo est verticale, on peut ne spécifier que la dimension verticale (720 ci-dessous) et laisser ffmpeg calculer la dimension horizontale (le - suivit de 2, l'arrondi en pixel) : |
| | <code>ffmpeg -i FichierSourceHD.MOV -vf "scale=-2:720" -vcodec libx264 FichierResultat.mp4</code> |
| |
| === Convertir une vidéo en WebM (VP8+Vorbis) en deux passes === | === Convertir une vidéo en WebM (VP8+Vorbis) en deux passes === |
| <code>ffmpeg -help long</code> | <code>ffmpeg -help long</code> |
| |
| ===== Pour en savoir plus sur Internet ===== | ===== Voir aussi ===== |
| * ''**(en)**'' [[http://ffmpeg.org/|Site officiel]] | |
| * ''**(fr)**'' [[http://www.jcartier.net/spip.php?article36|Exemples d'usages]] | |
| * ''**(fr)**'' [[http://www.korben.info/ffmpeg-pour-les-nuls.html|FFMPEG pour les nuls]] | |
| |
| ---- | * **(//en//)** [[http://ffmpeg.org/|Site officiel]] |
| | * [[http://www.jcartier.net/spip.php?article36|Exemples d'usages]] |
| | * [[http://www.korben.info/ffmpeg-pour-les-nuls.html|FFMPEG pour les nuls]] |
| | * [[:Encodage vidéo]] |
| | * [[:Encodage audio]] |
| |
| //Contributeurs principaux : loup_74, ElGeneralMidi, [[utilisateurs:Wido]], [[utilisateurs:laurentb|Laurent Bellegarde]], Isamaya (pour l'extraction des flux audio et vidéo), [[:utilisateurs:bcag2]].// | ---- |
| | //[[:Contributeurs]] : loup_74, ElGeneralMidi, [[:utilisateurs:Wido]], [[:utilisateurs:laurentb|Laurent Bellegarde]], Isamaya, [[:utilisateurs:bcag2]].// |