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 bei ~ 18-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
: Codierungsgeschwindigkeit. 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 diese beim progressiven Herunterladen 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
: Ein Filtergraph , der Videofilter skaliert und formatiert . 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
Konto veraltet ist, müssen Sie es -strict experimental
zur Verwendung hinzufügen -c:a aac
.
MOV
Da Ihre MOV- und MP4-Dateien wahrscheinlich die gleichen Video- und Audioformate enthalten, können Sie MP4 codieren und den MOV durch erneutes Muxen (mit Stream -Kopiermodus ) erstellen, anstatt ihn erneut zu codieren:
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 einen Linux-Build von ffmpeg herunterladen oder eine schrittweise Anleitung zur Kompilierung von ffmpeg befolgen , um Ihren 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