Update February 2026:
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.
Dean Zwikel’s UL2GSV tool extracts a GPX file from the raw OSMO data. This tool also patches the MP4 file created with DJI Studio so that it contains the correct time. Unfortunately, UL2GSV currently doesn’t take video editing, for example using DJI Studio, into account. For Mapillary purposes, we therefore need to pay attention to the recording length during the recording process itself. Anyone who tries to upload an unprocessed MP4 file (without time information) to Mapillary will find that the video plays twice as fast as the GPX track..
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 360-degree video with the DJI OSMO 360 camera. Select video resolution: 8K 24 frames. To obtain a usable GPX file, I recommend using a universal Bluetooth GPX remote from STARTRC. | Raw video + GPS data embedded in camera files |
| 2. Software | You will need the OpenStreetMap Editor JOSM, DJI Studio, and Excel installed on your computer, along with the Excel VBA macros I described here: No more GPS stress thanks to navigation using video frames - #6 by osmplus_org, and the tool OSV2GPX.exe by Dean Zwikel and the Mapillary Desktor Uploader | I use the following computer setup: A MacBook Pro with additional cooling fans for DJI Studio and JOSM. A Windows PC for Excel macros and OSV2GPX.exe. An Ubuntu machine with 16GB of RAM for uploading with the desktop uploader. The result is performance and perfection. |
| 3. Preparation of data | Copy a maximum of 8 DJI Studio raw recording files (without a directory) to an external SSD. Also copy the OSV2GPX.exe tool and a shortcut to the Excel file to the SSD. | |
| 4. MP4 Generation | Create MP4 files in 24 frames per second, 8K resolution using DJI Studio. The MP4 file size, independent of the actual video size, should not exceed 40 GB. Use a separate SSD as the storage location for the DJI project file. It’s best to save the exported MP4 files on the same external SSD drive as the DJI raw files. I name each MP4 export file with the same sequential number as the original OSV file. | For example, CAM_20260214113010_0004_D.OSV becomes 4.MP4 |
| 5. MP4 Rename | Rename the exported MP4 files so that they subsequently have the same name as the original OSV file. | For example, CAM_20260214113010_0004_D.OSV and the exported 4.mp4 file are renamed to CAM_20260214113010_0004_D.mp4 |
| 6. GPX Generation | Count the number of exported MP4 files and open a corresponding number of OSV2GPX windows. Select OSV raw data, analogous to the MP4 files, and extract a GPX file from each of these. Leave the OSV2GPX windows open for now. For each window, select the MP4 export that corresponds to the OSV raw data and transfer the date and time from the OSV file to the MP4 file. | You now have GPX files and videos with the correct time for each recording. |
| 7. GPX Reduktion | To reduce GPX density, run my Excel VBA BatchReduceGPX_XM function. | You will receive GPX files whose GPX node density has been reduced by a factor of 28. The macro creates a directory called “Reduced” for reduced GPX datasets. |
| 8. Error Correction in JOSM | Run my VBA macro OpenJOSM, which opens all GPX datasets in the JOSM editor. Convert individual GPX datasets into JOSM tracks and check their location using aerial photos or OpenStreetMap. You can now correct errors, add additional GPX nodes for tunnels, or, as I described, set frame points for terrain crossings where you know the location of the change in direction. Make sure you export the edited GPX track to the GPX_Reduced directory by overwriting the original GPX file. | Clean GPX file without signal loss |
| 9. GPX Filler | Now, for GPX data records contained in the GPX_Reduced# directory, run my macro BatchProcessFüller. | The macro calculates the appropriate time for each frame point and adds the appropriate time for newly added GPX points through interpolation. The processed GPX datasets are then exported to a directory called Export. |
| 10. Merging data | Move the MP4 files named #dated.mp4 to the Export directory. | Preparation for upload completed |
| 11. Upload | Connect the SSD drive to an Ubuntu computer and upload the data using the Mapillary Desktop Uploader. | complete |