Zum Inhalt springen
OneKitly

Standbilder aus einem Video holen — und warum sie weicher aussehen als das Video

Veröffentlicht am 10.8.2026 · 11 Min. Lesezeit · Datei-Tools

Daniel Okonkwo

Daniel OkonkwoFront-end-Entwickler und Tech-Redakteur bei OneKitly

Web-Performance · Dateiformate

Anhand von 4 Quellen geprüft

Profil ansehen
Kurz gesagt

Der Bildextraktor lässt ffmpeg in deinem Browser laufen und baut einen von drei Befehlen. Ein Bild: -ss <Sekunden> -i <Datei> -frames:v 1 -q:v 2. Der Sprung steht vor der Eingabe, ffmpeg springt also zum nächstgelegenen früheren Keyframe und dekodiert bis zu deinem Zeitpunkt weiter. Eine feste Anzahl Bilder: -i <Datei> -vf fps=<Anzahl geteilt durch Dauer> -frames:v <Anzahl>, was sie gleichmäßig über den ganzen Clip verteilt. Ein Bild alle N Sekunden: -i <Datei> -vf fps=<1 geteilt durch N> -frames:v <Anzahl>. JPG wird mit -q:v 2 geschrieben, der zweitbesten Stufe der MJPEG-Skala, die von 2 bis 31 reicht; PNG trägt gar kein Qualitätsflag, weil es verlustfrei ist. Egal welcher Modus: Das Werkzeug hört bei 60 Bildern auf und sagt das vorher auf dem Bildschirm. Zwei Dinge, bevor du dem Bild traust. Erstens: Ein Einzelbild ist keine Fotografie. Video speichert ein vollständiges Bild nur an Keyframes, meist eines alle ein bis zehn Sekunden, und baut alles dazwischen aus Differenzlisten wieder auf. Hol ein Bild aus der Mitte dieser Folge, und du bekommst die Rekonstruktion des Dekoders — weicher und kachliger als ein Foto derselben Auflösung; Keyframes sind die Ausnahme und wirklich scharf. Zweitens: Die Breiten-Knöpfe sind Obergrenzen, keine Zielwerte. Sie werden zu scale=w='min(W,iw)':h=-2, ein Knopf heißt also „höchstens so breit“: verlangst du weniger als die Quelle, bekommst du es, verlangst du mehr, kommt das Bild in seiner eigenen Größe zurück. Ein 1080x1920-Hochformatclip, für den 1280 gewählt wird, kommt unverändert als 1080x1920 heraus, denn ein Bild zu vergrößern erfindet nichts und macht die Datei nur größer.

Hinter drei Knöpfen stecken drei Befehle: ein Bild zu einem Zeitpunkt, eine feste Anzahl über den Clip verteilt, oder eines alle N Sekunden. Hier stehen die exakten Argumente, die Obergrenze von 60 Bildern und der Grund, warum ein Bild aus der Mitte eines komprimierten Clips nie so scharf wird wie ein Keyframe.

Drei Knöpfe, drei verschiedene ffmpeg-Befehle

Die Oberfläche bietet eine Anzahl Bilder, einen Abstand oder einen einzelnen Moment, und jede Wahl baut einen anderen Befehl. „Eine Anzahl Bilder“ teilt die eingetippte Zahl durch die Dauer des Clips und übergibt das Ergebnis dem fps-Filter: 12 Bilder aus einem 6-Sekunden-Clip ergeben fps=2.000000, dazu -frames:v 12, damit dort Schluss ist. „In regelmäßigem Abstand“ kehrt stattdessen den Abstand um — ein Bild alle 5 Sekunden ergibt fps=0.200000 — und rechnet die Anzahl aus der Dauer. „Ein einzelnes Bild“ überspringt den Filter ganz und nutzt -ss vor der Eingabe mit -frames:v 1.

Diese Platzierung wiegt schwerer, als sie aussieht. -ss vor -i lässt ffmpeg direkt zu einem Sprungpunkt springen, statt die ganze Datei bis zu deinem Zeitpunkt zu dekodieren — das ist der Unterschied zwischen einem Sekundenbruchteil und langem Warten bei einem großen Clip. Ein alter Rat sagt, ein Eingangssprung sei nur keyframe-genau; das stimmt seit Jahren nicht mehr, und dieser Build springt beim Transkodieren standardmäßig genau: Er dekodiert das kurze Stück zwischen Sprungpunkt und Zeitpunkt und wirft es weg. Das Bild, das du am Vorschauregler siehst, ist das, was du bekommst.

Ein Einzelbild ist keine Fotografie

Jeder moderne Videocodec speichert vollständige Bilder nur hin und wieder. Das sind Keyframes, und alles dazwischen steht als Anweisung geschrieben: Dieser Block ist vier Pixel nach links gewandert, jene Fläche ist wie vorher, dieses Feld hat sich um diese kleinen Beträge geändert. Eine einstündige Aufnahme mit 30 Bildern pro Sekunde enthält 108 000 Bilder, aber vielleicht nur ein paar tausend vollständige. Wenn du das Bild bei 47,3 Sekunden verlangst, sucht der Dekoder den letzten Keyframe davor und spielt alle Anweisungen seitdem noch einmal ab, um das Bild wiederherzustellen.

Die Rekonstruktion ist treu genug zum Anschauen und enttäuschend zum Einfrieren. Weil der Encoder seine Bits auf das Veränderliche verwendet hat, trägt ein stehender Hintergrund, der seit zwei Sekunden nicht aufgefrischt wurde, zwei Sekunden angesammelter Näherung mit sich. Bewegungsunschärfe, die bei 30 Bildern pro Sekunde als Bewegung durchgeht, wird beim Anhalten zum Schmierer. Und jeder Block, von dem der Encoder annahm, niemand schaue genau hin — dunkle Flächen, unscharfe Flächen, schnelle Schwenks — ist genau dort, wo der Quantisierer gespart hat. Deshalb wirkt ein Bild aus einem stark komprimierten Clip weicher als ein Foto derselben Szene bei gleicher Pixelzahl.

Keyframes sind die Ausnahme, und es lohnt sich, nach ihnen zu suchen. Wenn das Bild zählt — ein Kennzeichen, ein Gesicht, eine Anzeigetafel —, hol mehrere Bilder rund um den Moment statt eines. Unter zehn aufeinanderfolgenden Bildern ist meist eines ein Keyframe oder nah daran, und es ist sichtbar sauberer als seine Nachbarn. Der Abstands- und der Anzahl-Modus machen das leicht: Sie lassen dich nie direkt einen Keyframe benennen, aber eine dichte Stichprobe trifft einen.

Die Breiten-Knöpfe sind Obergrenzen, keine Zielwerte

Vier Knöpfe bieten Original, 640, 1280 und 1920. Wähle einen, und die Filterkette bekommt scale=w='min(W,iw)':h=-2, das die Breite auf diese Zahl deckelt und ffmpeg eine formerhaltende Höhe rechnen lässt, gerundet auf die nächste gerade Zahl. Auf „deckelt“ kommt es an. Bei einem 1920x1080-Clip liefert der 1280-Knopf 1280x720, genau wie erwartet. Bei einem 1080x1920-Hochformatclip liefert derselbe Knopf 1080x1920 — die Quelle, unangetastet — weil 1280 breiter ist als der Clip und das Werkzeug den kleineren der beiden Werte nimmt.

Diese Obergrenze lohnt sich, denn ein Bild zu vergrößern bringt nichts. Hochskalieren kann kein Detail erfinden; es interpoliert, das Bild wird also größer und schwerer, ohne schärfer zu werden — tatsächlich weicher, weil die Interpolation das wenige Detail glättet, das die Videokompression überlebt hat. Ohne die Grenze lesen sich die Knöpfe als Zielwerte, und ein Hochformatclip, für den 1920 gewählt wurde, kam als 1920x3414 zurück: mehr als dreimal so viele Pixel wie die Quelle, jedes davon geraten. Willst du ein größeres Bild, als der Clip hergibt, liegt die Antwort nicht hier — sondern in einer Aufnahme mit höherer Auflösung.

Sechzig Bilder — und die Grenze bedeutet zweierlei

Das Werkzeug erzeugt pro Durchgang höchstens 60 Bilder und sagt das vorher: Verlange 500, und die Zeile unter den Modus-Knöpfen springt auf 60 und ergänzt eine Warnung. So weit ehrlich. Was die Warnung nicht sagt: Die Grenze wirkt in den beiden Stapelmodi verschieden, und dieser Unterschied entscheidet, ob du einen Überblick über das ganze Video bekommst oder nur über seinen Anfang.

Im Anzahl-Modus ergibt sich die Abtastrate aus der Dauer: 60 Bilder aus einer zwanzigminütigen Aufnahme werden zu fps=0.050000, die Bilder fallen also alle zwanzig Sekunden von Anfang bis Ende. Im Abstands-Modus ergibt sich die Rate aus deinem Abstand, und die Anzahl ist nur ein Stoppsignal: ein Bild pro Sekunde bei derselben zwanzigminütigen Aufnahme wird zu fps=1.000000 mit -frames:v 60, und ffmpeg hört nach sechzig Sekunden Material auf. Du bekommst die erste Minute des Videos, sechzigmal, und nichts aus den übrigen neunzehn. Die Zahl auf dem Bildschirm sagt die Wahrheit über die Menge der Dateien; über ihre Herkunft im Video sagt sie nichts. Willst du Abdeckung, nimm den Anzahl-Modus.

Noch etwas, das die Oberfläche über sich selbst falsch sagt. Der Hinweis unter den Knöpfen behauptet, jedes Bild sei ein eigener Download und es gebe kein Archiv, um sie zu bündeln. Es gibt eines: Der Knopf „Alle herunterladen“ packt die Bilder in images-video.zip, sobald es mehr als eines ist, und fragt den Browser nur einmal. Die einzelnen Download-Knöpfe unter jeder Miniatur sind da, wenn du zwei von sechzig Bildern willst, nicht weil das Werkzeug nicht zippen könnte.

Wozu die Einzelbilder wirklich taugen

Drei Zwecke decken fast alles ab, wofür Leute Einzelbilder holen. Der Kontaktbogen: zwölf bis vierundzwanzig über den Clip verteilte Bilder, klein gedruckt, sind der schnellste Weg, in einer Stunde Material zu finden, wo etwas passiert, ohne zu scrubben. Der Anzahl-Modus mit Breite 640 ist dafür gemacht. Das Vorschaubild: Plattformen beurteilen ein Video nach seinem ersten Standbild, und die automatische Wahl ist fast immer schlechter als deine. Nimm den Einzelbild-Modus, zieh den Regler, bis die Vorschau das gewünschte Bild zeigt, und extrahiere in Originalbreite. Und der Beleg: ein Moment, den du jemandem zeigen musst, der das Video nicht anschauen wird.

Für diesen dritten Zweck nimm PNG und lass die Breite in Ruhe. Ein JPG bei -q:v 2 ist sehr gut, aber es ist eine zweite verlustbehaftete Generation über der Videokompression, und wer das Bild genau prüft, sieht Artefakte von zwei Encodern statt von einem. PNG speichert genau das, was der Dekoder ausgegeben hat, die Dateien sind fünf- bis fünfzehnmal größer, und es kommt nichts hinzu. Das Bild bleibt eine Rekonstruktion und keine Fotografie — daran ändert kein Format etwas —, aber wenigstens ist diese Rekonstruktion die einzige Näherung darin.

Was jeder Breiten-Knopf mit drei üblichen Quellformaten macht (scale=w='min(W,iw)':h=-2, Höhe auf die nächste gerade Zahl gerundet)
Breiten-KnopfAus 1080×1920 (Telefon, Hochformat)Aus 1920×1080 (Querformat)Aus 3840×2160
Original1080×1920 unverändert1920×1080 unverändert3840×2160 unverändert
640 px640×1138 — 65 % weniger Pixel640×360 — 89 % weniger Pixel640×360 — 97 % weniger Pixel
1280 px1080×1920 unverändert — gedeckelt1280×720 — 56 % weniger Pixel1280×720 — 89 % weniger Pixel
1920 px1080×1920 unverändert — gedeckelt1920×1080 unverändert1920×1080 — 75 % weniger Pixel
Einzelbilder aus einem Video holenHol Standbilder aus einem Video — eines, das du am Regler wählst und vorher siehst, eine feste Anzahl oder eines alle paar Sekunden.Tool ausprobieren

Häufige Fragen

Soll ich JPG oder PNG wählen?
JPG für alles, was du anschauen, teilen oder in ein Dokument kleben willst: Das Werkzeug schreibt es mit -q:v 2, der zweitbesten Stufe einer Skala von 2 bis 31, und die Artefakte, die es hinzufügt, sind weit unscheinbarer als die schon im Video vorhandenen. PNG für alles, was untersucht, vergrößert oder bestritten wird, weil es gar nichts hinzufügt: Es speichert die Dekoder-Ausgabe Byte für Byte. Rechne mit PNG-Dateien, die fünf- bis fünfzehnmal so groß sind wie das entsprechende JPG. Für keines von beiden gibt es einen Qualitätsregler: Die JPG-Stufe steht fest im Code, und PNG hat keine Stufe.
Warum ist mein extrahiertes Bild unschärfer, als das Video aussah?
Weil Bewegung Kompression verbirgt und Stillstand sie bloßlegt. Bei 30 Bildern pro Sekunde integriert dein Auge dreißig Näherungen je Sekunde und liest das Ergebnis als scharfe Szene; hältst du auf einer an, bleibt nur die Näherung. Dazu kommt: Das gewählte Bild ist vermutlich kein Keyframe, sondern eine Rekonstruktion aus einer Kette von Differenzanweisungen. Extrahiere probeweise eine kurze Serie rund um denselben Moment und vergleiche: Eines wird merklich sauberer sein, und das liegt auf oder nahe einem Keyframe.
Kann ich wirklich jedes Bild des Videos bekommen?
In einem Durchgang nicht: Die Grenze liegt bei 60 Bildern, etwas mehr als zwei Sekunden Material bei 25 Bildern pro Sekunde. Diese Grenze ist nicht willkürlich — sechzig Standbilder in voller Auflösung sind schon zig oder hunderte Megabyte, die gleichzeitig im Browserspeicher liegen, und ein Tab hat weit weniger Platz als ein Desktop-Programm. Brauchst du wirklich jedes Bild einer kurzen Passage, schneide den Clip zuerst auf die interessanten Sekunden und nutze dann den Abstands-Modus mit einem Abstand gleich einer Bilddauer — eins geteilt durch die Bildrate des Clips, also 0,04 bei 25 Bildern pro Sekunde. Ein kürzerer Abstand bringt nichts: Der fps-Filter hat keine zusätzlichen Bilder zu vergeben und wiederholt einfach die vorhandenen. Du hörst weiter bei sechzig auf, aber es sind sechzig aufeinanderfolgende Bilder statt einer Stichprobe.
Wird mein Video irgendwohin hochgeladen?
Nein. Der Dekoder ist ffmpeg, nach WebAssembly kompiliert und von dieser Seite selbst statt von einem Content-Delivery-Netz ausgeliefert, und er läuft im Tab. Deine Datei wird in den Speicher der Seite gelesen, dort verarbeitet, und die entstehenden Bilder bekommst du als Downloads zurück. Nichts verlässt den Rechner — auch deshalb dauert ein langer Clip: Ein einzelner Browser-Thread erledigt Arbeit, die ein Desktop-Rechner auf alle Kerne verteilen würde.
Warum liefert ein Bild pro Sekunde nur den Anfang eines langen Videos?
Weil der Abstands-Modus die Abtastrate festlegt und dann bei der 60-Bilder-Grenze stoppt. Ein Bild pro Sekunde heißt fps=1.000000, und -frames:v 60 hält ffmpeg nach dem sechzigsten Ausgabebild an, also sechzig Sekunden in die Quelle hinein. Alles nach der ersten Minute wird nie erreicht. Der Anzahl-Modus verhält sich anders: Er leitet die Rate aus der Gesamtdauer ab, also werden 60 Bilder aus einer zweistündigen Aufnahme zu fps=0.008333 und liegen von Anfang bis Ende zwei Minuten auseinander. Nimm den Anzahl-Modus, wann immer du das ganze Video sehen willst, und den Abstands-Modus nur für den Anfang oder für einen bereits geschnittenen Clip.

Artikel, die dich interessieren könnten

Alle Ratgeber
RatgeberWarum ein drei Sekunden langes GIF schwerer wiegt als das Video, aus dem es stammtEin GIF hat keine echte Videokompression: jedes Einzelbild ist ein vollständiges Bild, gedeckelt bei 256 Farben. Daraus folgt eine Rechnung, die du im Kopf machen kannst — Breite mal Höhe mal Bildzahl — und drei Hebel für den Moment, in dem das Upload-Feld sagt, die Datei sei zu groß.RatgeberWelche Videoauflösung wählen — und was jede Stufe in Megabyte kostetVon 1080p auf 720p halbiert das Bild nicht: es entfernt 56 % der Pixel und deutlich weniger davon aus der Datei. Hier ist die Leiter mit echten Pixelzahlen, ehrlichen Bitraten und dem Gewicht von drei Minuten auf jeder Stufe — samt dem Grund, warum eine Quelle mit niedriger Bitrate kaum schrumpft.AnleitungEin Video unter das Upload-Limit bringen, ohne zu ratenDer Qualitätsregler kann keine Dateigröße anpeilen — dafür ist er nicht da. Aber das Limit und die Länge deines Clips legen die erlaubte Bitrate bereits fest, und eine Division sagt dir, ob die genutzte Auflösung überhaupt hineinpassen kann.ErklärungEin Video um 90° oder 180° drehen: das Flag oder die PixelEs gibt zwei völlig verschiedene Arten, ein Video zu drehen, und nur eine rührt das Bild an. Dieses Werkzeug nimmt den langsamen, verlustbehafteten, universellen Weg — und gut möglich, dass dein querliegender Handyclip ihn gar nicht braucht.ErklärungMOV zu MP4: Warum sich das iPhone-Video unter Windows nicht öffnen lässtDie Dateiendung ist fast nie das eigentliche Problem. Eine .mov und eine .mp4 sind Cousins aus derselben Formatfamilie, und was das Video wirklich stoppt, ist der darin eingeschlossene Codec — meistens HEVC. So unterscheidest du die beiden Fehler, und so erkennst du, wann der Tausch der Verpackung reicht.ErklärungWarum dein Videoschnitt zwei Sekunden zu früh landetDu wolltest 1:23 und hast 1:21 bekommen. Nichts ist kaputt: ein Schnitt ohne Neukodierung kann nur auf einem Keyframe landen, und wie weit der nächste entfernt ist, hängt ganz davon ab, was das Video aufgenommen hat. So erkennst du, was du hast, und wann du die Abweichung hinnimmst.

Ähnliche Tools

Diese vier Werkzeuge lassen ffmpeg in deinem Browser laufen: Es wird nichts hochgeladen, und nichts davon hängt daran, dass ein Server steht. Das beschriebene Verhalten wurde im Quelltext jeder Komponente gelesen und dann bestätigt, indem dieselben Argumentlisten gegen genau den ffmpeg-Build ausgeführt wurden, den die Seite ausliefert — es gilt also für die heute laufende Fassung, nicht für ffmpeg im Allgemeinen. Größen und Lautheitswerte stammen aus kurzen, synthetischen Testdateien; dein eigenes Material liefert bei denselben Befehlen andere Zahlen. Wo der Bildschirmtext eines Werkzeugs und sein Code einander widersprechen, folgt dieser Artikel dem Code.

Quellen

Hast du einen Fehler in diesem Artikel entdeckt?

Standbilder aus einem Video holen — und warum sie weicher aussehen als das Video — OneKitly