Wie kann ich Avidemux verwenden, um H264-Videos mit ähnlicher Qualität erneut zu komprimieren?

1937
detly

Ich habe eine Menge Videos mit meinem Handy aufgenommen, und diese sind angesichts ihrer Länge ziemlich groß (z. B. ein 3-minütiges Video mit 1920 × 1080 ist über 400 MB groß).

Ich nehme an, dies liegt daran, dass das Telefon die Akkulaufzeit und -qualität gegenüber dem Speicherplatz bevorzugt. Ich denke, ich könnte sie durch Avidemux laufen lassen, um sie neu zu kodieren und ihre Größe zu reduzieren, ohne dabei die Qualität zu sehr zu beeinträchtigen. Mir ist klar, dass eine gewisse Verschlechterung unvermeidlich ist. Da es jedoch so viel Raum für Kompression gibt, sollte meines Erachtens eine spürbare Verschlechterung vermieden werden.

Die Videos sind in H264 / AAC in einem MP4-Container codiert. Ich kann das Audio einfach direkt in Avidemux kopieren. Aber wie beziehe ich einige ungefähre Werte für den H264-Encoder, um die Videoqualität zu erhalten? Ich glaube nicht, dass das H264-Format Informationen über seine Eingabeparameter enthält. Es ist möglich, eine Qualitätsstufe zu wählen, die die Dateigröße ohne Verstärkung vollständig aufbläht, und es ist auch möglich, eine Qualitätsstufe zu wählen, die das Video schrecklich macht. Gibt es eine Möglichkeit, die Eingabe zu analysieren, um einen "Sweet Spot" zu ermitteln, bei dem die Videogröße reduziert wird, ohne die Qualität zu stark zu beeinträchtigen?

Mir ist klar, dass es in dieser Frage einen gewissen Grad an Subjektivität gibt. Was würde ich als "wahrnehmbare" Verschlechterung betrachten? Ist es angesichts der Tatsache, dass Videocodierer traditionell durch Wahrnehmungsqualitäten parametrisiert werden, möglich, einen ungefähren Bereich für einige grundlegende Parameter zu ermitteln?

1

1 Antwort auf die Frage

2
detly

Es gibt mehrere Befehlszeilen- oder GUI-Tools, die einige der vereinfachten Codierungsparameter eines H264-Videos zeigen, z. ffmpegoder mediainfo:

$ mediainfo myvideo.mp4 [... look for the "Video" section ...] Format profile : High@L4 Bit rate : 17.0 Mbps  $ ffprobe -show_streams myvideo.mp4 [... look for a [STREAM] header followed by codec_type=video ...] profile=High level=40 bit_rate=16996359 

Beachten Sie die profileund level(in ffmpeg) Parameter. Machen Sie sich keine Sorgen über die Bitrate, es sagt Ihnen nicht wirklich etwas aus, was die Dateigröße nicht ist. Ich denke, dass die levelin ffmpeg‚s Ausgabe 10 × den realen Wert ist (dh. 40Bedeutet Stufe 4 41bedeutet, 4.1, usw.).

In Avidemux können Sie vereinfachte Einstellungen verwenden, in denen Sie diese festlegen und die feineren Einstellungen bei den Standardeinstellungen von Avidemux beibehalten können.

Avidemux-Screenshot

Ich dachte mir, dass dies die entsprechenden Einstellungen sind:

  • Erweiterte Konfiguration verwenden ist nicht markiert.
  • Das Profil ist hoch.
  • IDC-Stufe ist 4.

Die Verwendung eines langsameren Preset- Werts erhöht die Qualität innerhalb dieser Parameter (bis zu einem gewissen Punkt).

Sie können auch die Zwei-Pass-Kodierung verwenden, um die Dateigröße weiter zu reduzieren. Ich kenne keinen guten Weg, um eine vernünftige Dateigröße vorherzusagen, aber eine durchschnittliche durchschnittliche Bitrate mit zwei Durchgängen für 1920 × 1080 reicht von 6-8 Mbps. Richten Sie nicht die ursprüngliche Dateigröße oder Bitrate als Ziel ein : Am Ende erhalten Sie eine Datei derselben Größe.

In meinem Fall halbierte eine einzige Passcodierung auf Qualitätsstufe 20 (Standard von Avidemux) die Dateigröße, und der Vergleich mit Bino und Kinovea zeigte keinen Unterschied (für mich), selbst bei bewegungsunscharfen oder kontrastreichen Bildern. Durch die Zwei-Pass-Codierung bei 7 MBit / s (wie die Single-Pass-Codierung herauskam) wurde dies auf 40% gesenkt.