Question

Je suis à la recherche d'un moyen de tourner des vidéos filmées avec mon Nexus 4 sur ma Debian Wheezy sytem.Les vidéos sont prises en mode portrait et je voudrais les faire pivoter en mode paysage.De préférence, la rotation de commande en ligne.

J'ai trouvé plusieurs questions précédentes qui ne fasse allusion à une bonne solution mais je n'arrive pas à gérer pour le faire fonctionner.

Pour commencer, il y avait cette question:La rotation des vidéos avec FFmpeg

Mais il indique que ffmpeg est dépassée et que je devrais utiliser avconv.J'ai trouvé cette question en détaillant la manière d'aller de l'avant.https://askubuntu.com/questions/269429/how-can-i-rotate-video-by-180-degrees-with-avconv

Cela m'a fait à l'aide de la commande suivante:

avconv -i original.mp4 -vf "transpose=1" -codec:v libx264 -preset slow -crf 25 -codec:a copy flipped.mp4

Cependant, c'est très lente (dernier test m'a pris plus de 6 heures pour les moins de 3 minutes de séquences) et ne conduit pas à un film jouable.Je reçois aussi une erreur de sortie d'enregistrement dont les états Mo Taux > limite de niveau.

Est-il un problème avec le ré-encodage?Dois-je d'abord ré-encoder les vidéos à partir de mon téléphone à un autre, plus "réaliste" encoding avant d'appliquer les rotations?Ou ai-je raté un autre point important?

Était-ce utile?

La solution

Si vous souhaitez simplement modifier les métadonnées, de tels médias qui envisagent le drapeau jouent au fichier tourné, essayez quelque chose comme:

ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4

Comme trouvé ailleurs sur Stackoverflow .

Autres conseils

rotation= 0 corrigé mon problème.J'ai commencé à enregistrer une vidéo en mode portrait, j'ai réalisé mon erreur et transformer immédiatement mon téléphone au paysage pour continuer l'enregistrement.Mon iPhone avait marqué la vidéo comme portrait pour la totalité de la vidéo.

ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=0 output.mp4

corrigé.

FFmpeg et des programmes similaires modifier les métadonnées même avec l' -map_metadata option. exiftool peut lire la matrice de rotation et la rotation du pavillon, et depuis la version 10.89 aussi l'écrire comme décrit ci-dessous.

Pour obtenir de vrais lossless (incl.les métadonnées) de rotation, je ne pouvais pas trouver une solution, j'ai donc pris un éditeur hexadécimal (par exemple HxD) et l'analyse de la rotation des fichiers vidéo.

Vrai sans perte de rotation de la MP4:

  • ouvrez mp4 avec un éditeur hexadécimal et de recherche pour vide pour trouver les métadonnées de la vidéo
  • quelques lignes ci-dessus (pour mes fichiers surtout 9, parfois 12), vous devriez voir trak...\tkhd
  • entre les deux il devrait y avoir un @ signe (HEX 40)
  • dans les deux lignes avant de la matrice de rotation est stocké
  • pas de rotation:

    00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    40
    
  • 180°:

    FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    40
    
  • 90° cw:

    00 00 00 00 00 01 00 00 00 00 00 00 FF FF 00 00 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    40 
    
  • De 90° à gauche:

    00 00 00 00 FF FF 00 00 00 00 00 00 00 01 00 00 
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
    40
    

Modifier le fichier que vous en avez besoin, et il devrait être tourné dans les joueurs qui prennent en charge la rotation de l'indicateur (la plupart des joueurs actuels n').

Dans le cas où votre vidéo contient de l'audio stéréo, ce n'est évidemment pas changé, donc dans le cas où vous souhaitez que le son avec la vidéo de rotation (180°), vous devez changer les canaux gauche et droit.

Il y a plusieurs choses que vous avez évoqué dans votre question:

  1. Il n'y a presque aucune chance que vous serez en mesure capable de faire tourner sans réencodage.L'exception à cette règle (codec MJPEG) a déjà été souligné, mais il est peu probable que vous l'utilisez, il va au-delà de la portée de cette question.Je vais mentionner que la raison de cette capacité, c'est que JPEG peuvent être convertis à l'aide de métadonnées.Ainsi, si vous serez en mesure de trouver un conteneur qui a les métadonnées de rotation, vous serez en mesure de tourner, mais il n'en existe pas (ou sont dispersés assez) à ce jour.
  2. Si elle a pris votre heures à tourner et réencode 3 minutes de la vidéo, le problème peut s'allonger sur un énorme la résolution.Et je veux dire énorme!Pouvez vous s'il vous plaît fournir le résultat de la avprobe original.mp4 de sorte qu'il peut être établi.
  3. Libav contre FFmpeg débats sont très contre-productif (vous pouvez voir que par la quantité de fud posté ici déjà).En gros ce qui s'est passé était une scission du projet avec certains développeurs vont d'une façon et les autres d'une autre, le fait que le projet FFmpeg a réussi à garder le nom est juste un coup de chance et il n'a pas de sens d'appeler un projet original et un autre d'une fourchette.Les différences entre les projets sont pour la plupart dans le modèle de développement et sur la philosophie.Si vous caractérisent FFmpeg comme de plus en plus Open Source et Libav que plus de Logiciels Libres, vous pensez ne pas du tout être trompé.Rationnelle de l'espoir aux gens que, finalement, les développeurs vont revenir à la raison, et peut-être ne pas fusionner les projets, mais de coopérer pour la plus grande mesure.Quand Ubuntu est sorti à l'origine, sur chaque Debian GNU/Linux chat il y avait un énorme messages le long de la ligne de "Ubuntu n'est PAS Debian!!!!!!!", mais maintenant, la situation s'est calmée et les deux côtés sont très heureux avec l'un l'autre.

Cette réponse est simplement un résumé des commentaires fournis par Lordneckbeard.

rotation sans encodage

rotation sans recodage n'est pas possible à moins que:

  • Votre entrée est MJPEG
  • Vous faites pivoter lors de la lecture

Tournez avec le codage en utilisant le bon FFMPEG

Pour comprendre correctement les étapes nécessaires à cela, il faut commencer par lire ou au moins écrémer cette question:

Quelles sont les différences et les similitudes entre FFMPEG, LIBAV et AVCONV?

Résumé: AVCONV est une fourchette de FFMPEG, Debian Maintenisseur a choisi AVCONV, vous devez compiler le FFMPEG correct de la source.

La prochaine étape compilerait la bonne FFMPEG à partir de la source, comme indiqué ici:

Guide de compilation de FFMPEG pour Debian

L'étape finale utilise les commandes trouvées dans d'autres messages:

Comment retourner une vidéo 180 ° (verticalement / à l'envers) avec FFMPEG? ou alors vidéos rotatives avec FFMPEG

Résumé: FFMPEG -VFILTRES "ROTED= 90" -I INPUT.MP4 SORTIE.mp4

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top