Faire pivoter un fichier vidéo de 90 degrés à l'aide d'Ubuntu


19

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?


J'ai trouvé que ffmpeg était capable de le faire. Voir, par exemple, les forums Ubuntu: faire pivoter la vidéo de 90 degrés
Simon

Réponses:


9

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 ...

texte alternatif

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. :)


13
je peux voir la vidéo pivotée, mais comment faire pour que le changement persiste
justinhj


17

Depuis la ligne de commande, avec ffmpeg:

ffmpeg -i input.3gp -filter:v transpose=1 \
-c:v libx264 -preset veryfast -crf 22 \
-c:a copy \
-metadata:s:v rotate="" \
output.3gp
  • transpose=1fera 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, utilisez transpose=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, il ffmpegsera 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 .


Cela répond mieux à la question car il explique comment le faire à partir de la ligne de commande avec ffmpeg, comme spécifié dans la question d'origine. Je pense que cette réponse devrait être marquée comme correcte. Depuis mai 2017 sur Fedora 25, cela fonctionne toujours, même s'il s'agit d'un message de dépréciation pour le codec MP4.
Justin W. Flory

4

Avidemux devrait être en mesure de le faire.

Faites Video->Filters->Rotate(x degrees)->ClosealorsFile->Save->Save Video


2

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 avconvavec essentiellement les mêmes options de ligne de commande comme pour le ffmpegdans la réponse de evilsoup . Apparemment, il ne prend pas en charge une transposeoption de rotation à 180 degrés, j'ai donc fait le 90 degrés dans le sens horaire (c'est-à-dire transpose=1) deux fois.

Quand j'ai essayé des options minimales, j'ai reçu un message à l'effet que:

encoder 'aac' is experimental and might produce bad results.

Add '-strict experimental' if you want to use it.

et le fichier de sortie était de longueur nulle, j'ai donc ajouté le -strict experimental.

Les lignes de commande qui ont fonctionné étaient:

avconv -i IMG_orignl.MOV -filter:v 'transpose=1' -strict experimental IMG_interm.MOV
avconv -i IMG_interm.MOV -filter:v 'transpose=1' -strict experimental IMG_result.MOV

Le résultat a été satisfaisant, avec des effets secondaires inexpliqués:

  1. Le fichier intermédiaire était plus petit que l'original de ~ 14%.
  2. Le fichier de résultats était plus petit qu'intermédiaire de ~ 18% et plus petit que l'original de près de 30%.
  3. Le fichier de résultat affiche une miniature, tandis que l'original et l'intermédiaire montrent une icône simplement générique.

Je ne me plains pas: ce sont souhaitables; Je ne comprends tout simplement pas pourquoi ils sont survenus ...


Bienvenue dans Super User. (1) Bien que certaines informations générales dans votre réponse puissent être utiles, il est préférable de vous concentrer sur votre solution au problème. J'ai édité votre réponse pour l'illustrer; n'hésitez pas à le modifier davantage si vous pensez que j'ai trop changé. (2) L'ordre d'affichage des réponses peut varier; il est préférable d'identifier explicitement les autres réponses plutôt que de dire «ci-dessus». (2½) J'espère que vous avez présenté vos avconvlignes de commande dans leur intégralité, et pas seulement les différences par rapport à la ffmpegcommande. Votre réponse doit être autosuffisante; l'autre réponse pourrait disparaître. (3) Bonne chance!
G-Man dit `` Réintègre Monica '' le

De plus, je suppose que lorsque vous dites «le résultat était satisfaisant», vous voulez dire que votre fichier «résultat» était aussi bon que le fichier d'origine. Vous voudrez peut-être ( modifier votre message pour) le dire explicitement. (De telles informations - c'est-à-dire si vous avez perdu la qualité vidéo visible à l'œil) sont importantes pour votre réponse, et ne devraient pas être cachées dans un commentaire.) Aussi, je parie que vous pouvez laisser de côté les citations et dire juste -filter:v transpose=1 ….
G-Man dit «Réinstalle Monica» le

2

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 ffmpeget avconven 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

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:

‘cclock_flip’

    Rotate by 90 degrees counterclockwise and vertically flip. (default)
‘clock’

    Rotate by 90 degrees clockwise.
‘cclock’

    Rotate by 90 degrees counterclockwise.
‘clock_flip’

    Rotate by 90 degrees clockwise and vertically flip. 

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


1
Merci pour les paramètres minimaux. ffmpega travaillé pour moi (n'a pas essayé avconv)
Amil Waduwawara

Excellent! oui, de nombreux messages sur ffmpefincluent beaucoup d'arguments inutiles, merci!
Mariano Ruiz

@MarianoRuiz Je suis content que cela vous ait aidé. ffmpeg est toujours en développement, donc avec le temps les choses changent. Il n'est pas surprenant qu'il existe des méthodes plus faciles que certaines des réponses plus anciennes. À votre santé!
Elder Geek
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.