GNU/Linux >> Tutoriels Linux >  >> Linux

Comment faire pivoter des vidéos à l'aide de FFMpeg à partir de la ligne de commande

Aujourd'hui, j'ai décidé de joindre les vidéos prises à partir de mon smartphone et de créer un seul fichier de type film avec audio. Mais le fait est que certaines vidéos sont tournées en mode portrait et d'autres en mode paysage. Avant de joindre les fichiers, j'ai pensé qu'il serait préférable d'aligner tous les fichiers vidéo dans la même orientation (c'est-à-dire le mode). Bien sûr, il existe de nombreux outils et lecteurs multimédias basés sur une interface graphique, tels que Smplayer, VLC, dotés d'une fonction intégrée pour faire pivoter les vidéos. Mais je préfère un utilitaire en ligne de commande. Je sais utiliser FFMpeg pour effectuer diverses opérations telles que la conversion de fichiers dans un autre format, le recadrage, le fractionnement et la jonction de fichiers, etc. J'ai déjà compilé les commandes FFMpeg les plus couramment utilisées pour les débutants et je les ai publiées dans ce guide . Cependant, je ne sais pas comment faire pivoter des vidéos à l'aide de FFMpeg jusqu'à aujourd'hui. Si vous avez déjà voulu faire pivoter des vidéos à l'aide de FFMpeg, suivez les étapes ci-dessous.

Assurez-vous que la dernière version de FFMpeg est installée sur votre système. FFMpeg est disponible dans les référentiels par défaut de nombreux systèmes d'exploitation Linux populaires, donc l'installation ne sera pas un gros problème. Si vous n'avez pas installé FFMpeg sur votre machine Linux, reportez-vous au guide suivant.

  • Comment installer FFMpeg sur Linux

Faire pivoter des vidéos à l'aide de FFMpeg à partir de la ligne de commande

FFMpeg a une fonctionnalité appelée "Transpose" qui est utilisé pour faire pivoter les vidéos. Grâce à cette fonctionnalité, nous pouvons facilement faire pivoter les vidéos dans le sens des aiguilles d'une montre et dans le sens inverse des aiguilles d'une montre, ainsi que les retourner verticalement et horizontalement.

Par exemple, la commande suivante fera pivoter la vidéo donnée de 90 degrés dans le sens des aiguilles d'une montre :

$ ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

Ou utilisez cette commande :

$ ffmpeg -i input.mp4 -vf "transpose=clock" output.mp4

Ici, transpose=1 Le paramètre indique à FFMpeg de transpositionner la vidéo donnée de 90 degrés dans le sens des aiguilles d'une montre. Voici la liste des paramètres disponibles pour la fonction de transposition.

  • 0 - Faites pivoter de 90 degrés dans le sens inverse des aiguilles d'une montre et retournez verticalement. C'est la valeur par défaut .
  • 1 - Rotation de 90 degrés dans le sens des aiguilles d'une montre.
  • 2 - Rotation de 90 degrés dans le sens antihoraire.
  • 3 - Faites pivoter de 90 degrés dans le sens des aiguilles d'une montre et retournez verticalement.

Pour faire pivoter les vidéos de 180 degrés dans le sens des aiguilles d'une montre, vous devez mentionner le paramètre de transposition deux fois comme ci-dessous.

$ ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" output.mp4

Les commandes ci-dessus ré-encoderont les parties audio et vidéo du fichier vidéo donné. Si vous ne souhaitez pas réencoder la vidéo et modifier la rotation dans les métadonnées uniquement, utilisez plutôt cette commande :

$ ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4

Mieux encore, vous pouvez copier toutes les métadonnées globales (telles que la date, les détails de la caméra) du fichier d'entrée dans le fichier de sortie comme ci-dessous.

$ ffmpeg -i input.mp4 -map_metadata 0 -metadata:s:v rotate="90" -codec copy output.mp4

Veuillez noter que cela ne fonctionne pas dans certains lecteurs qui ne peuvent pas gérer les métadonnées de rotation. J'ai changé l'orientation de la vidéo dans les métadonnées uniquement et je l'ai lue dans Smplayer. Mais il a continué à lire la vidéo dans l'orientation précédente. Mais cela a fonctionné dans le lecteur multimédia Gnome ! Je ne sais pas pourquoi. Ainsi, si l'orientation de la vidéo ne fonctionne pas, vous devrez peut-être la ré-encoder comme indiqué dans la première commande.

Suggestion de lecture :

  • Comment afficher les métadonnées d'image sous Linux

Linux
  1. Comment créer des packages à partir de la source à l'aide de CheckInstall

  2. Comment mettre à niveau Fedora 34 à partir de Fedora 33 en utilisant DNF

  3. Comment créer des vidéos par programmation ?

  4. Comment extraire la durée de la sortie ffmpeg?

  5. Comment convertir des vidéos m4v et wmv au format mp4 en utilisant ffmpeg ?

Comment effectuer une recherche Google à partir de la ligne de commande à l'aide de Googler

Comment afficher l'utilisation du processeur à partir de la ligne de commande

Comment trouver la version de Virtualbox à partir de la ligne de commande sous Linux

Comment vérifier si l'interface graphique est installée sous Linux à partir de la ligne de commande

Comment zoomer et dézoomer des vidéos à l'aide de FFmpeg

Comment mettre à niveau de 12.04 à 12.10 à l'aide d'un CD ?