Frage

Ich suche nach einer Möglichkeit, mit meinem Nexus 4 aufgenommene Videos auf meinem Debian Wheezy-System zu drehen.Die Videos werden im Hochformat aufgenommen und ich möchte sie gerne ins Querformat drehen.Vorzugsweise erfolgt die Rotation über die Befehlszeile.

Ich habe mehrere frühere Fragen gefunden, die auf eine gute Lösung hinweisen, aber ich schaffe es scheinbar nicht, sie zum Laufen zu bringen.

Am Anfang stand diese Frage:Videos mit FFmpeg drehen

Aber es zeigt an, dass ffmpeg veraltet ist und ich avconv verwenden sollte.Ich habe diese Frage gefunden, die detailliert beschreibt, wie es weitergehen soll.https://askubuntu.com/questions/269429/how-can-i-rotate-video-by-180-degrees-with-avconv

Dies brachte mich dazu, den folgenden Befehl zu verwenden:

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

Dies ist allerdings mühsam langsam (bei dem letzten Test habe ich mehr als 6 Stunden für weniger als 3 Minuten Filmmaterial gebraucht) und führt nicht zu einem abspielbaren Film.Ich erhalte auch eine Fehlermeldung in der Protokollausgabe, die besagt, dass die MB-Rate > Level-Grenze ist.

Gibt es hier ein Problem mit der Neucodierung?Sollte ich die Videos von meinem Telefon zunächst in eine andere, „praktikablere“ Kodierung umkodieren, bevor ich die Drehungen anwende?Oder übersehe ich einen weiteren wichtigen Punkt?

War es hilfreich?

Lösung

Wenn Sie nur die Metadaten ändern möchten, so dass Mediaplayer, die das Flagge in Betracht ziehen, die Datei gedreht sind, versuchen Sie, so etwas zu versuchen:

generasacodicetagpre.

Wie gefunden an anderer Stelle auf stapelflow .

Andere Tipps

rotation= 0 mein Problem behoben.Ich habe angefangen, Video im Hochformat aufzunehmen, meinen Fehler realisierte und verwandelte mein Handy sofort in die Landschaft, um die Aufnahme fortzusetzen.Mein iPhone hatte das Video als Porträt für das gesamte Video markiert.

generasacodicetagpre.

es behoben.

FFmpeg und ähnliche Programme Ändern Sie die Metadaten sogar mit dem -map_metadata Möglichkeit. exiftool kann die Rotationsmatrix und das Rotationsflag lesen und seit Version 10.89 auch wie unten beschrieben schreiben.

Um wirklich verlustfrei zu werden (inkl.Metadaten) Rotation konnte ich keine Lösung finden, also habe ich mir einen Hex-Editor geschnappt (z. B HxD) und analysierte die gedrehten Videodateien.

Echte verlustfreie Rotation von MP4:

  • Öffnen Sie MP4 mit dem Hex-Editor und suchen Sie nach vide um die Metadaten der Videospur zu finden
  • Einige Zeilen oben (bei meinen Dateien meist 9, manchmal 12) sollten Sie sehen trak...\tkhd
  • dazwischen sollte ein sein @ Zeichen (HEX 40)
  • in den beiden Zeilen davor wird die Rotationsmatrix gespeichert
  • keine 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° rechts:

    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 
    
  • 90° gegen den Uhrzeigersinn:

    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
    

Ändern Sie die Datei nach Bedarf und sie sollte in Playern gedreht werden, die das Rotationsflag unterstützen (die meisten aktuellen Player tun dies).

Falls Ihr Video Stereoton enthält, ist dieser offensichtlich nicht umgeschaltet. Wenn Sie also möchten, dass der Ton mit der Videodrehung (180°) übereinstimmt, müssen Sie den linken und rechten Kanal umschalten.

In Ihrer Frage haben Sie mehrere Dinge angesprochen:

  1. Es besteht fast keine Chance, dass Sie ohne Neucodierung rotieren können.Auf die Ausnahme von dieser Regel (MJPEG-Codec) wurde bereits hingewiesen, es ist jedoch unwahrscheinlich, dass Sie sie verwenden, sodass sie den Rahmen dieser Frage sprengt.Ich möchte erwähnen, dass der Grund für diese Fähigkeit darin besteht, dass JPEG über Metadaten konvertiert werden kann.Wenn Sie also in der Lage sind, einen Container zu finden, der über die Metadatenrotation verfügt, können Sie zwar rotieren, aber bisher existiert keiner (oder ist weit genug verbreitet).
  2. Wenn es Stunden gedauert hat, 3 Minuten des Videos zu drehen und neu zu kodieren, dann kann das Problem an einem liegen enorm Auflösung.Und ich meine riesig!Können Sie bitte die Ausgabe von bereitstellen avprobe original.mp4 damit es festgestellt werden kann.
  3. Debatten zwischen Libav und FFmpeg sind sehr kontraproduktiv (das sieht man schon an der Menge der hier geposteten Fanartikel).Im Grunde genommen ist es zu einer Spaltung des Projekts gekommen, bei der einige Entwickler in die eine oder andere Richtung gegangen sind. Die Tatsache, dass es dem FFmpeg-Projekt gelungen ist, den Namen beizubehalten, ist nur ein Zufall und es macht keinen Sinn, ein Projekt als Original und ein anderes als Fork zu bezeichnen.Die Unterschiede zwischen den Projekten liegen hauptsächlich im Entwicklungsstil und in der Philosophie.Wenn Sie FFmpeg eher als Open Source und Libav eher als freie Software bezeichnen würden, würden Sie sich nicht allzu sehr irren.Vernünftige Menschen hoffen, dass die Entwickler irgendwann zur Besinnung kommen und die Projekte vielleicht nicht zusammenführen, sondern in größerem Umfang zusammenarbeiten.Als Ubuntu ursprünglich herauskam, gab es in jedem Debian GNU/Linux-Chat riesige Nachrichten wie „Ubuntu ist NICHT Debian!!!!!!“, aber jetzt hat sich die Situation beruhigt und beide Seiten sind mit einem ziemlich zufrieden ein anderer.

Diese Antwort ist einfach eine Zusammenfassung der Kommentare von LordneckBeard.

rotierend ohne Codierung

rotierend ohne Neukodierung ist nicht möglich, es sei denn:

  • Ihre Eingabe ist MJPEG
  • Sie drehen sich nach der Wiedergabe

mit der Codierung mit dem richtigen FFMPEG

drehen

Um die dafür erforderlichen Schritte richtig zu verstehen, sollte man mit dem Lesen oder zumindest dieses Frage anfangen:

Was sind die Unterschiede und Ähnlichkeiten zwischen FFMPEG, Libav und AVCONV?

Summary: AVCONV ist eine Gabel von FFMPEG, der Debian-Betreuer gewählt AVCONV, Sie müssen den richtigen FFMPEG aus der Quelle kompilieren.

Der nächste Schritt würde den korrekten FFMPEG aus der Quelle zusammenstellen, wie hier beschrieben ist:

Compilation Guide von ffmpeg für debian

Der letzte Schritt verwendet die Befehle in anderen Beiträgen:

Wie man ein Video um 180 ° (vertikal / auf dem Kopf stehend) mit ffmpeg dreht? oder Drehen von Videos mit ffmpeg

Zusammenfassung: ffmpeg -vfilters "rotate= 90" -I input.mp4 output.mp4

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top