Ffmpeg. Trucs et astuces

FFmpeg est un processeur multimédia, un ensemble de bibliothèques qui vous permettent d’enregistrer, de traiter et de convertir des documents vidéo et / ou audio dans différents formats. Avec cet outil, vous pouvez faire du montage vidéo de presque n’importe quelle complexité. Il est utilisé par de nombreux joueurs, convertisseurs, éditeurs et bibliothèques de vision par ordinateur. Dans cet article, je vais partager quelques-uns des trucs et astuces FFmpeg que j’utilise souvent.

Couper la vidéo par heure

Très souvent, vous devez découper un petit fragment de la vidéo de n à m secondes. Pour ce faire, vous devez spécifier la seconde avec laquelle couper et la durée.

ffmpeg -i i.mp4 -ss 00:01:00 -t 00:02:00 -c copy o.mp4

Le paramètre -ssindique le point de départ et -tla durée.

Note importante! Si la durée de la vidéo est de 5 minutes, nous préciserons le point de départ à 00:04:00, et la durée à 00:02:00, la durée de la vidéo finale sera de 1 minute.

Ici et plus loin dans le texte de l’article,  i.mp4 est le chemin vers le fichier d’entrée, et o.mp4– vers la sortie.

Créer une vidéo à partir de photos

Supposons que nous ayons une caméra de sécurité qui prenne une photo toutes les minutes pendant la journée et que nous souhaitons obtenir une vidéo en continu.

En utilisant le code ci-dessous, vous pouvez convertir toutes les photos avec l’extension .jpg du dossier actuel en une vidéo avec une fréquence d’images de 10 FPS en utilisant le codec H.264 .

ffmpeg -framerate 10 -pattern_type glob -i '*.jpg' -c:v libx264 o.mp4

Extraire des photos de vidéos

Et maintenant, nous allons faire le contraire de l’action du point précédent – nous allons diviser la vidéo image par image en une photo.

ffmpeg -i o.mp4 -r 1 -q:v 2 -f image2 img-3%d.jpeg

Fusionner deux ou plusieurs vidéos en une seule

Pour fusionner plusieurs vidéos en une seule, nous devons créer un fichier, par exemple list.txt, dans lequel nous listons les chemins vers les vidéos que nous voulons fusionner dans l’ordre, par exemple:

file 'video1.mp4'
file 'video2.mp4'
file 'videoN.mp4'

Et après cela, nous exécuterons :

ffmpeg -f concat -i list.txt -c copy o.mp4

Ce n’est pas une bonne idée de créer un tel fichier manuellement, vous pouvez le remplir automatiquement, par exemple, comme ceci :

for f in ./*.mp4; do echo "file '$f'" >> list.txt; done

Ou comme ça :

printf "file '%s'\n" ./*.mp4> list.txt

Supprimer et extraire l’audio de la vidéo

Pour supprimer nous utilisons :

ffmpeg -i i.mp4 -c:v copy -an o.mp4

Et pour extraire :

ffmpeg -i i.mp4 -vn 0.wav

Recadrer la vidéo par hauteur et largeur

Au début de l’article, j’ai parlé de la méthode de recadrage d’une vidéo dans le temps, mais elle peut également être recadrée pour s’adapter au cadre, par exemple, en transformant un format 16: 9 en 3:4 en recadrant le cadre à gauche et à droite.

ffmpeg -i i.mp4 -filter:v "crop=w:h:x:y" o.mp4

Dans le filtre de recadrage, à son tour, vous devez spécifier la largeur, la hauteur du nouveau cadre, ainsi que son décalage par coordonnées.

Placer la vidéo côte à côte dans une image

Avant de faire cela, il y a quelques points à considérer :

  • Les vidéos doivent être de la même hauteur.
  • Les vidéos doivent avoir le même format de pixel.

Placement horizontal :

ffmpeg -i i0.mp4 -i i1.mp4 -filter_complex hstack=inputs=2 o.mp4

Placement vertical :

ffmpeg -i i0.mp4 -i i1.mp4 -filter_complex vstack=inputs=2 o.mp4

Grille 2×2:

ffmpeg \
-i i0.mp4 -i i1.mp4 -i i2.mp4 -i i3.mp4 \
-filter_complex \
"[0:v][1:v]hstack=inputs=2[top]; \
[2:v][3:v]hstack=inputs=2[bottom]; \
[top][bottom]vstack=inputs=2[v]" \
-map "[v]" \
o.mp4

Grille 3×2:

ffmpeg \
-i i0.mp4 -i i1.mp4 \
-i i2.mp4 -i i3.mp4 \
-i i4.mp4 -i i5.mp4 \
-filter_complex \
"[0:v][1:v][2:v]hstack=inputs=3[top];\
[3:v][4:v][5:v]hstack=inputs=3[bottom];\
[top][bottom]vstack=inputs=2[v]" \
-map "[v]" \
o.mp4

Faire pivoter la vidéo

ffmpeg -i i.mp4 -vf "transpose=0" o.mp4

Le paramètre de transposition dans le code ci-dessus peut prendre les valeurs suivantes :

  • 0 – Rotation de 90 degrés dans le sens antihoraire et rotation verticale. Défaut.
  • 1 – Tournez de 90 degrés dans le sens des aiguilles d’une montre.
  • 2 – Faites pivoter de 90 degrés dans le sens antihoraire.
  • 3 – Tournez de 90 degrés dans le sens des aiguilles d’une montre et tournez verticalement.

Épilogue

FFmpeg est un outil de traitement vidéo très puissant. Avec son aide, avoir une feuille de triche sur ses capacités, vous pouvez gagner beaucoup de temps – il est beaucoup plus rapide d’entrer quelques commandes pour traiter une vidéo que de lancer un éditeur.

cguizelin

Fait revenir tes amis Facebook avec apposition des mains sur son clavier, fera tomber tes bonbons dans le bon ordre dans Candy-Crush, soigne les réseaux à distance grâce à son pouvoir wi-fi, corrige les fôtes d'ortograf dans tes tweets par MP, attirera les likes sur tes statuts les plus pourris, fait disparaitre les spams de ta boîte à lettres avec des incantations électroniques, etc...

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
()
x