cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Les smartphones récents prennent en compte la rotation de l’appareil, pour faire cela il y a deux solutions, l’une est assez complexe puisque cela à tourner tous les pixels de l’image, lors consiste tout simplement à modifier les métadonnées en indiquant l’angle de rotation.

Le format MP4 permet, comme le format JPEG, d’ajouter des métadonnées et en particulier une d’entre elle permet de gérer l’angle.

On trouve cette fonctionnalité dans les logiciels de traitement des photos sous le nom de « rotation sans perte ».



Problématique

Le problème avec cette option est qu’elle se base sur la position du smartphone lors du démarrage du film, et si pour une raison ou une autre vous effectuer une rotation du téléphone, la suite du film ne sera pas orienté correctement.

Certain logiciels vidéo permettent de voir les métadonnées, par exemple VLC. Notez que VLC permet également de retourner la vidéo, mais si vous souhaitez sauvegarder la vidéo avec la nouvelle rotation vous serez confrontés à des choix quant au format de sauvegarde.

Ce que l’on cherche à faire ici, c’est obtenir une copie de la vidéo d’origine avec le moins de perte possible, dans le but d’application d’autres traitements ultérieurs (montage, ré-encodage…) avec une base la plus proche de l’original possible.



La solution à l’aide de « ffmpeg »

ffmpeg est un convertisseur de vidéo de référence, et est très souvent embarqué avec les outils de traitement vidéo ayant une interface graphique. Notez qu’il est disponible sous presque toutes les plateformes informatiques.

Ici nous l’utiliseront en ligne de commande pour être certain de ne modifier que les métadonnées.

L’option -metadata permet de modifier cela, la syntaxe générale est la suivante :

-metadata[:metadata_specifier] key=value (output,per-metadata)

Et plus précisément la métadonnée que nous souhaitons modifier se fait au niveau du flux complet (« stream » en anglais) qui se note comme suit : -metadata:s:v.

La métadonnée a modifié s’appelle rotate et vous pouvez utiliser les valeurs suivantes : 0, 90, 180 et 270.

Concrètement pour retirer une rotation non souhaiter vous pouvez essayer :

ffmpeg -i original.mp4 -metadata:s:v rotate=0 -vcodec copy -acodec copy original-rotate-0.mp4

Pour forcer une rotation :

ffmpeg -i original.mp4 -metadata:s:v rotate=90 -vcodec copy -acodec copy original-rotate-90.mp4


ᦿ


ℹ 2006 - 2023 | 🏠 Accueil du domaine | 🏡 Accueil du blog