GeoFrame v1.0.0

Video Keyframer & Geotagger

A specialized tool for aerial photogrammetry workflows. It extracts keyframes from drone videos (MP4, MOV) and uses embedded telemetry to accurately georeference every exported photo.

Runs via Python CLI / GUI under Windows & macOS
100% FreeOpen Source Python Utility
DJI Air 3Sdjmd Telemetry Support
ExifToolPrecision Tagging

Engineered for Photogrammetry

Designed to streamline camera calibration workflows on remote mapping operations.

Professional Geotagging

Embeds GPS Latitude, Longitude, and Altitude directly into image EXIF data.

Sensor Metadata Preservation

Copies Make, Model, Focal Length, and Creation Date from the drone's video header so software like PixElement can automatically recognize the camera.

DJI Air 3S Support

Specifically tuned to read the hidden djmd telemetry tracks in the latest DJI drones.

Batch Processing

Select multiple videos at once and process them in one click.

Sub-folder Organization

Automatically creates a separate folder for each video to keep your datasets organized.

Offline Verification

Perform telemetry decodes and EXIF injections entirely locally. Perfect for remote sites without network access.

Interactive App Simulator

Experience the functional desktop GUI and command line operations directly below.

GeoFrame Panel
Videos Selected (2)
DJI_0021.MP4
450 MB
DJI_0022.MP4
380 MB
Output Directory
Extraction Frequency1.0 FPS
Job Progress0%
Real-Time LogsStdout
[log] Ready. Click 'START EXTRACTION' to process selected videos.

Setup Instructions

Follow these steps to deploy and run the utility on your workstation.

1

System Requirements

You must install these command-line tools and ensure they are in your system's PATH:

FFmpeg

For video frame extraction.

winget install ffmpeg

ExifTool

For reading telemetry and writing metadata.

winget install OliverBetz.ExifTool
2

Setup

Clone the repository and install the dependencies:

1. Clone this repository

git clone https://github.com/PixElement/video-keyframer.git
cd video-keyframer

2. Install Python dependencies

pip install -r requirements.txt
3

Usage (GUI)

The easiest way to use the tool is through the Desktop GUI:

1. Run the app

python gui.py

2. Select Videos

Click the Browse button next to "Videos Selected". You can select one or multiple .mp4/.mov files.

3. Output Directory

Click Browse to choose where the images should be saved.

Note: Each video will get its own sub-folder inside this directory (e.g., output/DJI_001/).

4. Set FPS

Adjust the Frames Per Second (e.g., 1.0 extracts 1 frame per second of video).

5. Start

Click START EXTRACTION and watch the real-time log for progress.

4

Usage (CLI)

For command-line power users:

python extractor.py path/to/video.mp4 --outdir ./my_exports --fps 1.0

Frequently Asked Questions

Clear answers to technical details and operational requirements.