Réponses:
C'est possible en utilisant le transpose
filtre vidéo. 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 avconv
page de manuel:
http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html
Oui, mais vous devrez ajouter des options supplémentaires à votre commande pour qu'elle fonctionne correctement. Transpose et vflip / hflip devraient faire l'affaire, mais si vous ne donnez pas plus de détails à avconv sur ce que vous voulez, vous obtiendrez probablement une sortie de très faible qualité:
avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4
Remarquez l' -crf
option. Cela définit la qualité de sortie. Il va de 0 (sans perte) vers le haut de façon logarithmique. Vous voudrez probablement une valeur comprise entre 19 et 25 dans la plupart des cas. -preset
définit la vitesse de l'encodage, "lente", "moyenne" ou "rapide". La lenteur devrait vous permettre de réduire la taille des fichiers avec un compromis évident. Vous devez ajuster -codec:v
pour correspondre à l'original. Si vous ne définissez pas ces options, vous obtiendrez les valeurs par défaut, qui ne fonctionnent pas bien lorsque vous retournez la vidéo de l'iphone.
Unrecognized option 'preset' Failed to set value 'slow' for option 'preset'
C'est ce que j'ai eu
Unknown encoder 'libx264'
apt-get install libavcodec-extra-53
résolu
La méthode supplémentaire avec avconv consiste à utiliser les filtres vflip et hflip. Devrait fonctionner plus rapidement et peut-être une meilleure qualité:
avconv -i video.mp4 -vf vflip,hflip out.mp4
Pour avconv ou ffmpeg Sous 14.04 ou version ultérieure
Il y a eu quelques changements dans la documentation libav depuis la réponse de qualité @phoibos à cette question. Vous pouvez faire pivoter une vidéo à 180 degrés en évitant de la retourner entièrement en enchaînant 2 commandes à 90 degrés ensemble (séparées par une virgule) .J'ai accompli cela avec la commande
avconv -i fichier d'entrée -vf transpose = horloge, transpose = horloge fichier de sortie
pour une rotation dans le sens horaire.
dans ffmpeg, la syntaxe est la même.
ffmpeg -i fichier d'entrée -vf transpose = horloge, transpose = horloge fichier de sortie
où fichier d'entrée est votre fichier vidéo d'entrée pris en charge et fichier de sortie est votre fichier de sortie souhaité.
Pour une rotation dans le sens antihoraire, remplacez l'horloge par cclock
Sources:
https://libav.org/avconv.html#transpose
Test sur Ubuntu 14.04.5 et 16.04 LTS
-c:a
copie à la commande (juste avant le nom du fichier de sortie). J'ai également constaté que la deuxième version était de qualité indiscernable, mais environ 50% plus rapide que la version de traduction en chaîne.