Table des matières

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) :

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 lecture4) 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.

Rotation à la volée

Dans Kdenlive, Shotcut et d'autres éditeurs, on peut directement utiliser des sources qui n'ont pas l'orientation voulue. Pour ce faire on agit sur les préférences des sources plutôt que d'utiliser un filtre. Le principe est de redresser les vidéos avant de les insérer dans une piste de montage.

Sous Kdenlive, on affiche les propriétés de la source. Dans l'onglet “Propriétés” on sélectionne la rotation voulue en déroulant le menu qui se trouve à droite de la case à cocher “Désactiver la rotation automatique”.

Source : How to Rotate a Video in Kdenlive - The RIGHT Way

Il faudrait s'assurer que Kdenlive ne ré-encode pas la vidéo. Les délais de redressement des vidéos laissent à penser qu'il ne ré-encode pas. Autre indice favorable, Kdenlive différencie cette propriété d'orientation du filtre rotation (qui lui ré-encode).
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
4)
Sur un lecteur qui reconnaît les méta-données, comme VLC.