Beibehaltung von Metadaten (Uhrzeit/Datum) beim Extrahieren von Einzelbildern aus Videos

Umstände

Ich habe vor kurzem angefangen, Frames aus Videos (GoPro) für die Unterwasserfotografie zu extrahieren. Ich verwende derzeit Adobe Premiere Pro, was funktioniert, aber als ich diese neuen Fotos in Lightroom importierte, stellte ich fest, dass die Datums-/Uhrzeit-Metadaten der Bilder nicht mit den Metadaten des Videos übereinstimmen (sie haben das Datum und Zeitpunkt, zu dem ich sie extrahiert habe, aus offensichtlichen Gründen).

Das ist wirklich nicht praktisch, da ich die Zeit für jedes dieser neuen Bilder manuell neu einstellen muss (ich möchte, dass alle meine Bilder genaue Datums-/Uhrzeit-Metadaten haben, da ich oft zurückblicke und wissen möchte, wann ich diese aufgenommen habe Bilder).

Frage

Wie kann ich ein Bild aus einer Filmdatei extrahieren und die Datums-/Uhrzeit-Metadaten aus dem Video im Bild speichern? Wenn dies möglich ist, wie kann ich die Zeitdifferenz zwischen dem Ort des Frames und dem Start des Videos speichern?

Ich danke Ihnen sehr.

Willkommen Julian :) Beginnen Sie bitte mit der Tour: video.stackexchange.com/tour , um Ihr erstes Abzeichen zu erhalten ;) Viel Spaß auf der Seite!
Gute Frage. Ich denke, idealerweise möchten Sie, dass die extrahierten Frames die Uhrzeit / das Datum in den EXIF-Metadaten sowie (oder anstelle der) Dateimod-Zeit speichern.
Das Kopieren der Datei-Mod-Zeit von einer Datei in eine andere Datei ist einfach ( touch file.jpg --reference=file.mp4unter GNU/Linux oder Cygwin), aber IDK aller Video-Framegrabber, die dies automatisch tun.
Wissen Sie, ob es möglich wäre, ein kleines Programm zu haben, das einen ganzen Ordner (in dem sich sowohl die Bilder als auch die Videos befinden) durchgehen und dies automatisch tun würde? Das einzige Problem wäre, dass ich für jedes Video mehrere Frames erstelle (oder manchmal keinen Frame aus einem anderen Video erstelle). Wenn das Video also GOPR2499 heißt, heißen meine Frames GOPR2499.MP4.Still001 und GOPR2499.MP4.Still002 usw. ...
Ich habe 2 Informatikkurse belegt, damit ich sehen kann, wie ich ein Programm schreiben kann, das jede Datei durchgeht, auf IF-Anweisungen prüft und entsprechende Dinge tut, aber ich habe einfach nie ein Programm geschrieben, das Dateien in meinem Computer beeinflusst, also tue ich es Ich weiß nicht, welche Sprache ich verwenden oder wie ich auf Dinge in meinem Computer verweisen soll. Ich kenne OCaml und JAVA, die ich beide in der IDE namens Eclipse verwende.

Antworten (1)

Wenn Sie Frames von PP mit dem Snapshot-Tool speichern, wird standardmäßig eine Datei im Format SEQUENCENAME_TIMECODE gespeichert. Wenn Sie Datum/Uhrzeit des Sequenzstarts kennen, können Sie Frame-genaue Metadaten berechnen, indem Sie den Timecode des Bildes zum angepassten Datum/Uhrzeit des Sequenzstarts addieren. (Mit angepasster Datumszeit meine ich, dass, wenn Ihre Sequenz um 01:00:00:00 beginnt und Ihr tatsächlicher Clip am 1. April 2014 um 16:20:25:15 war, Sie eine Stunde von der Clipzeit bis abziehen müssen Berücksichtigung des SMPTE-Offsets).

Als Programmiersprachen, die das tun, was Sie wollen, schauen Sie sich bash (die Bourne Again Shell), Python und/oder Perl an. Perl ist wahnsinnig cool darin, wie es Strings schneiden und würfeln, rechnen und die Strings wieder zusammenfügen kann. Aber es ist auch verdammt schwer, es idiomatisch zu lernen. Python ist vielleicht der beste Ausgangspunkt.

EXIFtool ist eine großartige Möglichkeit, korrekte Metadaten in Bilddateien einzubetten: http://www.sno.phy.queensu.ca/~phil/exiftool/

Und es ist eine Möglichkeit, etwas Perl zu lernen, während Sie gerade dabei sind.