web-dev-qa-db-fra.com

Comment faire pivoter la vidéo de 180 degrés avec avconv

J'aimerais faire pivoter la vidéo (mp4) de 180 degrés, mais pas la retourner. Est-il possible de le faire avec avconv?

24
sobi

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

31
phoibos

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.

15
lunchboxer

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
6
wcarlson

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

1
Elder Geek

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

1
jap1968