DJI OSMO, anybody tried or knows how to make work with Mapillary

Has anybody thought of using The DJI OSMO with Mapillary? I’d like to but can’t see, to figure out how.

I guess you should use the uploader on the website or an upload script @tryl knows all about upload scripts.
I don’t know if the osmo has gps, otherwise you could use a free app on your phone to record a gpx-track

1 Like

If you have the images you needs to geotag them. Either with your favorite GUI program or with the python scripts in https://github.com/mapillary/mapillary_tools/tree/master/python . Then you need to upload them, as @Harry described.

Basically it is the standard action cam workflow. Just ask any question here :slight_smile:

Hello! I made a tutorial but I can’t post it since I’m too new of a user.

I made a post on the OpenStreetMap community forum: Tutorial: How to make geotagged image sequences with a GPX track and a timelapse video - General talk - OpenStreetMap Community Forum

1 Like

I’m currently working on a pipeline to process video recordings from the DJI OSMO 360 for use with Mapillary. Here’s a draft:

Previous experiences and misconceptions: Unfortunately, a DJI OSMO 360 (firmware version November 2025) doesn’t record GPS information in time-shift mode. Therefore, for recordings suitable for Mapillary, you have to use video mode, which generates enormous amounts of data.

Operating a DJI Osmo 360 in video mode consumes a lot of power. Who wants to climb onto the car roof every 100 minutes during a long trip to change the battery? And since you’re usually not traveling alone, the constant worry about the camera’s battery level, as well as whether a sudden downpour might damage the USB-C port, can be nerve-wracking for fellow passengers. Fortunately, the Osmo 360 has hidden charging contacts on its underside. Third-party clamp mounts with these contacts are already available online. This allows for a waterproof, continuous power supply and uninterrupted recording. And now for the particularly welcome news: unlike the Insta360, DJI doesn’t impose an 8-second pause after 30 minutes. Uninterrupted long-distance recording – that’s a statement from DJI.

The UL2GSV tool OSV2GPX, extracts a GPX file from the OSMO raw data. The exported GPX file length doesn’t take into account whether the video being loaded is edited; it only extracts the time information from the video. The GPX file must therefore be externally trimmed to the video segment’s route.

But hey, at least we have a GPX track; it won’t be easy, but we can work with it.

The UL2GSV team certainly deserves our support in the form of a donation for their excellent preliminary work in making DJI GPS recordings accessible to us.

Step Description Result / Purpose
1. Recording Record a driving route with the DJI OSMO 360 camera Raw video + GPS data embedded in camera files
2. GPX Generation Use OSV2GPX to extract the GPS track from DJI raw data Complete GPX file with all trackpoints
3. Error Correction in JOSM Open the GPX file in JOSM. Manually correct faulty sections (e.g., tunnels with no signal). Curves can be redrawn by hand. Clean GPX file without signal loss
4. Macro 1 – Reduce Node Density Excel VBA reduces the point density by a factor of 10 Prevents oversampling when importing GPX into Mapillary
5. Macro 2 – Time Interpolation Missing timestamps on manually drawn nodes are interpolated Continuous timeline, essential for video synchronization
6. DJI Studio – Video Editing Split the video into ~6‑minute segments. Important: do not cut inside tunnels, to keep GPS and video aligned Segmented video files with synchronized GPS
7. Document Segment Lengths Record the length of each segment (driving time) in a TXT file or Excel column Basis for later GPX segmentation
8. GPX Segmentation (Excel Macro) Use the segment information to split the GPX data into individual sequences One GPX file per video segment
9. Final Result Combine each video segment with its corresponding GPX file StreetView‑ready video/GPX pairs with clean synchronization and no GPS dropouts

This is a rough draft. However, I can use my existing workflow for the Insta360, which uses Excel macros, as a basis for a pipeline suitable for DJI Osmo footage. What do you think?

The concept is good, but why using a Macro? It’s more easy to use a powershell script with Exiftool (and ffprobe/ffmpeg). With Gemini or ChatGPT is a script easy to produce. You’re also more flexible when you’re using menu choices. But that’s my opion :wink:

My experience with AI so far is that it promises a lot but delivers little. I prefer to develop a workflow step by step, ignoring all the grandiose promises of AI solving everything at once. With Excel, every step is understandable. For Insta360, I’ve already created my own working batch processing workflow—a workflow for which I’ve applied AI, but whose code I can trace step by step and therefore doesn’t slip out of my control.
I’m very open to parallel suggestions for implementing these steps with other tools, which is precisely why I’m publishing this project here at a very early stage. May the best solution win.

Advertisement: the perfect accessory for continuous operation of a DJI OSMO 360 on the car roof, without having to worry that the sensitive USB port of the OSMO will be submerged in the next downpour:
TELESIN Magnetic Qucik Release Two Claw Charging Adapter Mount For DJI OSMO . https://de.aliexpress.com/item/1005010236916894.html?channel=twinner

1 Like