Outils pour utilisateurs

Outils du site


rotation_d_une_video_par_les_metadonnees

Rotation d'une vidéo par les métadonnées

Cas d'utilisation

La vidéo a été filmée en mode portrait, mais elle est jouée en mode paysage, avec une rotation de + ou - 90°. C'est par exemple le cas de la caméra Crosstour CT9900 qui ne détecte pas l'orientation de l'appareil1) lors de la prise de vue.

Solution

La solution n'est pas d'appliquer une rotation2) aux images enregistrées. Cela dégrade l'image, consomme du cpu, de l'énergie et du temps.

Il suffit d'injecter dans les méta-données du fichier l'information manquante. Par exemple :

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

Dans ce cas, on indique que la vidéo a été enregistrée avec une rotation horaire de 90°3) :

  • l'action est instantanée,
  • les données vidéo ne sont pas altérées puisqu'elles sont copiées telles quelles, sans réencodage (-codec copy).

Si elle a été enregistrée avec une rotation anti-horaire (trigonométrique) de 90°, on indiquera “rotate=-90”.

Source : Single Command to Rotate a Video in Ubuntu Linux

Utilisation de la vidéo

La vidéo ainsi renseignée est utilisable en simple lecture mais également pour faire du montage virtuel.

Dans l'exemple du cas d'utilisation mentionné en introduction, le simple ajout du fichier renseigné aux clips d'un projet Kdenlive, fera apparaître la vidéo au format portrait, aussi bien dans le moniteur de clip que dans le moniteur de rendu du projet, sans avoir à lui appliquer aucune transformation.

1)
Ce problème n'apparaît généralement pas sur les smartphones mais peut apparaître sur certains appareils photo.
2)
De nombreux tutoriels proposent d'utiliser la commande transpose fournie par la bibliothèque ffmpeg, sans se poser de question…:-?
3)
Cela signifie que la rotation inverse (-90°) doit être appliquée à la lecture
rotation_d_une_video_par_les_metadonnees.txt · Dernière modification : 2023/07/18 00:13 de 127.0.0.1