Rotation d’une vidéo par tous les moyens

Pour faire tourner une vidéo de 90° par exemple, il existe plusieurs moyens. Voyons comment faire avec ffmpeg, mencoder et AviSynth.

Certes, la fonction « rotate 90° » ou « left/right rotation » existe dans Live Movie Maker et d’autres éditeurs de vidéo linéaires, mais mon vieux Q6600 n’est malheureusement pas assez puissant pour faire tourner ce jouet. En plus, la plupart de ces éditeurs sont limités par rapport au nombre de formats qu’ils peuvent gérer. Ne leur parlez de vidéos en 1080p: soit ils sont aux abonnés absents, soit ils mettront à genoux votre PC flambant neuf malgré son système Water Cooling 🙂

Voyons comment faire avec 3 outils :

Exemple de vidéo

Pour les besoins d’un post sur une nouvelle fonctionnalité de Microsoft ICE (créer une image panoramique à partir d’une vidéo), j’ai tourné une vidéo avec mon appareil photo. La vidéo étant en mode portrait et je me suis posé la question de savoir comment la tourner de 90° :

rotation_video_90

Exemple de rotation de vidéo à 90°

Conversion

Dans tous les exemples de la suite de l’article :

  • La vidéo de départ sera MOV04141.MPG
  • La vidéo de résultat sera rotate.avi

Avec ffmpeg

Une version récente de ffmpeg acceptera le paramètre -vf "transpose=1". L’argument –vf est pour video filter et transpose=1 pour le nombre de rotations de 90° dans le sens horaire. Le paramètre -i signifie input et le dernier fichier est la vidéo de résultat :

ffmpeg -vf "transpose=1" -sameq -i MOV04141.MPG rotate.avi

Rapide comme mencoder

L’utilitaire le plus rapide de ce test est sans conteste mencoder. Cet outil pas très connu devrait avoir plus de promotion sur l’Internet. L’argument –vf est pour video filter et rotate=1 pour le nombre de rotation de 90° dans le sens horaire. -oac signifie audio ouput que je copie (copy) telle quelle. -ovc signifie video ouput que je transforme en utilisant la librairie « libavcodecs » (faire mencoder -ovc help pour la liste des possibilités) :

mencoder -vf rotate=1 -o rotate.avi -oac copy -ovc lavc MOV04141.MPG

Mencoder a cependant un défaut, c’est que certaines vidéos qu’il produit ne sont pas lisibles dans Windows Media Player.

Avec un script AviSynth

Comme expliqué dans ce post, AviSynth ne créera pas directement le fichier vidéo « rotate.avi », il faudra passer par un logiciel intermédiaire pour cela. Rien de bien sorcier dans cet exemple de script :

  1. Import de la vidéo via un filtre Direct Show.
  2. Rotation de la vidéo importée (dans la variable clip) à droite.

clip = DirectShowSource("MOV04141.MPG")

TurnRight(clip)

Comme d’habitude, j’espère que ce billet vous donnera un point de départ pour plein d’autres idées !

Une réflexion au sujet de « Rotation d’une vidéo par tous les moyens »

  1. Arnaud

    Le batch pour ffmpeg ne fonctionne plus (l’option -sameq n’existe plus).
    Chez moi ce script fonctionne:

    ffmpeg -i MOVIE.mp4 -vf « transpose=1 » ROTATE.avi

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *