ffmpeg est un utilitaire de création/gestion/conversion de fichier multi-média. Il s’utilise en ligne de commande et il est particulièrement apprécié pour sa performance et sa souplesse.
ffmpeg dispose d’une kyrielle d’options et, par conséquent, il n’est pas facile à documenter. La lecture de la documentation de ffmpeg est une tâche ardue qui peut même repousser certains débutants.
Le présent article a pour but de montrer que ffmpeg peut être d’utilisation facile. Plutôt que de documenter chacune des options, je vais présenter quelques recettes pré-cuites.
Structure de la ligne de commande
Une commande ffmpeg consiste à spécifier des flux d’entrée et un flux de sortie. On peut spécifier des options pour chacun de ces flux.
ffmpeg reconnait des centaines de formats de fichier. Le format d’un flux d’entrée est généralement auto-détecté mais peut être forcé par l’option -fmt. Le format du flux de sortie est généralement spécifié par le suffixe du nom de fichier mais peut être forcé par l’option -fmt.
ffmpeg options_globales options_flux_0 -i fichier_flux_0 options_flux_n -i fichier_flux_n] ... options_flux_sortie fichier_flux_sortie
Extraire l’audio d’un flux multi-média (par exemple un film)
ffmpeg -i film.mp4 -q:a 0 -map a musiqueDuFilm.mp3
Cette commande spécifie:
- le nom du fichier de film (film.mp4)
- sélection du flux audio (-map a)
- le nom du fichier de sortie (musiqueDuFilm.mp3)
Convertir un .mp4 pour un vieux lecteur DVD
On vous transmet un documentaire en format .mp4 que vous vous empressez de mettre dans votre lecteur DVD. Le lecteur vous répond que le fichier est incompatible. Pourtant vous avez utilisé ce lecteur plusieurs fois pour lire des .mp4.
Le fichier reçu serait-il corrompu? Oui, peut-être. Mais la cause probable est que l’encodage de votre fichier est trop récent pour que votre lecteur puisse le décoder. Il faut savoir que la norme MP4 a beaucoup évolué au cours des années et il y a donc plusieurs versions de MP4. Ces versions sont principalement justifiées par l’évolution des résolutions et les avancées des algorithmes de compression. La norme H264 (c’est le nom officiel du MP4) est définie en 7 différents profils (profile), chacun ayant près de 20 niveaux (level). Pas évident de s’y retrouver mais le document fr.wikipedia.org/wiki/H.264 peut vous y aider.
Si votre lecteur n’accepte pas plus que High/level3, alors vous pouvez convertir votre document avec:
ffmpeg -i fichier.mp4 -c:a copy -c:v libx264 -profile:v High -level 3 résultat.mp4
Références