déc. 2010
09
[Guide] FFmpeg : convertissez vos vidéos à votre guise sous Windows ! (...ou plus ou moins)
Bon, il fallait que j'en parle de ce fabuleux outil !
Après avoir torturée ma cervelle à compiler ce truc sous Ubuntu, enfin j'en ai terminé en y incluant tout ce que je pensais être utile, et le tout pour Windows ! ... et à partager avec vous !

The best tool for video converting !
Après avoir torturée ma cervelle à compiler ce truc sous Ubuntu, enfin j'en ai terminé en y incluant tout ce que je pensais être utile, et le tout pour Windows ! ... et à partager avec vous !

The best tool for video converting !
- Qu'est-ce que FFmpeg ?
Moi, je le prononce "Èf Èf Èm Pègue"...! xD
Il s'agit d'un programme open-source tournant sous Mac, Linux et Windows permettant de convertir des vidéos d'un format à un autre.
- Fonctionnement :
FFmpeg fonctionne en ligne de commande. Ce mode de fonctionnement fait reculer la majorité des utilisateurs, mais lorsque l'on comprend le truc, c'est tellement tout bête !
Il existe des interfaces graphiques pour FFmpeg notamment WinFF, Mencoder et plein d'autres. Sans que vous le sachiez, vous utilisez peut-être un logiciel de conversion vidéo qui utilise FFmpeg. En effet, la majorité des applications de transformation vidéo graphiques utilise FFmpeg en outil de conversion. Mais en graphique, certaines options semblent limitées.
Pour iPod, iPhone, iPad, DVD, Blu-Ray, ou appareils mobiles, grâce à la ligne de commande, toute la puissance des options vidéo est exploitée, et la conversion est plus rapide qu'avec les logiciels graphiques !
Et si j'en parle aujourd'hui, c'est que je vais vous montrer vite fait le fonctionnement de FFmpeg en CLI, qui, si se met dans un batch, facilite grandement les choses et permet de customiser les réglages de la vidéo à fond ! Aucune connaissance n'est requise !
Tout d'abord, téléchargez donc mon dernier build comprenant tous les codecs nécessaires et mis à jour.
Les anciens builds sont consultables sur cette page.
- Dézippez les fichiers dans un dossier quelconque.
- Et c'est tout, vous lancez le fichier "Convertir avec FFmpeg.bat" et basta !
- Utilisation avec le script batch :
- Pour convertir un fichier, lancez "Convertir avec FFmpeg.bat" et laissez-vous guider. J'ai fait en sorte que vous ne soyez pas perdus, suivez juste les instructions.
- Ce sont donc des lignes pré-écrites qui vous évitent de faire un tas de manipulation. Permet une conversion simple et rapide. Pour faire simple, seul l'essentiel est réglable : la qualité de la vidéo, la résolution, et le codec. Peut très bien être pour de la diffusion HD que pour mettre sur vos appareils mobiles.
- En x264, le profil Baseline est préféré : compatible pour les machines pas trop puissantes, bonne qualité sans être trop lourd, lisible pour certains appareils mobiles.
- Si vous souhaitez changer plus de choses, utilisez le mode manuel dans le script. En x264, créez ou éditez les presets. =)
- Un fichier est converti à la fois. Plusieurs à la volée, ce n'est pas encore prévu. Cela ne vous empêche de lancer plusieurs scripts en même temps. Besoin réel aussi ?
![[Guide] FFmpeg : convertissez vos vidéos à votre guise sous Windows ! (...ou plus ou moins) - Numerica Passion](http://numericapassion.online.fr/files/2010/12/08/ffmpeg_screen.jpg)
Les codecs dans FFmpeg :
J'ai fait en sorte de compiler tous les formats les plus populaires possibles dans le binaire.
Vous connaissez tous le DivX, le Xvid... Il existe aussi le x264 et le VP8 qui sont des codecs un peu plus modernes, dont le dernier à été rendu libre par Google récemment. Ce sont des codecs vidéo, des sortes de logiciels compressant la qualité pour pouvoir partager la vidéo sur le oueb. Vous connaissez sans doute aussi le MPEG, qui est une norme de compression et non un codec.
Certaines méthodes sont moins bonnes que les autres, d'autres sont plus rapides, etc. À l'heure actuelle, le x264 est l'un des meilleurs choix, permettant d'avoir une vidéo de bonne qualité pour un poids minime. Il sert également à compresser des vidéos HD.
Ne confondez pas avec l'avi, le mkv, le mov ou le mp4 qui ne sont PAS des codecs mais des conteneurs de flux ! Un exemple simple :
- Votre voiture, une Peugeot 406 par exemple, est la piste vidéo (ou audio).
- Votre garage, est un conteneur.
Vous y garez votre voiture. Un jour, vous faites des travaux de votre garage pour y rajouter des fenêtres. Votre voiture pourra toujours se garer dedans, et elle n'aura pas changé.
Imaginez, vous changez de voiture pour une plus grande. Vous devez alors changer de taille de garage aussi.
Voici donc les rôles des conteneurs, certains sont plus compatibles avec certaines pistes que d'autres. Dans ce cas, les vidéos en x264 sont flexibles et s'adaptent bien aux mov, mp4, mkv et même avi. On utilisera principalement le MP4 dans ce petit guide qui peut simplement se streamer sur le net ou se lire sur les appareils mobiles.
Avec la piste vidéo s'accompagne la piste audio, qui doit être compressée aussi pour pouvoir être partagée. Il y a le célèbre MP3, Vorbis, le Dolby, l'AAC, wav... On ne va pas parler des conteneurs ici, les fichiers audio, c'est moins complexe. Sachez juste que le MP3 est très répandu mais que la qualité des codecs libres tels que le Vorbis ou l'AAC le surpassent largement depuis. Pour que le flux soit correct dans nos MP4, on va utiliser l'AAC.
FFmpeg a la particularité de pouvoir décoder et encoder dans de très nombreux formats comme vous pouvez le voir sur le screen ci-dessus. Ça va du .avi DivX au FLV, en passant par le WMV, le MPG, le x264, etc... sans oublier les audio comme le FLAC, l'ALAC, le Vorbis, MP3, WMA... pfffiou, trop top FFmpeg !
- Utilisation en ligne de commande :
La ligne de commande est commune pour tous les OS. Je vais regrouper l'essentiel ici. Commençons. On va être sous Windows pour cette base car c'est le but de cet article.
Lancez cmd.exe depuis Démarrer > Exécuter.
Allons-y, tapons cette longue ligne de commande (ma méthode) :
Cette petite ligne permet de déplacer un en-tête permettant aux lecteurs Flash d'identifier des informations sur la lecture. A la base, après conversion, cet en-tête se trouve à la fin du fichier donc, s'il n'est pas bougé, il faut attendre la fin du chargement complet de la vidéo avant qu'elle ne soit lue. En patchant cet en-tête, pas besoin d'attendre tout le chargement pour lire la vidéo.
Je vous invite à mieux comprendre les options en éditant mon script batch et en visitant ces liens :
- Documentation FFmpeg
- x264 ffmpeg mapping and options guide
Je vous souhaite bonne utilisation de cette petite merveille qui, j'espère, vous fera aimer un peu plus les lignes de commandes. N'hésitez pas à partager le script autour de vous ! Et surveillez cet article, FFmpeg se mettant à jour régulièrement, je suivrai sans doute le mouvement.
Un futur guide pour compiler FFmpeg vous-même viendra un autre jour. Pour l'instant, vous avez l'élite !
Moi, je le prononce "Èf Èf Èm Pègue"...! xD
Il s'agit d'un programme open-source tournant sous Mac, Linux et Windows permettant de convertir des vidéos d'un format à un autre.
- Fonctionnement :
FFmpeg fonctionne en ligne de commande. Ce mode de fonctionnement fait reculer la majorité des utilisateurs, mais lorsque l'on comprend le truc, c'est tellement tout bête !
Il existe des interfaces graphiques pour FFmpeg notamment WinFF, Mencoder et plein d'autres. Sans que vous le sachiez, vous utilisez peut-être un logiciel de conversion vidéo qui utilise FFmpeg. En effet, la majorité des applications de transformation vidéo graphiques utilise FFmpeg en outil de conversion. Mais en graphique, certaines options semblent limitées.
Pour iPod, iPhone, iPad, DVD, Blu-Ray, ou appareils mobiles, grâce à la ligne de commande, toute la puissance des options vidéo est exploitée, et la conversion est plus rapide qu'avec les logiciels graphiques !
Et si j'en parle aujourd'hui, c'est que je vais vous montrer vite fait le fonctionnement de FFmpeg en CLI, qui, si se met dans un batch, facilite grandement les choses et permet de customiser les réglages de la vidéo à fond ! Aucune connaissance n'est requise !
Tout d'abord, téléchargez donc mon dernier build comprenant tous les codecs nécessaires et mis à jour.
Les anciens builds sont consultables sur cette page.
- Dézippez les fichiers dans un dossier quelconque.
- Et c'est tout, vous lancez le fichier "Convertir avec FFmpeg.bat" et basta !
- Utilisation avec le script batch :
- Pour convertir un fichier, lancez "Convertir avec FFmpeg.bat" et laissez-vous guider. J'ai fait en sorte que vous ne soyez pas perdus, suivez juste les instructions.
- Ce sont donc des lignes pré-écrites qui vous évitent de faire un tas de manipulation. Permet une conversion simple et rapide. Pour faire simple, seul l'essentiel est réglable : la qualité de la vidéo, la résolution, et le codec. Peut très bien être pour de la diffusion HD que pour mettre sur vos appareils mobiles.
- En x264, le profil Baseline est préféré : compatible pour les machines pas trop puissantes, bonne qualité sans être trop lourd, lisible pour certains appareils mobiles.
- Si vous souhaitez changer plus de choses, utilisez le mode manuel dans le script. En x264, créez ou éditez les presets. =)
- Un fichier est converti à la fois. Plusieurs à la volée, ce n'est pas encore prévu. Cela ne vous empêche de lancer plusieurs scripts en même temps. Besoin réel aussi ?
![[Guide] FFmpeg : convertissez vos vidéos à votre guise sous Windows ! (...ou plus ou moins) - Numerica Passion](http://numericapassion.online.fr/files/2010/12/08/ffmpeg_screen.jpg)
Les codecs dans FFmpeg :
J'ai fait en sorte de compiler tous les formats les plus populaires possibles dans le binaire.
Vous connaissez tous le DivX, le Xvid... Il existe aussi le x264 et le VP8 qui sont des codecs un peu plus modernes, dont le dernier à été rendu libre par Google récemment. Ce sont des codecs vidéo, des sortes de logiciels compressant la qualité pour pouvoir partager la vidéo sur le oueb. Vous connaissez sans doute aussi le MPEG, qui est une norme de compression et non un codec.
Certaines méthodes sont moins bonnes que les autres, d'autres sont plus rapides, etc. À l'heure actuelle, le x264 est l'un des meilleurs choix, permettant d'avoir une vidéo de bonne qualité pour un poids minime. Il sert également à compresser des vidéos HD.
Ne confondez pas avec l'avi, le mkv, le mov ou le mp4 qui ne sont PAS des codecs mais des conteneurs de flux ! Un exemple simple :
- Votre voiture, une Peugeot 406 par exemple, est la piste vidéo (ou audio).
- Votre garage, est un conteneur.
Vous y garez votre voiture. Un jour, vous faites des travaux de votre garage pour y rajouter des fenêtres. Votre voiture pourra toujours se garer dedans, et elle n'aura pas changé.
Imaginez, vous changez de voiture pour une plus grande. Vous devez alors changer de taille de garage aussi.
Voici donc les rôles des conteneurs, certains sont plus compatibles avec certaines pistes que d'autres. Dans ce cas, les vidéos en x264 sont flexibles et s'adaptent bien aux mov, mp4, mkv et même avi. On utilisera principalement le MP4 dans ce petit guide qui peut simplement se streamer sur le net ou se lire sur les appareils mobiles.
Avec la piste vidéo s'accompagne la piste audio, qui doit être compressée aussi pour pouvoir être partagée. Il y a le célèbre MP3, Vorbis, le Dolby, l'AAC, wav... On ne va pas parler des conteneurs ici, les fichiers audio, c'est moins complexe. Sachez juste que le MP3 est très répandu mais que la qualité des codecs libres tels que le Vorbis ou l'AAC le surpassent largement depuis. Pour que le flux soit correct dans nos MP4, on va utiliser l'AAC.
FFmpeg a la particularité de pouvoir décoder et encoder dans de très nombreux formats comme vous pouvez le voir sur le screen ci-dessus. Ça va du .avi DivX au FLV, en passant par le WMV, le MPG, le x264, etc... sans oublier les audio comme le FLAC, l'ALAC, le Vorbis, MP3, WMA... pfffiou, trop top FFmpeg !
- Utilisation en ligne de commande :
La ligne de commande est commune pour tous les OS. Je vais regrouper l'essentiel ici. Commençons. On va être sous Windows pour cette base car c'est le but de cet article.
Lancez cmd.exe depuis Démarrer > Exécuter.
Allons-y, tapons cette longue ligne de commande (ma méthode) :
ffmpeg -i fichier_a_convertir.flv -vcodec mpeg4 -f mp4 -s 640x480 -r 30 -qscale 5 -qmin 1 -qmin 51 -acodec libfaac -ab 128k nom_fichier_converti.mp4
Cette petite ligne permet de déplacer un en-tête permettant aux lecteurs Flash d'identifier des informations sur la lecture. A la base, après conversion, cet en-tête se trouve à la fin du fichier donc, s'il n'est pas bougé, il faut attendre la fin du chargement complet de la vidéo avant qu'elle ne soit lue. En patchant cet en-tête, pas besoin d'attendre tout le chargement pour lire la vidéo.
Je vous invite à mieux comprendre les options en éditant mon script batch et en visitant ces liens :
- Documentation FFmpeg
- x264 ffmpeg mapping and options guide
Je vous souhaite bonne utilisation de cette petite merveille qui, j'espère, vous fera aimer un peu plus les lignes de commandes. N'hésitez pas à partager le script autour de vous ! Et surveillez cet article, FFmpeg se mettant à jour régulièrement, je suivrai sans doute le mouvement.
Un futur guide pour compiler FFmpeg vous-même viendra un autre jour. Pour l'instant, vous avez l'élite !