it-swarm.com.de

Der schnellste Weg zum Konvertieren von Videos (Batch oder Single)?

Ich weiß, dass es hier viele Fragen zu Video-Encodern gibt, aber meine Frage bezieht sich eher auf Workflow/Effizienz.

Für meine tägliche Arbeit muss ich häufig Videos aus vielen zufälligen Formaten konvertieren (normalerweise groß AVI , M4V und was nicht) und sie konvertieren und komprimieren in effiziente Dateien, die wir zum Hochladen im Internet verwenden können. Formate, die ich erstellen muss, sind:

Ich muss gemeinsame Vorlagen für einige Anwendungsfälle erstellen (in dieselbe wie die Quelle konvertieren, 1080p oder 720p ) und diese schnell verarbeiten und in die Warteschlange stellen .

Irgendwelche Ideen, wie man diesen Prozess in Ubuntu am besten durchführt?

26
Garrett

Wenn Sie die Befehlszeile bevorzugen, können Sie ffmpeg (oder handbrake-cli) verwenden.

MP4

Angenommen, Sie verwenden eine neuere Version von ffmpeg:

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf: Qualität. Der Bereich ist logarithmisch 0 (verlustfrei) bis 51 (schlechteste Qualität). Die Standardeinstellung ist 23. Der subjektive gesunde Bereich liegt zwischen ~ 18 und 28 oder so. Verwenden Sie den höchsten Wert, der Ihnen noch eine akzeptable Qualität bietet. Wenn Sie unpraktisch große Eingaben neu codieren, um sie auf YouTube oder ähnliches hochzuladen, versuchen Sie einen Wert von 17 oder 18, da diese Videodienste ohnehin neu codieren.

  • -preset: Kodierungsgeschwindigkeit. Eine langsamere Voreinstellung bietet eine bessere Komprimierung (Qualität pro Dateigröße), ist jedoch langsamer. Verwenden Sie das Langsamste, für das Sie Geduld haben: ultraschnell, superschnell, sehr schnell, schnell, mittel (die Standardeinstellung), langsam, langsamer, sehr langsam.

  • -movflags +faststart: Ermöglicht die Wiedergabe von Videos, bevor sie beim progressiven Download vollständig heruntergeladen wurden. Nützlich, wenn Sie das Video hosten, ansonsten überflüssig, wenn Sie es auf einen Videodienst wie YouTube hochladen.

  • -vf scale=-2:720,format=yuv420p: A Filtergraph mit Skala und Format Videofiltern. Skalieren Sie auf eine Höhe von 720 Pixel und wählen Sie automatisch eine Breite, die das Seitenverhältnis beibehält. Stellen Sie dann sicher, dass das Pixelformat mit dummen Playern kompatibel ist.

  • -b:a 128k: Audio-Bitrate. Wenn Ihr ffmpeg veraltet ist, müssen Sie -strict experimental hinzufügen, um -c:a aac zu verwenden.

MOV

Da Ihre MOV- und MP4-Dateien wahrscheinlich dieselben Video- und Audioformate enthalten, können Sie MP4 codieren und den MOV durch erneutes Muxen (mit Stream-Kopie -Modus) anstelle einer erneuten Codierung erstellen:

ffmpeg -i input.mp4 -codec copy output.mov

WMV

FFmpeg unterstützt nur WMV 7 und 8. Mir ist kein Open-Source-Encoder für Version 9 bekannt.

$ ffmpeg -encoders | grep -i windows
[...]
 V..... = Video
 A..... = Audio
 ------
 V..... wmv1                 Windows Media Video 7
 V..... wmv2                 Windows Media Video 8
 A..... wmav1                Windows Media Audio 1
 A..... wmav2                Windows Media Audio 2

Da ich mit diesen Encodern nicht vertraut bin, kann ich nur ein ungetestetes Beispiel geben:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

Ffmpeg bekommen

Sie können ein Linux-Build von ffmpeg herunterladen oder eine Schritt-für-Schritt-Anleitung ffmpeg-Kompilierungsanleitung befolgen, um Ihr Build anzupassen.

Verwenden einer Bash "for-Schleife" zum Ausführen einer Stapelcodierung

So kodieren Sie alle Videos in einem Verzeichnis:

$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
  "encoded/${f%.avi}.mp4"; done

Siehe auch

52
llogan

Versuchen Sie Handbremse .

HandBrake ist ein Tool zum Konvertieren von Videos aus nahezu jedem Format in eine Auswahl moderner, weit verbreiteter Codecs. Zum Installieren drücken Sie einfach Ctrl+Alt+T auf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen die folgenden Befehle aus:

Sudo add-apt-repository ppa:stebbins/handbrake-releases
Sudo apt-get update
Sudo apt-get install handbrake
5
Mitch