To map a DJI drone video, use the .srt sidecar file DJI writes next to the MP4 — it contains per-second GPS coordinates timestamped to the video. Parse the telemetry into a flight path, draw it on a map, and bind a marker to the video’s playback time so the map and the footage move together. The cleanest way to do this is a platform that pairs the MP4 and SRT automatically and opens a split-screen video-and-map viewer — no scripting required.
That is the short version. The longer version is worth understanding, because most drone operators are sitting on rich GPS telemetry they do not even know they have. I have spent eight years working with spatial data, and the DJI SRT sidecar is one of the most consistently overlooked assets in a drone operator’s deliverables. Every flight produces it. Almost nobody uses it.
What the DJI SRT sidecar actually is
When you record video on a DJI drone with subtitles enabled, the drone writes two files: the video itself and a small text file beside it. They share a filename stem:
DJI_0042.mp4 ← the video
DJI_0042.srt ← the telemetry sidecar
The .srt extension is the SubRip subtitle format — the same format used for movie captions. DJI repurposes it cleverly: instead of dialogue, each timestamped subtitle block holds a snapshot of flight telemetry for that moment. Open one in a text editor and a block looks roughly like this:
1
00:00:00,000 --> 00:00:01,000
[latitude: -33.865143] [longitude: 151.209900]
[rel_alt: 42.300 abs_alt: 78.110] [iso: 100] [shutter: 1/240]
One block per second of video. Each one carries the drone’s GPS latitude and longitude, its altitude (both relative to takeoff and absolute), and the camera settings in use — ISO, shutter speed, focal length, and on some models gimbal pitch and yaw.
Because the timestamps line up with the video, the SRT is effectively a GPS track that is perfectly synchronised to your footage. Every frame of video knows where it was filmed from.
What’s inside, field by field
| Field | What it tells you |
|---|---|
latitude / longitude | GPS position of the drone at that second |
abs_alt | Altitude above sea level |
rel_alt | Altitude above the takeoff point |
iso / shutter / fnum | Camera exposure settings |
focal_len | Lens focal length (zoom position) |
| Timestamp | The moment in the video the reading applies to |
The exact field names vary slightly between DJI models and firmware versions — a Mini will format things a little differently from a Mavic 3 Enterprise — but the GPS latitude and longitude are present across the range whenever subtitles are enabled.
Why this matters for delivery
A drone video on its own is a flat rectangle. The client watches it, sees some rooftops or some coastline, and has no idea where on the site they are looking at any given moment. Is that the north boundary or the south? Is that the corner of the easement or the neighbour’s lot?
The SRT solves exactly that. Pair the video with its GPS track and your client can watch the footage on one side of the screen and see a marker tracing the flight path on a map on the other. The instant they wonder “where is this?”, the answer is right there. That is the difference between a video file and a spatial deliverable — a theme I cover in why drone video is a client deliverable.
How to map a DJI drone video, step by step
Step 1: Keep the MP4 and SRT together
This is the step everyone gets wrong. The MP4 and SRT are linked only by their shared filename stem. The moment you copy one without the other, or rename DJI_0042.mp4 to site-flyover.mp4 while leaving the SRT behind, you have broken the pairing.
When you offload the SD card, take both files. If you are zipping a flight up to hand over, put the MP4 and SRT in the ZIP together. Treat them as a single unit.
Step 2: Confirm GPS is actually in the SRT
Do not assume. SRT logging has to be switched on before the flight — it lives under “Video Subtitles” or “Video Captions” in the DJI app or on the controller. If it was off, no telemetry was written, and there is nothing to recover from the MP4 afterwards.
Open the .srt in any text editor — Notepad, TextEdit, VS Code, whatever you have. Scroll through a few blocks. If you see [latitude: ...] [longitude: ...] entries, you have GPS. If you only see camera settings, or the file is missing entirely, the flight has no usable track. Better to find this out at the desk than after telling a client they will get a map.
Step 3: Parse the per-second telemetry
To do anything with the track, you read each SRT block into a structured list — timestamp, latitude, longitude, altitude. Because SRT is plain text with a predictable shape, this is straightforward parsing: split on the blank lines between blocks, pull the timestamp from the time-range line, and extract the coordinate values with a pattern match.
The output is an ordered array of points, one per second, each tagged with the video time it belongs to. That is your flight track.
Step 4: Draw the flight path on a map
Plot those points as a line on a map. A web map library such as Leaflet handles this well — feed it the coordinate list and render a polyline. Now you have the flight path drawn over a basemap, so you can see the shape of the mission: the lawnmower pattern of a survey grid, the orbit around a structure, the linear pass along a corridor.
Crucially, keep the video timestamp attached to each point. A static line is mildly useful. A time-aware line is what makes the next step work.
Step 5: Sync the map to video playback
This is where it comes alive. Bind a marker on the map to the video element’s current playback time. As the video plays, you look up the SRT point nearest to the current time and move the marker there. As the user scrubs the video, the marker jumps to match.
Now the video and the map are locked together. Pause on an interesting feature, and the marker shows you exactly where on the site the drone was. This synchronised, two-panel experience is the goal — and it is the experience your client actually wants.
Want to skip the scripting? See how Swyvl pairs your drone footage with its GPS track automatically — drop the MP4 and SRT in together and it builds the synced viewer for you.
The tooling problem
You can do all of the above yourself. There are desktop telemetry-overlay utilities that read DJI SRT files and burn a map or a data readout into the video — DashWare, Telemetry Overlay, and a handful of open-source SRT parsers and Python scripts float around the drone community.
They work. They are also clunky. Here is the honest comparison:
| Approach | Setup | Output | Client experience |
|---|---|---|---|
| Manual SRT parse + custom script | High — write and maintain code | Whatever you build | Depends entirely on your effort |
| Desktop overlay tools (Telemetry Overlay etc.) | Medium — install, configure, export | A new rendered video with burnt-in overlay | A bigger video file; map is baked in, not interactive |
| Re-fly with a mapping app | Very high — back to site | Proper orthomosaic | Great, but enormous overkill for a video |
| Platform auto-pairing (Swyvl) | None — just upload both files | Split-screen video + live map | Interactive, synced, branded link |
The desktop tools share two real drawbacks. First, they burn the map into a re-rendered video, so the result is a heavier file and the map is a fixed picture-in-picture — the client cannot interact with it, zoom it, or read off a coordinate. Second, the re-render usually strips the SRT, so you have now spent the telemetry to produce a video that no longer carries it.
For a one-off cinematic edit, fine. For delivering survey video to a paying client, you want something cleaner.
The clean path: automatic pairing
The workflow that actually fits a delivery pipeline is one where the platform does the pairing for you. Drop the MP4 and its SRT into the same upload — individually or inside a ZIP — and the platform recognises the shared filename stem, links them, extracts the GPS track from the SRT, and opens a split-screen viewer: video on the left, live GPS map on the right, the two synced to each other.
That is exactly how Swyvl handles DJI video. There is no script to write, no overlay to render, no export to wait on. You upload the pair, and the synced video-and-map viewer is built automatically. The original MP4 stays untouched and downloadable — you are not re-encoding anything, so nothing is lost. The client gets a branded link, watches the footage, and watches the drone trace its path across their site at the same time.
The contrast with the desktop route is the contrast between transfer and delivery. A burnt-in overlay video is a transferred artefact — a flat file the client plays. A synced split-screen viewer is a delivered one — the client engages with the footage spatially, the way the data was always meant to be experienced.
A few practical notes
Don’t edit the original if you want the track
Most video editors discard the SRT and re-encode the MP4 without telemetry. If you want the GPS preserved, deliver the original camera files and keep any cinematic edit as a separate copy. You can hand over both — the raw flight for the map, the edit for the highlight reel.
Check subtitles are on for every aircraft
If you fly multiple drones or hand controllers between operators, the subtitle setting can quietly differ between them. Make “subtitles on” part of your pre-flight checklist so you never land with a trackless video.
The SRT is also a QA tool
Because it logs altitude and camera settings per second, the SRT doubles as a flight record. Did the drone hold its planned altitude? Were the exposure settings stable across the pass? The sidecar answers that without any extra capture.
Where the SRT fits in your formats
The SRT sidecar is part of the broader picture of what comes off a DJI drone and how each piece should be handled. If you want the full breakdown of containers, codecs, and the files that travel with your footage, see drone video formats explained. And for the strategic case — why this footage belongs in front of clients at all rather than buried on a drive — start with why drone video is a client deliverable.
The telemetry is already in your files. Every DJI flight with subtitles enabled has written a complete, second-by-second GPS track sitting quietly beside the video. The only question is whether you put it to work. Pair the MP4 and SRT, draw the path, sync it to playback — and a flat video becomes a map of your client’s site.
Create a free Swyvl account and upload a DJI video with its SRT. The flight path appears on the map, synced to the footage, in a viewer your client opens with a single click.