Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| ffmpeg [Le 19/06/2023, 06:22] – 1.47.159.5 | ffmpeg [Le 18/01/2026, 10:46] (Version actuelle) – [Exemples de conversions] extraction au lieu de conversion (vidéo -> audio) bcag2 | ||
|---|---|---|---|
| Ligne 30: | Ligne 30: | ||
| ===== Utilisation ===== | ===== Utilisation ===== | ||
| + | |||
| + | **Tout ce qui suit parlera de la partie manipulation de fichier Audio - Video.** | ||
| + | |||
| + | Cependant, il est utile de savoir que **ffmpeg** intègre par défaut un lecteur minimaliste audio-video **ffplay** utilisable depuis le terminal. | ||
| + | |||
| + | Attention, minimaliste ne veut pas dire peu performant.\\ | ||
| + | Avec toutes les possibilités de ffmpeg vous pouvez aller bien plus loin que n' | ||
| + | Seul ressource pour cela ... connaitre les arguments à entrer dans la commande terminal. | ||
| + | |||
| + | En bref : plus léger, plus simple et plus qualitatif par défaut. Par choix, plus tout ce que vous voulez pour aller plus loin. | ||
| + | |||
| + | |||
| + | **Utilisation pour lire UN SEUL fichier Audio ou Video** | ||
| + | |||
| + | Tapez dans le terminal ce qui suit et appuyez sur la touche " | ||
| + | |||
| + | __Pour un fichier video__\\ | ||
| + | < | ||
| + | |||
| + | __Pour un fichier audio__\\ | ||
| + | < | ||
| + | |||
| + | //NB les guillemets sont importants car ils vous éviteront une erreur si le chemin a des espaces ou des caractères spéciaux// | ||
| + | |||
| + | Pour arrêter la lecture appuyer sur " | ||
| + | **IMPORTANT** Quitter proprement le terminal en tapant | ||
| + | \\ | ||
| + | |||
| + | **Utilisation pour lire plusieurs fichiers audio ou video CONTENUS __DANS UN SEUL ET MEME REPERTOIRE__**\\ | ||
| + | |||
| + | |||
| + | Tapez dans le terminal ce qui suit et appuyez sur la touche " | ||
| + | |||
| + | < | ||
| + | puis\\ | ||
| + | < | ||
| + | |||
| + | // si vous lisez une video supprimez dans la commande ci-dessus l' | ||
| + | // | ||
| + | //-autoexit ferme ffplay quand le fichier est lu//\\ | ||
| + | //(.wav à remplacer par votre format .flac .ogg .mp3 .mp4 .m4a .aac .opus .mkv .webm etc.)// | ||
| + | |||
| + | Ctrl + C pour passer au morceau suivant\\ | ||
| + | Ctrl + Z pour arrêter\\ | ||
| + | **IMPORTANT** Quitter proprement le terminal en tapant | ||
| + | \\ | ||
| + | |||
| + | **Utilisation pour lire TOUT LE CONTENU D'UN RÉPERTOIRE contenant PLUSIEURS DOSSIERS avec des fichiers audio** | ||
| + | |||
| + | < | ||
| + | NB // | ||
| + | < | ||
| + | Ctrl + C pour passer au morceau suivant\\ | ||
| + | Ctrl + Z pour arrêter\\ | ||
| + | **IMPORTANT** Quitter proprement le terminal en tapant | ||
| + | |||
| + | J' | ||
| ==== Commencer sur une bonne base ==== | ==== Commencer sur une bonne base ==== | ||
| Ligne 46: | Ligne 103: | ||
| Stream #0.1: Video: wmv3, yuv420p, 320x240, 323 kb/s, 25 tbr, 1k tbn, 1k tbc | Stream #0.1: Video: wmv3, yuv420p, 320x240, 323 kb/s, 25 tbr, 1k tbn, 1k tbc | ||
| </ | </ | ||
| + | <note tip>Un utilitaire très léger est dédié à l' | ||
| + | |||
| Le nombre d' | Le nombre d' | ||
| Une commande finale ressemblera à ça : | Une commande finale ressemblera à ça : | ||
| Ligne 343: | Ligne 402: | ||
| < | < | ||
| Aspect étant 4:3, 16:9 ou 1.3333, 1.7777. Vous pouvez faire des aspects spéciaux si vous le voulez. | Aspect étant 4:3, 16:9 ou 1.3333, 1.7777. Vous pouvez faire des aspects spéciaux si vous le voulez. | ||
| + | |||
| + | === Stabiliser la vidéo === | ||
| + | |||
| + | Pour réduire en post-production les tremblements de la caméra lors de la prise de vue. | ||
| + | |||
| + | Prérequis : la bibliothèque vidstab doit être intégrée à la configuration de ffmpeg. | ||
| + | |||
| + | Pour le vérifier : | ||
| + | < | ||
| + | ffmpeg version n7.0.1 Copyright (c) 2000-2024 the FFmpeg developers | ||
| + | built with gcc 14.1.1 (GCC) 20240522 | ||
| + | configuration: | ||
| + | ... --enable-libvidstab ... | ||
| + | </ | ||
| + | |||
| + | ffmpeg effectue la stabilisation d'une vidéo en deux passes : | ||
| + | - une passe d' | ||
| + | - une passe de traitement qui exploite ce fichier et produit la vidéo stabilisée. | ||
| + | |||
| + | La [[https:// | ||
| + | Dans une approche simplissime, | ||
| + | |||
| + | Supposons que la vidéo à stabiliser se nomme // | ||
| + | On saisira les deux lignes ci-dessous : | ||
| + | |||
| + | < | ||
| + | ffmpeg -i inputFile -vf vidstabdetect -f null transforms.trf | ||
| + | ffmpeg -i inputFile -vf vidstabtransform=: | ||
| + | </ | ||
| + | |||
| + | Si le résultat de la stabilisation ne paraît pas suffisant mais si on ne souhaite pas se confronter à la complexité du traitement, on peut se limiter à jouer sur le seul paramètre de lissage (// | ||
| + | Sa valeur par défaut est 10. On peut tenter de l' | ||
| + | |||
| + | Ainsi pour lui donner une valeur de 40, par exemple, on saisira les lignes suivantes (première ligne inchangée donc optionnelle si elle a déjà été exécutée) : | ||
| + | < | ||
| + | ffmpeg -i inputFile -vf vidstabdetect -f null transforms.trf | ||
| + | ffmpeg -i inputFile -vf vidstabtransform=smoothing=40: | ||
| + | </ | ||
| + | |||
| + | À noter que le processus de stabilisation applique une certaine valeur de zoom à l' | ||
| + | < | ||
| ==== Faire des essais de conversion avec FFmpeg sur une portion de fichier ==== | ==== Faire des essais de conversion avec FFmpeg sur une portion de fichier ==== | ||
| Ligne 372: | Ligne 472: | ||
| avconv -i ' | avconv -i ' | ||
| - | ===Convertir un fichier webm en .mp4=== | + | === Convertir un fichier webm en .mp4 === |
| Le format [[webm|webm]] est largement utilisé sur internet, en particulier pour youtube. Vous pouvez télécharger ces vidéos de différentes façons, par exemple via [[youtube-dl|youtube-dl]]. Pour voir ces vidéos sur une télévision, | Le format [[webm|webm]] est largement utilisé sur internet, en particulier pour youtube. Vous pouvez télécharger ces vidéos de différentes façons, par exemple via [[youtube-dl|youtube-dl]]. Pour voir ces vidéos sur une télévision, | ||
| Ligne 411: | Ligne 511: | ||
| Attention, ici le chemin n'est pas précisé. Le fichier doit se trouver dans votre dossier personnel pour que cela fonctionne. | Attention, ici le chemin n'est pas précisé. Le fichier doit se trouver dans votre dossier personnel pour que cela fonctionne. | ||
| - | === Convertir | + | === Extraire |
| - | Ce script permet d' | + | Ce script permet d' |
| Plusieurs formats de vidéos peuvent se trouver dans le même dossier au moment de la conversion. | Plusieurs formats de vidéos peuvent se trouver dans le même dossier au moment de la conversion. | ||
| <file bash videos_to_mp3_converter.sh> | <file bash videos_to_mp3_converter.sh> | ||
| Ligne 518: | Ligne 618: | ||
| ==== Pour créer une vidéo à partir de photos ==== | ==== Pour créer une vidéo à partir de photos ==== | ||
| - | À partir des images // | + | À partir des images // |
| + | FIXME (le code ci-dessous ne fonctionne pas sous [[:Jammy]] | ||
| < | < | ||
| ffmpeg -framerate 24 -i img%03d.png output.mp4 | ffmpeg -framerate 24 -i img%03d.png output.mp4 | ||
| </ | </ | ||
| - | [[https:// | + | [[https:// |
| + | Alternative ((src (en) : https:// | ||
| + | <code bash> | ||
| + | ffmpeg -framerate 1 -pattern_type glob -i ' | ||
| + | </ | ||
| + | <note important> | ||
| + | |||
| + | |||
| + | En cas d' | ||
| + | </ | ||
| ==== Découper une vidéo ==== | ==== Découper une vidéo ==== | ||
| Ligne 594: | Ligne 704: | ||
| Pour les méta-données, | Pour les méta-données, | ||
| + | ==== Ajouter une piste son ainsi que des sous-titres ==== | ||
| + | Dans cet exemple : | ||
| + | * on va ajouter une deuxième piste son (française) au fichier video.mp4 qui en possède déjà une (anglaise) | ||
| + | * on va ajouter des sous-titres dans chacune des deux langues | ||
| + | * on va ajouter une image de couverture image.jpg | ||
| + | * on va mettre à jour des métadonnées | ||
| + | <code bash> | ||
| + | </ | ||
| + | <note tip> | ||
| + | * -c copy : copie sans réencoder | ||
| + | * -metadata comment=" | ||
| + | * -metadata title=" | ||
| + | * -metadata: | ||
| + | * -metadata: | ||
| + | * -metadata: | ||
| + | * -metadata: | ||
| + | * -metadata: | ||
| + | * -c:s mov_text : convertit les fichiers srt en sous-titres mov_text pour mp4 | ||
| + | * -metadata: | ||
| + | * -metadata: | ||
| + | * output.mp4 : fichier de sortie | ||
| + | </ | ||
| ==== Pour consulter le manuel de FFmpeg ==== | ==== Pour consulter le manuel de FFmpeg ==== | ||
| Ligne 608: | Ligne 740: | ||
| ---- | ---- | ||
| - | // | + | // |
