Wie Videos komprimieren mit wenig Qualitätsverlust?

Caine1

Commander
Registriert
Aug. 2006
Beiträge
2.157
hi!

ich wollte gerne einige selbstaufgenommene Videos mit OBS kompromieren. Habe z.B. ein paar eigene Tutorials gebastelt und Musikvideos die ca. 1 Stunde sind und ungefähr 10GB betragen. Allerdings haben Videos wenn man z.B. ein paar Downloads prüft mit MP4 nur ca. 1-2 GB die auch 1 Stunde gehen und immer noch super aussehen (habe mal 2 Screenshots gemacht und verglichen). aber ich frage mich wie man das macht?

Habe von Handbrake gelesen allerdings habe ich das nie benutzt. Hat Jemand Erfahrungen welche Programm dafür geeignet ist? Ich habe auch Premiere mit dem Media Encoder.

Vielen Dank
 
Caine1 schrieb:
ich wollte gerne einige selbstaufgenommene Videos mit OBS kompromieren.
OBS ist da aber nicht gedacht/Schlecht geeignet für, Handbrake ist suuper zum recompilieren.
 
  • Gefällt mir
Reaktionen: Azghul0815
Mit welchem Codec und Einstellungen (Aufloseung, Kompression etc.) sind die Videos aufgenommen worden? Wie gross sind sie jetzt pro Stunde und was ist das Ziel?
 
Moin,

Handbrake sollte gut funktionieren.
Bei den Einstellungen muss man bissl testen wieviel Verlust man maximal haben möchte.
10GB habe ich etwa auf 2-4GB gebracht, für meine Anforderungen.

Wie oben schon gefragt , Codec, Auflösung etc.
 
Mal als Quick und Dirty Beschreibung:
Matroska Profil, AV1 (Moderner Codec)

Der Schieber das "Voreinstellung" ist maximal einfach, ne Beschreibung ist eingeblendet, verschieben um den Rechenaufwand der Betrieben werden soll für Qualität bei gleicher Datenrate. Rechts rum ist aufwändiger für bessere Qualität.

Dann gibts natürlich noch rechts oben konstante Qualität oder Bitrate.
Wenn man nicht direkt auf eine bestimmte feste größe aus ist sollte immer konstante Qualität besser sein, auch bei dem schieber gibts ne Beschreibungsinfo. Ich meine es war so:
größere Zahl Schlechteres Bild → kleiner und wenn du das umdrehst eben genau anders herum.

Bei Dimension kannst du noch angaben machen wie sich das Programm zu deinem Video verhalten soll in Bezug auf die Auflösung, Verhältnis etc.

Wenn man sich das einmal etwas anschaut kann man mit wenigen Handgriffen gute recomprimierungen errechen.
Sehr einfach bedienbar. andere Codecs gehen natürlich auch. auch Hardware kann benutzt werden, da ist jedoch das Ergebnis in der regel schlechter kontrollierbar, weniger flexibel, größer. aber das Ergebnis mag ja trotzdem reichen und dafür ist es recht schnell.

Bildschirmfoto_20251004_085115.png


Edit:
Noch ein Hinweis, so (Rechenaufwandsseitig) Dieser Voreinstellungsschieber zu mehr Aufwand für Qualität zu verschieben kann auch je nach Codec ganz extreme Ausmaße annehmen :D ist mit Vorsicht zu genießen.

Hatte Gestern einen wenige Sekunden langen Clip, nur 4 Sekunden lang um das zu einer kleinen Datei zu bekommen und auch die Rechenzeit klein zu halten. Ganz nach rechts verschoben wurden mehrere Minuten Berechnungszeit draus mit einem 16 Kern 32 Thread 9950 X3D :D .
 
Zuletzt bearbeitet:
Caine1 schrieb:
ich frage mich wie man das macht?
Wichtig sind hierfür der verwendete Codec und die Datenrate.

Bei er Datenrate wird zwischen konstanter und variabler unterschieden. Variabel heißt, die Datenrate passt sich an den Bildinhalt an. Wenn sich wenig verändert, dann braucht man weniger Daten. Man kann dem Codec vorgeben, wie groß die Datei sein soll, aber dafür braucht es 2 Durchgänge - funktioniert also nicht live. Oder man sagt dem Codec er soll eine konstante Qualität nehmen, auch dann ist die Datenrate variabel. Bei konstanter Rate weißt du vorher schon wieviel Speicher du für eine bestimmte Dauer brauchst.
Bei den Codecs ist es eigentlich so, je neuer, desto besser aber neuere Codecs brauchen länger zum Umwandeln.

Wenn du eine gute Quali willst und eine geringe Dateigröße, dann nimm h265 oder AV1. Am schnellsten geht es wenn du das per Grafikkarte umwandelst. Die neuen können das in Hardware.
Handbrake ist ok. Es nutzt ffmpeg. Das kann man aber auch direkt über die Konsole benutzten. Viele finden das einfacher. Da gibst du dann einfach nur einen Befehl ein und das wars. Das sieht dann ungefähr so aus:
Code:
ffmpeg -i "input.mpeg" -c:v av1_nvenc -preset p4 -tune hq -multipass 2 -b:v 2275K -maxrate 4550K -rc vbr -spatial_aq 1 -c:a copy "output.mkv"
Bei einer GUI muss man ja bekanntlich immer ganz viel klicken bis man am Ziel ist. Das Ergebnis ist aber gleich.
 
Der String wäre aber für encodieren mit Nvidia Grafikkarte oder?

Leidet da nicht die Qualität gegenüber CPU Encoding?
Und muss es AV1 sein? Viele Geräte haben keinen Hardware Decoder dafür.

Wäre HEVC schlechter?
 
@IBISXI Ja das ist für Nvidia. Per CPU ist minimal besser, dauert aber ewig. HEVC ist minimal schlechter als AV1. Nur ganz alte Geräte können das nicht in Hardware. Seit Ende 2022, also seit drei Jahren, sind bei Intel, AMD, Nvidia und Qualcomm Encoder verfügbar und Decoder oft schon seit 2020. Hab da nie Probleme mit gehabt.
 
Der @Caine1 hat ja auch keine Anforderungen gestellt welcher Codec es sein müsste, ich hab halt einfach von mir aus av1 gewählt.

h264 dürfte auch viel schneller sein per CPU, wobei im allgemeinen mit Hardwareencoder ich dann eher av1 wählen würde, der Qualität wegen.

Und für mich besteht in der Regel der Nutzen auch nur darin ab und an mal nen Schnipselchen zum Zeigen zu recodieren.
 
IBISXI schrieb:
Wäre HEVC schlechter?
Rein von der erreichbaren Bildqualität ist es nicht schlechter. Bei gleicher Qualität ist produziert es halt potentiell größere Dateien als AV1.
 
Jein, ich würde es eher andersrum formulieren. AV1 kann bei gleicher Zielqualität stärker komprimieren als H.265, liefert also mit weniger Bitrate und folglich kleineren Dateien eine gleich hohe Qualität.
 
Die Fragen die eigentlich mal gestellt werden müssen:
  • Wofür soll das sein?
  • Ist Platzbedarf wichtiger als Qualität?
  • Bzw. womit wird es später wiedergegeben?
  • Und, bleibt das Orginalmaterial vorhanden? Bzw. ist das überhaupt verlustfrei?
  • soll das mit Plex oder Jellyfin zur Verfügung gestellt weden?

Warum das wichtig ist:
Für's Web reicht evtl. ne geringere Qualität. Die Beurteilung ist aber nicht anhand von ein oder zwei Bildern möglich und hängt nicht zuletzt auch vom Abspielgerät ab. Es gibt gute und es gibt eher weniger gute bzw. schlechte Encoder bzw. auch Decoder.
Umgekehrt kann lange nicht jedes Abspielgerät alles ohne erneutes Transcoding (durch Plex oder Jellyfin) decodieren. Evtl. muss ein "gemeinsamer Nenner" gefunden werden für seine Abspielgeräte. HEVC kann funktionieren, AV1 Support war und ist aber immer noch so ne Sache.

Platzbedarf sollte bei den Preisen heute eigentlich kein Argument mehr sein auf Qualität zu verzichten. Ggfls. kann dann nur und ausschließlich verlustfrei komprimiert werden. Da kauft man sich im Zweifel lieber ne billige drehende Platte um das Original zu lagern.
Dann besteht immer wieder die Möglichkeit noch mal neu zu encodieren - auch deshalb weil ja schon immer die Frage ist: HEVC, AV1 oder MPEG4 und weil die Formate sich auch weiterentwickeln ebenso die Decoder in den Wiedergabegeräten. Bei Plex oder Jellyfin spart einem das später mitunter rechenaufwendiges Transcoding auf der Serverseite bei der Wiedergabe.

Aber: Wenn das Orginal eh schon komprimiert ist (was ja oft der Fall ist), wird die Qualität durch das erneute transcodieren auch nur immer noch schlechter.

Das sollte man sich daher genau überlegen. Max. wäre hier ne einfache verlustfreie Konvertierung sinnvoller. Spart dann zwar womöglich keinen Platz oder brauch sogar mehr, erhöht aber womöglich die Kompatibilität mit Abspielgeräten.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Alexander2 und chrigu
Gefühlt haben wir hier auch jede Woche den gleichen Thread mit den gleichen pauschalen Aussagen. Ob und wann ein Encoder besser performt ist von mehreren Dingen abhängig, wie Anwedungsenario, Videocontent und Encodereinstellungen.
Fakt ist aber, x265 und AV1 haben gegenüber x264 bei geringen Bitraten sowie Auflösungen >1080p einen Vorteil. AV1 kann aufgrund der Grainsynthese bei entsprechendem Content noch mehr Speicherplatz sparen.

Wenn die Ziele wirklich Qualität und Erhaltung von Details sind, dann greift man bei 1080p-Content am Besten auf x264 Preset Veryslow oder x265 Preset Slow zurück. Da empfiehlt es sich natürlich noch ein bisschen Feintuning zu betreiben. x264 und x265 haben auch den Vorteil, dass man Zonen erstellen kann. Passt in einer Szene die Qualität nicht oder weiß ich vorab, dass der Encoder da schwächen zeigen wird, kann man für diesen Abschnitt einfach die Bitrate anpassen. Das fehlt AV1 leider.
Der größte Nachteil von x265 ist meiner Meinung nach die Geschwindigkeit. Preset Slow ist schon sehr langsam und bei Auflösungen >1080p wird es dann richtig langsam. Bei höheren Auflösungen habe ich die Encoder bisher noch nicht verglichen.

Aus einem anderen Thread:
x264.exe schrieb:
Nimmt man sich Filmcontent mit leichtem, jedoch für die Komprimierung nicht unwesentlichen Korn, reichen Bitraten von 2000-3000kbps für ein wirklich gutes Ergebnis für mich mit keinem Codec, auch mit AV1 nicht.

Getestet habe ich x265 Medium+Slow / SVT-AV1 P8 Tune 0 (default) + P4 Tune 0 mit Filmgrain 0/8/16 und x264 Medium + Veryslow bei 3 und 6 Mbit/s.
x265 Slow sieht für mich am Besten aus ist aber auch hinsichtlich der Geschwindigkeit am Langsamsten. SVT-AV1 mit P8 ist brutal schnell.

x265 Medium, AV1 P8 Default und auch x264 Veryslow gehen bei 3000kbps alle bei einer Szeneneinblendung von dunkel nach hell richtig krachen. Daraus entstehen die schlechten VMAF-Min Werte von bis zu 71.
Sieht man sich die VMAF Scores für die 3Mbit/s Encodes an, liegen die mit ~94 ja alle im absolut grünen Bereich. Beim Bildvergleich sieht man aber schon, dass teilweise sehr viele Details entfernt wurden.

Bilder 3Mbit/s
https://slow.pics/c/Xs61uiAl
Bilder 6Mbit/s
https://slow.pics/c/Wbr6yZTR
 

Anhänge

  • VMAF_GRAPH.png
    VMAF_GRAPH.png
    98,3 KB · Aufrufe: 37
  • SPEED_GRAPH.png
    SPEED_GRAPH.png
    49,4 KB · Aufrufe: 39
  • VMAF_3000_GRAPH.png
    VMAF_3000_GRAPH.png
    59,4 KB · Aufrufe: 31
  • VMAF_6000_GRAPH.png
    VMAF_6000_GRAPH.png
    60,5 KB · Aufrufe: 34
Zurück
Oben