Skip to content

Dateigröße von Video in Ubuntu reduzieren?

Lösung:

Um die Größe Ihres mp4 zu reduzieren, haben Sie mit FFmpeg zwei gute Möglichkeiten:

  1. Experimentieren Sie mit den Einstellungen für den konstanten Ratenfaktor (CRF), um eine Übereinstimmung zwischen der Videoausgabegröße und der Videoqualität zu finden
  2. Experimentieren Sie mit der eingestellten Bitrate Ihrer Wahl und verwenden Sie eine 2-Pass-Kodierung.

Details zu beiden unten:

1. Ändern Sie die Größe mit der Option Constant Rate Factor (CRF) von FFmpeg:

In FFmpeg variieren die CRF-Einstellungen von 0-51, wobei 0 verlustfrei und 51 eine erschreckend schlechte Qualität ist. Der Standardwert ist 23 und Sie müssen den "Sweet Spot" für Ihr bestimmtes Video mit Dateigröße finden und Videoqualität mit etwas Experimentieren.

Eine Beispiel-Befehlszeile wäre:

ffmpeg -i input.mp4 
       -c:v libx264 -preset slow -crf 22 
       -c:a copy 
       output.mp4

Beachten Sie, dass das Video in dieser Befehlszeile neu kodiert und der Ton ist einfach kopiert über. Dinge, die man beachten muss:

  1. Wenn die Größe immer noch zu groß ist und die Videoqualität noch akzeptabel ist, würden Sie es versuchen -crf 24 und so weiter (inkrementell) zunehmend die Ganzzahl crf), bis Sie einen akzeptablen Kompromiss zwischen Videoqualität und Dateigröße gefunden haben.
  2. Wenn die Videoqualität zu schlecht ist, versuchen Sie es crf 20 und so weiter (inkrementell) abnehmend die Ganzzahl crf), bis Sie einen akzeptablen Kompromiss zwischen Videoqualität und Dateigröße gefunden haben.

2. Ändern Sie die Größe mit den 'set bitrate' + '2 pass encode'-Optionen von FFmpeg:

Eine andere Wahl, die wohl nicht Erzielen Sie so gute Ergebnisse wie das CRF-Beispiel, wenn Sie die eingestellte Bitrate Ihrer Wahl verwenden und eine 2-Pass-Kodierung verwenden. Das folgende Beispiel dafür ist ein einziger Befehl:

ffmpeg -y -i input.mp4 
       -c:v libx264 -preset slow -b:v 1000k -pass 1 
       -c:a copy -f mp4 /dev/null && 
ffmpeg -i input.mp4 
       -c:v libx264 -preset slow -b:v 1000k -pass 2 
       -c:a copy 
       output.mp4

Auch in diesem Beispiel wird das Video neu codiert und das Audio einfach kopiert. Dinge, die man beachten muss:

  1. Video noch zu groß? Verringern die Bitrate...
  2. Qualität zu schlecht? Zunahme die Bitrate...

Fahren Sie so fort, bis Sie einen akzeptablen Kompromiss zwischen Videoqualität und Dateigröße gefunden haben.

Verweise:

  • FFmpeg- und H.264-Kodierungsleitfaden: FFmpegs kanonischer Leitfaden zur Kodierung in H.264

Also habe ich es herausgefunden. Das Flag "-b" in ffmpeg legt die Bitrate fest. Ich habe auch herausgefunden, dass 1.000.000 ein guter allgemeiner Nutzwert ist, der einen guten Kompromiss zwischen Dateigröße und Qualität bietet.

Also lauf:

ffmpeg -i inputfilename.mp4 -b 1000000 outputfilename.mp4

Sie können 1000000 durch einen anderen Bitratenwert ersetzen, wenn Sie möchten. Sie können auch ein Flag "-s WxH" einfügen, um die Größe des Ausgabevideos festzulegen. Um das Ausgabevideo 720p zu machen, würden Sie "-s 1080x720" einschließen.

Click to rate this post!
[Total: 0 Average: 0]



Anderer Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.