Je veux utiliser Ubuntu et de préférence des packages standard tels que ffmpeg pour faire pivoter un fichier vidéo .3gp de 90 degrés dans n'importe quelle direction. De préférence une ligne de commande ou un script Python.
Comment puis je faire ça?
ubuntu
command-line
ffmpeg
video-editing
justinhj
la source
la source
Réponses:
en utilisant VLC , vous pouvez faire pivoter la vidéo en allant dans Outils >> Préférences ...
Et sélectionnez "Tous" pour afficher les paramètres. Ensuite, allez dans: Vidéo >> Filtres >> Rotation
Après avoir défini le degré souhaité, vous pouvez faire pivoter en allant dans Outils> Effets et filtres> Effets vidéo> Géométrie ...
celui que j'ai testé est mp4 mais je crois que VLC peut également prendre en charge 3gp. J'espère que cela t'aides. :)
la source
Depuis la ligne de commande, avec ffmpeg:
transpose=1
fera pivoter la vidéo de 90 degrés dans le sens des aiguilles d'une montre; pour tourner dans le sens inverse des aiguilles d'une montre, utiliseztranspose=2
. Voir la documentation de transposition pour un peu plus d'informations.-metadata:s:v rotate=""
supprimera toutes les métadonnées de rotation de flux vidéo existantes; sinon, ilffmpeg
sera copié, ce qui pourrait amener votre lecteur à appliquer une rotation supplémentaire indésirable.Pour plus d'informations sur les paramètres de codage vidéo ici, consultez ce guide de codage H.264 et le guide de codage AAC si vous souhaitez réencoder le son au lieu de copier le flux .
la source
Avidemux devrait être en mesure de le faire.
Faites
Video->Filters->Rotate(x degrees)->Close
alorsFile->Save->Save Video
la source
J'ai résolu un problème similaire - j'avais un .MOV pris à l'envers (c'est-à-dire tourné à 180 degrés) que je voulais régler correctement.
Sur mon système Ubuntu 14.04, je courais
avconv
avec essentiellement les mêmes options de ligne de commande comme pour leffmpeg
dans la réponse de evilsoup . Apparemment, il ne prend pas en charge unetranspose
option de rotation à 180 degrés, j'ai donc fait le 90 degrés dans le sens horaire (c'est-à-diretranspose=1
) deux fois.Quand j'ai essayé des options minimales, j'ai reçu un message à l'effet que:
et le fichier de sortie était de longueur nulle, j'ai donc ajouté le
-strict experimental
.Les lignes de commande qui ont fonctionné étaient:
Le résultat a été satisfaisant, avec des effets secondaires inexpliqués:
Je ne me plains pas: ce sont souhaitables; Je ne comprends tout simplement pas pourquoi ils sont survenus ...
la source
avconv
lignes de commande dans leur intégralité, et pas seulement les différences par rapport à laffmpeg
commande. Votre réponse doit être autosuffisante; l'autre réponse pourrait disparaître. (3) Bonne chance!-filter:v transpose=1 …
.Il y a eu quelques changements dans libav depuis le temps où cette question a été répondue à l'origine. Dans une tentative de garder ce courant et utile, je fournirai ce qui suit:
Vous pouvez accomplir cela avec des versions récentes de
ffmpeg
etavconv
en utilisant le filtre vidéo de transposition.avconv -i inputfile -vf transpose=clock outputfile
pour une rotation dans le sens horaire.
dans ffmpeg, la syntaxe est la même.
ffmpeg -i inputfile -vf transpose=clock outputfile
où inputfile est votre fichier vidéo d'entrée pris en charge et outputfile est votre fichier de sortie souhaité.
Pour une rotation dans le sens antihoraire, remplacez l' horloge par cclock
Voici un extrait de la documentation:
Sources:
https://libav.org/avconv.html#transpose
https://ffmpeg.org/ffmpeg-filters.html#transpose-1
Test sur Ubuntu 14.04.5 LTS, Ubuntu 16.04, Ubuntu 18.04
la source
ffmpeg
a travaillé pour moi (n'a pas essayéavconv
)ffmpef
incluent beaucoup d'arguments inutiles, merci!