J'aimerais faire pivoter la vidéo (mp4) de 180 degrés, mais pas la retourner. Est-il possible de le faire avec avconv?
Il est possible d’utiliser le filtre vidéo transpose
. Vous ne pouvez pas faire pivoter de 180 degrés, mais vous pouvez faire pivoter de 90 degrés et enchaîner le filtre.
avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv
Voir transpose
dans la page de manuel avconv
: http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html
Oui, mais vous devrez ajouter des options supplémentaires à votre commande pour que celle-ci fonctionne correctement. Transposer et vflip/hflip devraient suffire, mais si vous ne donnez pas plus de détails à avconv sur ce que vous voulez, vous obtiendrez probablement une sortie de très basse qualité, essayez:
avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4
Notez l'option -crf
. Cela définit la qualité de la sortie. Il va de 0 (sans perte) vers le haut de manière logarithmique. Vous voudrez probablement une valeur entre 19 et 25 dans la plupart des cas. -preset
définit la vitesse d'encodage, soit "lente", "moyenne" ou "rapide". Lent devrait vous réduire la taille des fichiers avec un compromis évident. Vous devez ajuster -codec:v
pour qu'il corresponde à l'original. Si vous ne définissez pas ces options, vous obtiendrez les valeurs par défaut, qui ne fonctionnent pas correctement lorsque vous basculez la vidéo sur iphone.
Une méthode supplémentaire avec avconv consiste à utiliser les filtres vflip et hflip. Devrait courir plus vite et peut-être de meilleure qualité:
avconv -i video.mp4 -vf vflip,hflip out.mp4
Pour avconv ou ffmpeg Moins de 14.04 ou plus tard
Quelques modifications ont été apportées à la documentation libav depuis la réponse de qualité @phoibos à cette question. Vous pouvez faire pivoter une vidéo de 180 degrés en évitant de la renverser entièrement en enchaînant 2 commandes à 90 degrés (séparées par une virgule).
avconv -i fichier_entrée -vf transpose = horloge, transpose = fichier de sortie d'horloge
pour la rotation dans le sens des aiguilles d'une montre.
dans ffmpeg, la syntaxe est la même.
ffmpeg -i fichier d'entrée -vf transpose = horloge, transpose = fichier de sortie d'horloge
où inputfile est votre fichier vidéo d'entrée pris en charge et outputfile, votre fichier de sortie souhaité.
Pour une rotation dans le sens inverse des aiguilles d'une montre, remplacez l'horloge par cclock
Sources:
https://libav.org/avconv.html#transpose
Test sur Ubuntu 14.04.5 et 16.04 LTS
J'ai fait ça:
avconv -i invertedOne.mp4 -c:a copy -vf "hflip,vflip" rightOne.mp4
Vidéo Full HD, d'excellents résultats avec une perte de qualité non perceptible