Wie kann man alle zwei Frames eines vorhandenen Videos in eines integrieren, um eine geringe Beleuchtung auszugleichen?

Einige Mobiltelefone sind in der Lage, schwache Lichtverhältnisse auszugleichen, indem sie alle zwei oder mehr Bilder in einem integrieren. Das Ergebnis ist ein Video mit variabler Framerate, bei dem jedes Bild seinen eigenen Zeitstempel hat. Diese Art von Filmmaterial zeigt korrekt beleuchtete Motive, aber Sie bemerken den Rückgang der Bildrate, weil die Bewegung nicht flüssig ist und die Bilder auch verrauschter werden (weil Sie auch das von der Elektronik erzeugte Rauschen hinzufügen). Jedenfalls erscheint es mir wie ein technisches Wunderwerk, wenn man bedenkt, dass die Eintrittspupille solcher Geräte nicht größer als 1 mm im Durchmesser sein darf.

Angenommen, Sie haben das Telefon gezwungen, mit einer festen Bildrate aufzunehmen (z. B. 1280 x 720p30 mit OpenCamera in Android). Es sollte möglich sein, beispielsweise 30p in 15p umzuwandeln, indem die in den entsprechenden Pixeln von jeweils zwei Frames gespeicherten Werte zu einem addiert werden. Ich weiß, dass dieser Vorgang möglich ist, weil er in anderen Zusammenhängen üblich ist, zB bei astronomischen Bildern.

Meine Tools sind ffmpeg und Blender. Ich wäre dankbar, wenn jemand die Antwort auf diese Tools beschränken könnte, obwohl andere Lösungen auch willkommen sind, weil sie mich auf die richtige Spur bringen könnten, um nach geeigneten Alternativen zu suchen.

Antworten (3)

Wie Sie anmerken, verringert das Hinzufügen (Integrieren) jedes Paares benachbarter Frames, um einen neuen Frame zu erstellen, die Framerate.

Wenn Sie jedoch nur benachbarte Frames integrieren möchten, sollten Sie das Video in eine separate Timeline duplizieren, die um genau einen Frame verschoben ist. Wenn Sie diese beiden Streams integrieren, erhalten Sie ein neues Video mit derselben Bildrate, aber insgesamt um ein Bild kürzer.

Alle anderen genannten Probleme könnten auftauchen, aber zumindest würde sich die Bildrate nicht ändern.

Das ist eine clevere Idee, aber haben Sie sie getestet? Es würde mich besser interessieren, ob es irgendwelche unerwarteten Ergebnisse gibt.
@DigiVisionMedia - Nein, ich habe es nicht getestet. Wenn ich die Mittel hätte, es zu testen, würde ich es tun, wie es jeder könnte. Wie ich bereits sagte, könnten alle anderen erwähnten Probleme auftauchen, und ich bin sicher, dass der „Erfolg“ vom Inhalt abhängig wäre. Aber es würde das erklärte Ziel erreichen, ohne die Bildrate zu ändern.

Meine eigene, nicht ganz zufriedenstellende Antwort, die hilfreich sein könnte:

Diese sehr einfache Zeile macht den Trick:

ffmpeg -i input vf "tblend=addition,framestep=2" {encoding options} output

Z.B

ffmpeg -i input.mp4 -vf "tblend=addition,framestep=2" -c:v libx264 -crf 16 -c:a copy output.mp4

input.mp4 hatte eine variable Framerate <=30, wohingegen output.mp4 15 fps hat. Ich hätte eine konstante Bildrate für die Ausgabedatei angeben können, z

ffmpeg -i input.mp4 -vf "tblend=addition,framestep=2" -c:v libx264 -r 30 -crf 16 -c:a copy output.mp4

Ich werde meine eigene Antwort nicht akzeptieren, da das Ergebnis dieses Prozesses eine hässliche Überlagerung der sich bewegenden Objekte zwischen aufeinanderfolgenden Frames ist, sodass eine Art adaptives Weichzeichnen erforderlich ist. Daher lasse ich die Frage offen, ob jemand eine bessere Lösung finden kann.

Sie haben darum gebeten , die in den entsprechenden Pixeln von jeweils zwei Frames gespeicherten Werte zu addieren, und genau das tut Ihre Methode. Dies führt zu einer "hässlichen Überlagerung". Vielleicht möchten Sie nur einen Filter verwenden, um die Helligkeit zu erhöhen.
Mulvya ist der ansässige ffmpeg-Experte. -- Eine verringerte Framerate ermöglicht es dem Verschluss, länger offen zu bleiben und mehr Licht zu sammeln, und das Stapeln astronomischer Bilder beruht auf der extrem langsamen Bewegung der betreffenden Objekte. --- Bei einem bestehenden Video und einer Bewegung muss jeder Frame gut genug sein, es gibt nichts hinzuzufügen oder zu stapeln. Sie können Kurven verwenden, um nur die dunklen Bereiche aufzuhellen und die hellen Pixel in Ruhe zu lassen. Funktioniert diese Antwort für Sie: video.stackexchange.com/a/13110/18314 ?
@Mulvya Das Erhöhen der Helligkeit führt aufgrund von Diskretisierungsrauschen zu sehr hässlichen Ergebnissen. Es muss eine Lösung geben, die etwas Ähnliches wie Frame-Interpolation oder eine Art richtungsadaptiven Filter oder so etwas enthält.
@Rob Mmm Ich denke du hast recht. Wahrscheinlich fügt das Telefon keine Bilder hinzu, sondern integriert mehr Zeit in jedes Bild (und nimmt auch weniger Bilder pro Sekunde auf).
Sie können versuchen, die Tblend-Methode durch Bildstabilisierung zu verbessern. Aber erwarten Sie nicht zu viel, Ihr "schwaches Signal über wenige Bilder" wird durch Komprimierung (Quantisierung usw.) verzerrt.

Mit Physik! Alles, was Sie tun müssen, ist zunächst mit 15 Bildern pro Sekunde aufzunehmen und eine Verschlusszeit von 1/15 Sekunde (auch bekannt als 360-Grad-Verschlusswinkel) zu verwenden. Dies macht effektiv dasselbe wie das Kombinieren von zwei 1/30-Sekunden-Frames mit 30 fps mit Software, es tut es einfach, indem es das Licht überhaupt doppelt so lange auf den Sensor trifft. Keine ausgefallene Mathematik oder Berechnungen erforderlich!

Bitte beachten Sie die Wörter vorhandenes Video im Titel der Frage. Das bedeutet, dass ich nichts schießen kann. Es kommt wie es ist. Außerdem wird an mehreren Stellen im Fragetext deutlich, dass es sich um ein Video handelt, das mit einem Telefon aufgezeichnet wurde. Keine ausgefallenen Optionen über die Bildrate hinaus und nur nach Installation einer separaten App (die auch im Text der Frage erwähnt wird) namens OpenCamera.
Mir war unklar, ob Sie tatsächlich nach einem Telefon gefragt haben oder es als Beispiel verwendet haben. Insbesondere die Sprache, "einige Mobiltelefone" und "sagen wir Sie" klingen hypothetisch. Tatsächlich bin ich völlig anderer Meinung, dass "an mehreren Stellen im Fragetext klar ist, dass es sich um ein mit einem Telefon aufgenommenes Video handelt", aufgrund dieser Unbestimmtheit. Vielleicht Smartphone mit Tools auflisten? Ich gebe zu, dass ich vielleicht das Wort „vorhanden“ im Titel übersehen habe, aber da die Einzigartigkeit, Kritikalität, Authentizität oder was auch immer Ihres Filmmaterials nicht weiter betont wird, bin ich davon ausgegangen, dass es einfach neu gedreht werden könnte.
Außerdem war die einzige "ausgefallene Option", die ich Ihnen vorgeschlagen habe, die Bildrate zu ändern. Wenn Ihre Kombination aus Kamera (Telefon) und Software Ihnen das Ändern der Kameraeinstellungen verbietet, sollten Sie dies in der Frage erwähnen und nicht davon ausgehen, dass jeder weiß, was OpenCamera ist, oder jeden zwingen, zu erraten, welches Telefonmodell Sie haben (weil Sie es nicht erwähnt haben). ). Aber wenn es wirklich so ist, dass Sie diese Einstellungen nicht ändern können, ohne eine separate App zu installieren, ist es vielleicht trotzdem Zeit für ein neues Telefon.