Extrahieren Sie Bilder aus dem Video und setzen Sie den Bildern einen Zeitstempel

1467
Peter

Ich möchte alle 10 Sekunden Frames aus einem Video extrahieren und diese mit einem GPX-Track geotagieren.

Auf meinem Windows 8-Computer habe ich Werkzeuge zum Extrahieren der Frames (FFMPEG), zum Einstellen von Bildzeitstempeln (ExifTool) und zum Geotag der Bilder (GeoSetter).

Ich weiß jedoch nicht, wie ich den Zeitstempel vom Video auf den Zeitstempel des aufgenommenen Frames kopieren soll.

0
Siehe [diese Antwort] (http://superuser.com/questions/841872/how-do-i-extract-the-timestamps-associated-with-frames-ffmpeg-extracts-fr-a-vi/842397#842397) . Aber es ist für Linux. slhck vor 9 Jahren 0
@slhck: In diesem Beispiel wird auch eine Textdatei mit Dateinamen und Zeitstempeln erstellt. Es weist den Dateien keine Zeitstempel zu. Peter vor 9 Jahren 0
Das wäre eine einfache Sache, indem Sie die Zeilen durchlaufen und die Dateien nach diesem Muster umbenennen. Ich weiß nicht mal, ob das für Sie funktioniert, da Sie Windows 8 erwähnen. Haben Sie schon etwas probiert? slhck vor 9 Jahren 0

1 Antwort auf die Frage

1
Krzysiu

Diese Batchdatei extrahiert alle X Sekunden Frames und gibt sie dann mit Geotags versehen: https://gist.github.com/Krzysiu/345c37b08d79d5f47971167e33bb2bd3

Es erfordert ffmpegund exiftool. Alle Einstellungen müssen manuell ausgefüllt werden (Zeilen 28-68).

Wie funktioniert es intern?

  1. Zunächst werden Frames mithilfe des ffmpeg-Filters mit den richtigen Optionen extrahiert (die Standardeinstellungen werden dies nicht tun)
  2. Sie setzt den gleichen Zeitstempel für alle extrahierten Frames *. Der Zeitstempel kann manuell mit einem Zeitstempel oder einem Tag / einer Datei zum Ändern und Erstellen von Zeit aus einer Videodatei bereitgestellt werden
  3. Die Zeitverschiebung für jedes Bild wird angewendet. Ich habe diese Methode verwendet, da es scheinbar keine einfache Möglichkeit gibt, die Zeit bei manuellem Zeitstempel zu verschieben.
  4. Frames werden mit einer gpx-Datei mit Geotags versehen.

* in der Tat %output_directory%\%frame_prefix%*.jpg, wenn alle Dateien übereinstimmen . Wenn Sie also zuerst 150 Frames und dann 100 in dasselbe Verzeichnis und mit demselben Präfix extrahiert haben, werden alle 150 Frames verarbeitet, einschließlich 101-150 aus einem früheren Durchlauf.

Möglicherweise ist dies viel schneller möglich - Ausdruck in Exiftool, der den Dateiindex mit X von "Frame alle X Sekunden" multipliziert. Ich bin nicht so gut mit Perl-Ausdrücken und Exiftool, also habe ich es so gemacht.