Ein Kunde hat mich einmal nach einer kurzen Bildschirmaufnahme eines Fehlers gefragt. Die Erfassung betrug vier Minuten lang 212 MB, was eine Retina-Anzeige mit 60 Bildern pro Sekunde kostet, und ihr Mailserver hat sie zweimal gesprungen, bevor ich herausgefunden habe, dass das 25-MB-Limit in der Fehlermeldung nicht die Nummer war, die ich übertreffen musste. Anhänge sind base64-codiert, sodass die Datei etwa ein Drittel größer ankommt als sie übrig ist. Ich musste unter ungefähr 18 MB sein, nicht 25. Die Aufnahme ging mit 6 MB, 720p, ohne Audio aus und sah perfekt scharf aus, da eine Bildschirmaufzeichnung eines Fehlers meistens eine statische Seite ist, bei der sich ein Cursor darüber bewegt und die sich wunderschön zusammendrückt. Die nützliche Lektion war keine Einstellung. Es war so, dass jeder dieser Jobs dieselbe Drei-Zeilen-Berechnung ist, und wenn Sie es tun können, hören Sie auf zu raten.
tl; dr: Ein Qualitätsniveau gibt Ihnen keine Dateigröße, da ein konstanter Ratefaktor ein Qualitätsziel ist und die resultierende Größe davon abhängt, wie viel Bewegung das Filmmaterial trägt. Um eine harte Grenze zu erreichen, arbeiten Sie rückwärts: Die Zielbitrate in Kilobit pro Sekunde ist die Größe in Bytes mal 8, dividiert durch die Dauer in Sekunden, geteilt durch 1000. Wählen Sie dann die Auflösung, deren normale Bitrate unter dieser Zahl liegt. Wenn Sie 1080p auf 720p fallen lassen, sparen Sie mehr als jeder hochwertige Slider. Das Ablegen von Audio, das Sie nicht benötigen, spart mehr, als die Leute erwarten. der Videokompressor Auf Toolz.dev führt die Codierung über ffmpeg in der WebAssembly in Ihrem eigenen Browser-Tab aus, zeigt den Schätzwert vor dem Start an und lädt die Datei niemals hoch.
Warum verspricht Ihnen eine Qualitätseinstellung niemals eine Größe?
Denn die beiden häufigsten Möglichkeiten, ein Video zu komprimieren, beantworten verschiedene Fragen und diejenige, die bessere Ergebnisse liefert, kann Ihnen die Größe nicht im Voraus mitteilen.
Zielbitrate Modus sagt: Verwenden Sie 2 Megabit pro Sekunde, was auch immer das braucht. Die Größe ist dann arithmetisch, genau vorhersehbar und die Qualität schwankt wild. Eine stille Titelkarte und ein Handschuss Regen erhalten beide 2 Mbit / s, sodass die Titelkarte das meiste verschwendet und der Regen wie nasser Kies aussieht.
Konstanter Ratefaktor Modus sagt: Halten Sie diese Qualität, geben Sie alle Teile aus, die Sie benötigen. Einfache Frames bekommen nur wenige Bits, harte Frames bekommen viele und das Bild bleibt optisch auch von Anfang bis Ende. Die Größe ist was es ist.
Jeder moderne Encoder empfiehlt den zweiten für alles, was nicht live gestreamt wird, und es ist das, was der Kompressor hier verwendet. Die Kosten sind, dass die Zahl auf der Seite vor dem Drücken der Taste eine Schätzung ist, die sich aus der typischen Bitrate für diese Auflösung und Qualität ableitet und die tatsächliche Zahl mit dem Filmmaterial bewegt. Eine statische Bildschirmaufzeichnung landet routinemäßig zur Hälfte der Schätzung. Handheld-Material von fließendem Wasser kann darüber landen. Konfetti, Schnee, Laub in Wind und Kamerakorn sind die vier Dinge, die über jede Schätzung hinausgehen, da sie alle zufälligen Geräuschen und Lärm sind, was Kompression nichts kann.
Was wählt CRF, wenn Sie ein Level auswählen?
Die Skala läuft 0 bis 51 für 8-Bit-H.264, wobei 0 verlustfrei ist und 51 nicht beobachtbar ist, und die FFMPEG H.264 Codierungshandbuch setzt den Standardwert bei 23 und den gesunden Arbeitsbereich bei etwa 17 bis 28. Die Eigenschaft, die sich auswendig lernt, ist, dass die Skala logarithmisch ist: Eine Änderung von 6 halbiert oder verdoppelt die Bitrate. Diese einzige Tatsache sagt Ihnen, was jedes Level tut, bevor Sie es versuchen.
Der Kompressor bietet drei, keinen Schieber, da der Unterschied zwischen CRF 26 und 27 unsichtbar ist, während der Unterschied zwischen 23 und 33 der gesamte Punkt ist.
| eben | H.264 CRF | VP9 Crf | Audio | Wofür ist es |
|---|---|---|---|---|
| Licht | 23 | 31 | 160 kbps | Archivieren Sie Kopien und Filmmaterial, das Sie erneut bearbeiten werden. Nahe genug optisch verlustfrei. |
| Ausgewogen | 28 | 36 | 128 kbps | die gewöhnliche Antwort. Etwa die Hälfte der Lichtbitrate und auf einem Laptop-Bildschirm müssen Sie nach dem Unterschied suchen. |
| Stark | 33 | 42 | 96 kbps | eine harte Grenze erreichen. Artefakte werden auf detailliertem Filmmaterial angezeigt, und niemand kümmert sich um einen Chat-Upload. |
Die VP9-Nummern sind eine separate Skala, weshalb sie nicht miteinander verbunden aussehen. Das Lichtniveau 31 ist genau das, was Googles ist VP9-Kodierungsempfehlungen für Video-on-Demand Listen Sie als Zielqualität für 1080p auf, und der Rest dieser Tabelle lohnt sich mit einem Lesezeichen: 32 für 720p, 33 oder 34 für 480p, 15 für 4k.
Was spart mehr Platz, geringere Qualität oder weniger Pixel?
Weniger Pixel, mit weitem Abstand, und es ist nicht nah.
Auflösung ist eine zweidimensionale Größe. Von 1080p auf 720p zu gehen ist kein Drittel, es sind 2,07 Millionen Pixel auf 0,92 Millionen, also hat der Encoder 56% weniger Pixel zu beschreiben, bevor er eine einzige Qualitätsentscheidung trifft. Die Datei folgt ungefähr. Wenn Sie von 4K auf 1080p gehen, werden drei Viertel davon entfernt.
Hier ist, worauf ein einminütiger Clip nach Quellenhöhe und -ebene landet, wobei die typischen Bitraten verwendet werden, aus denen die Werkzeugschätzungen abweichen. Audio ist enthalten.
| Quelle | Licht | Ausgewogen | Stark |
|---|---|---|---|
| 4K (2160p) | 106 MB | 61 MB | 35 MB |
| 1080p | 35 MB | 20 MB | 11 MB |
| 720p | 20 MB | 12 MB | 7 MB |
| 480p | 10 MB | 6 MB | 4 MB |
Lesen Sie es über und nach unten. Wenn Sie einen Schritt in der Spalte "Qualität" verschieben, sparen Sie etwa 43%. Wenn Sie die Auflösungsspalte um einen Schritt nach unten bewegen, werden auch etwa 42% eingespart, was wie ein Krawatte aussieht, bis Sie bemerken, dass die Qualitätsschritte nach drei auslaufen und Sie sichtbare Artefakte kosten, während ein Auflösungsschritt auf dem Bildschirm überhaupt nichts kostet, was die meisten Leute sehen werden. Ein 1080p-Clip, der in einer Slack-Nachricht angezeigt wird, wird in einer Box mit einer Breite von etwa 400 Pixeln angezeigt.
Die Reihenfolge zu versuchen, dann: Die Auflösung auf das, was der Betrachter realistisch einsetzt, fallen lassen, die Qualität im Gleichgewicht halten und nur dann stark greifen, wenn Sie es noch nicht geschafft haben.
Wie landet man unter einer harten Grenze wie 8 MB?
rückwärts arbeiten. Die ganze Berechnung ist eine Zeile und es ist das einzige Stück Video-Arithmetik, das es wert ist, gelernt zu werden.
# total bitrate (kbps) = target size (bytes) x 8 / duration (s) / 1000
#
# 8 MB, 45-second clip:
# 8,000,000 x 8 / 45 / 1000 = 1,422 kbps total
# minus 96 kbps of audio = 1,326 kbps for video
#
# 1080p strong is ~1,400 kbps video -> about 8.4 MB. Just over.
# 720p strong is ~800 kbps video -> about 5.0 MB. Comfortable.
#
# the equivalent single pass, if you have ffmpeg installed:
ffmpeg -i input.mp4 -c:v libx264 -crf 33 -preset fast \
-vf scale=-2:720 -c:a aac -b:a 96k \
-movflags +faststart -pix_fmt yuv420p output.mp4
Drei Dinge machen dies in der Praxis zuverlässig.
- Kopffreiheit verlassen. Zielen Sie auf 80% der Grenze. CRF trifft kein Größenziel und das Einmal überschreitet die Zeit, in der Sie die Datei senden.
- Zählen Sie den Codierungsaufwand, wenn er per E-Mail geht. base64 stellt alle 24 Eingabebits als 4 Zeichen dar, RFC 2045, so bläst ein Aufsatz um ein Drittel auf den Draht. Ein 25-MB-Postfachbegrenzung beträgt ungefähr 18 MB der tatsächlichen Datei.
- Vertraue nicht einer Nummer, an die du dich erinnert hast. Das kostenlose Upload-Limit von Discord betrug 8 MB, dann 25 MB, dann 10 MB, dann 20 MB im August 2026. Google Mail hat seit Jahren 25 MB gehalten. WhatsApp komprimiert alles, was Sie senden, unabhängig davon. Überprüfen Sie das Limit an dem Tag, an dem Sie es benötigen, und führen Sie dann die Rechenarbeit durch.
Wenn der Clip länger ist als das, was Sie zeigen möchten, ist es besser, ihn zu schneiden, anstatt ihn zu drücken. Durch die Halbierung der Dauer halbiert die Größe bei voller Qualität, was keine Einstellung erreichen kann. der Videoschneider Wird die Reichweite herausgenommen, ohne dass der Schnitt in der Nähe eines Keyframes landet, und das Ergebnis ist byteidentisches Filmmaterial mit der halben Größe.
Hilft das Senken der Bildrate?
Weniger als Sie denken, und es sieht schlimmer aus als alles andere auf der Liste.
Der Grund ist, dass aufeinanderfolgende Frames bereits gegeneinander zusammendrücken. Ein Video-Codec speichert ein Vollbild und beschreibt dann die Unterschiede, so dass der Rahmen 31 in einem 60-fps-Clip nahezu frei ist, da er nahezu identisch mit dem Bild 30 ist. Wenn Sie es wegwerfen, werden die Bits, die Sie sich vorstellen, nicht gespeichert. Bei typischen Raten ist die Einsparung eher linear als frei, sodass 60 fps bis 30 fps vielleicht ein Drittel statt der Hälfte abheben, und 30 fps bis 15 fps geben Ihnen bei jeder Kamerabewegung sichtbares Ruckeln.
Es gibt zwei Fälle, in denen es der richtige Anruf ist. Eine Bildschirmaufzeichnung von meist statischen Inhalten verliert mit 15 fps nichts lesbar, und genau das ist der Fall, wenn Sie normalerweise nur schwer bemühen, unter eine Grenze zu gelangen. und Filmmaterial, das Sie in eine Animation für eine Seite konvertieren, in der der Betrachter Bewegungen nicht so sehr sieht, wie wenn Sie sie bemerken, überdauern 12 bis 15 fps gut.
Lassen Sie die Bildrate für alles, was sich mit einer Person oder einer Kamera bewegt, in Ruhe und nehmen Sie stattdessen die Auflösung.
Sollte das Audio überleben?
Fragen Sie, wofür das Audio ist, denn es ist nicht kostenlos.
Eine 10-minütige Aufnahme mit Audio mit 128 Kbit / s trägt 9,6 MB Ton, bevor das Bild ein einzelnes Bit erhält. Wenn es sich bei diesem Audio um eine stille Bildschirmaufnahme mit Raumsumm oder um die Musik handelt, die Sie ersetzen oder eine Sprachspur, die Sie bereits transkribiert haben, ist es die einfachste verfügbare Einsparung und kostet den Betrachter nichts. Der Kompressor hat einen Schalter für genau das, der vorbeigeht -an und lässt den Audio-Stream ganz weg.
Wenn der Klang wichtig ist, senken die Pegel ihn von 160 auf 128 auf 96 kbps, was die herkömmlichen Punkte sind. 96 Kbit/s AAC ist für Sprache ausreichend und hörbar dünn. Wenn Sie das Audio allein, als Datei transkribieren oder bearbeiten möchten, die Audio-Extraktor Zieht den Track heraus, ohne das Video zu berühren, und die Audiokonverter wird es zu seinen eigenen Bedingungen neu codieren.
Ein Detail fängt die Leute auf. Ein Video ohne Audiospur wird in den meisten Playern still abgespielt und kann in einigen alten mobilen Browsern, die von einem Track stumm gehen, nicht automatisch abgespielt werden. Wenn der Clip auf eine Webseite geht, ist ein leiser 8-Kbps-Track manchmal sicherer als keiner, obwohl jeder Browser, der heute versendet, ein reines Video-MP4 korrekt verarbeitet.
Lohnt sich WebM das zusätzliche Warten?
Es kommt ganz darauf an, wer die Datei öffnet.
VP9 in einem WEBM-Container landet bei vergleichbarer sichtbarer Qualität etwa ein Viertel kleiner als H.264. Das ist ein echter Gewinn, und auf Ihrer eigenen Website, auf der nur ein Browser ihn abspielen kann, ist WEBM normalerweise die bessere Datei. Chrome, Firefox und Edge unterstützen VP9 seit einem Jahrzehnt, und Safari hat seit Version 14.
Die Kosten zeigen sich zweimal. Die VP9-Kodierung ist langsamer als x264, im Wesentlichen in einem Browser, und ein Detail löst jeden aus, der den Befehl von Hand ausführt: VP9 ehrt ein Qualitätsziel nur, wenn die Bitrate explizit Null ist. verstreichen -crf 36 Allein und der Encoder verwendet stattdessen leise eine Standard-Bitrate und ignoriert Sie. Es braucht -crf 36 -b:v 0, das sendet das Tool.
Der zweite Kosten ist alles, was kein Browser ist. Chat-Apps, CMS-Upload-Felder, Video-Editoren, PowerPoint, das Vorschaufenster in einem Dateimanager, Telefon Ihres Kunden: Viele von ihnen akzeptieren MP4 und Achselzucken bei webm. Wenn die Datei an eine Person geht, senden Sie mp4 mit H.264. Wenn es auf eine Seite geht, die Sie steuern, webm. Diese gleiche Aufteilung läuft durch die gesamte Formatfrage, die die Remux-Guide Abdeckungen von der Umwandlungsseite.
Warum weigert sich ein komprimierter MP4 manchmal zu spielen?
Aufgrund der Position, wo der Index gelandet ist und dies die einzige Flagge ist, die Sie niemals aufgeben sollten.
Ein MP4 behält ein Inhaltsverzeichnis, das beschreibt, wo jeder Frame beginnt. Normalerweise wird der Encoder so geschrieben, wie er geht und schreibt die Tabelle am Ende der Datei. Für die Wiedergabe von einer Festplatte, die in Ordnung ist. Über HTTP werden der Player erst dann beginnen, wenn er die gesamte Datei hat. Ein 40-MB-Video in einer Chat-App oder ein CMS tut also nichts, während es herunterlädt und dann startet.
-movflags +faststart Führt einen zweiten über die fertige Datei und verschiebt diesen Tisch nach vorne. Die Codierung dauert einen Moment länger und das Video beginnt nach einer Sekunde zu spielen. Jeder MP4, den der Kompressor produziert, hat es.
Zwei weitere Flags in diesem Befehl sind eher aus Kompatibilität als aus Größe vorhanden. -pix_fmt yuv420p Forces 4:2:0 Chroma-Subsampling, weil ein 4:2:2 oder 4:4:4 MP4 gültig ist und sich weigert, auf einer langen Liste von Hardware-Decodern zu spielen. und der Skalenfilter wird geschrieben scale=-2:720 anstatt scale=-1:720, weil H.264 gerade Pixelabmessungen und -2 Rundet die berechnete Breite auf eine gerade Zahl. Fragen Sie nach einer ungeraden Breite und die Codierung scheitert an "Width nicht teilbar durch 2" anstatt auf etwas Nahes zu skalieren.
Warum sieht das Komprimieren zweimal so viel schlechter aus?
Generationsverlust, und es ist steiler als die Leute erwarten, da die verlustbehaftete Komprimierung nicht idempotent ist.
Die erste Codierung wirft Details weg, die das Auge nicht verpasst und hinterlässt seine eigenen Artefakte: leichte Blockierung an Kanten, geglättete Farbverläufe, um den hohen Kontrast herum klingeln. Die zweite Kodierung hat keine Möglichkeit zu wissen, dass diese Artefakte nicht das Bild sind. Es behandelt sie als Inhalt, der es wert ist, bewahrt zu werden, gibt etwas aus, um sie zu beschreiben, und fügt ihre eigenen hinzu. Drei Runden ausgewogener Kompression auf demselben Clip sehen schlimmer aus als eine Runde stark, bei einer größeren Dateigröße.
Die praktischen Regeln sind also kurz. Komprimieren Sie jedes Mal vom Original, nie aus der bereits angefertigten Kopie. Wenn Sie sowohl eine Light-Archiv-Version als auch eine kleine Version zum Senden benötigen, machen Sie beides aus der Quelle. Und wenn eine Datei bereits eine Plattform durchlaufen hat, die beim Upload erneut komprimiert wird, was die meisten davon sind, behandeln Sie das, was Sie heruntergeladen haben, bereits als zweite Generation.
Dies ist die gleiche Arithmetik, die regiert Bildkomprimierung Und der Grund, warum ein JPEG immer wieder gespeichert wurde, wird Schlamm und der gleiche Grund PDF Kompressor Arbeitet an den Bildern in einem Dokument und nicht auf dem Dokument als Ganzes.
Verlässt die Datei Ihre Maschine?
Nein, und für Videos, die das Tool ändern, für das das Tool verwendet werden kann.
Die Codierung läuft durch ffmpeg kompiliert zur WebAssembly, Ausführung auf der Registerkarte Browser. Die Datei wird von Ihrer Festplatte in den Seitenspeicher eingelesen, dort codiert und als Download zurückgegeben. Öffnen Sie DevTools, wechseln Sie zum Netzwerk-Panel, komprimieren Sie etwas und sehen Sie sich an: Keine Anfrage trägt das Video.
Drei Konsequenzen folgen.
Es wird nichts hochgeladen, also nichts erhalten. Es wird keine Kopie auf einem Server auf einem Server warten, der darauf wartet, dass eine Aufbewahrungsrichtlinie gelöscht wird, da keine Kopie erstellt wurde. Für eine unveröffentlichte Produktdemo, Filmmaterial unter NDA oder irgendetwas mit einer Person, die nicht einem Upload von Drittanbietern zugestimmt hat, ist dies der Unterschied zwischen verwendbar und nicht.
Die Grenzen sind der Browser, kein Plan. Die gesamte Datei wird in den Tab-Speicher aufgenommen, sodass die Seite bis zu 500 MB akzeptiert und einen einzelnen Durchgang nach 30 Minuten abdeckt. Sie überprüft beide, wenn Sie die Datei auswählen und nicht nach einem Download von vier Megabyte-Engines und zwei Minuten Codierung. Es gibt keine Warteschlange, kein Wasserzeichen, kein Konto und keine Größe zu kaufen.
Der erste Lauf ist langsamer. Das ffmpeg WebAssembly Bundle wird einmal heruntergeladen, was einige Sekunden dauert und danach zwischengespeichert wird. Das Tool lädt es bei der ersten Komprimierung und nicht beim Öffnen der Seite, sodass die Seite selbst schnell bleibt.
Wann ist ein Desktop-Encoder das richtige Werkzeug?
Wenn die obigen Zahlen aufhören, die Einschränkung zu sein. Ein Browser-Tab ist ein vernünftiger Encoder und eine schlechte Video-Pipeline, und es lohnt sich, klar zu machen, wo die Linie fällt.
Gehen Sie nativ für Dateien über 500 MB oder Clips über eine halbe Stunde, wobei der Tabulatorspeicher die eigentliche Grenze ist. Gehen Sie nativ für eine Charge, denn 40 Clips durch eine Schleife in einer Shell schlagen 40 Auslösungen durch jede Schnittstelle. Gehen Sie nativ, wenn Sie eine Two-Pass-Codierung benötigen, um eine genaue Größe zu erreichen, was ein einzelner CRF-Pass nicht versprechen kann. und gehen Sie nativ für die Hardware-Kodierung, bei der eine GPU in 20 Sekunden erledigt, was die WebAssembly über vier Minuten dauert.
Für einen Clip, der in den nächsten fünf Minuten auf einem Laptop unter Grenzen gesetzt werden muss, ohne etwas zu installieren oder das Filmmaterial an einen Fremden zu übergeben, ist der Browser um eine Entfernung der schnellere Weg. Das ist der Job der Verdichter ist gebaut für, neben dem Konverter zum Ändern des Formats und der Bildkompressor Für das gleiche Problem eine Dimension nach unten.



