KlvInjector can be used for converting DJI drone telemetry into MISB 0601 metadata and multiplexing with the video to create a standard compliant STANAG 4609 files or streams.
Generated MISB 601.X metadata fields - MISB 601 metadata generated from DJI logs.
- Note
- Please use Follow Mode (not FPV Mode) for better results.
First, we have to extract the telemetry from DJI log files. You can use any method you want and produce the MISB .csv or .json files or simply use one of the following services (the easiest way):
Using Airdata site to export the logs (preferred method).
- Upload your flight
- Download telemetry in csv format
CSV Export
Using PhantomHelp Log Viewer to export the logs.
- Upload your flight
- Download telemetry in csv format (use Verbose Csv option)
CSV Export
- Note
- PhantomHelp Log Viewer seems to have a problem with correct altitude...
Converting to STANAG 4609.
- Select video file.
Select video
- Transcode or Remux video. As DJI videos are .mp4 or .mov files and STANAG 4609 implies TS, we should remultiplex (with optional trancoding) the video file. Of course, you can transcode your video externally and import .ts file.
Transocde video
- Note
- If you don't want to change video resolution, bitrate, etc, select Remux option. This will keep your original video and multoplex it into TS container. Video trancoding for high resolution 4K content is CPU intensive task and may take long time on slow computers.
- Select telemetry data file.
Select telemetry
When you load your .csv file the KlvInjector should detect a file format and present it, as shown above. You can add some additional information that depends on your specific drone model + some generic descriptive info. - Note
- The FOV and Sensor Apect Ratio are crucial for correct corner points calculation, so have a look at your DJI manual to get the correct numbers.
- Add additional (optional) static metadata, like Security Metadata Set, if needed. Use manually created .json of encoded .bin klv packet.
Add stataic metadata
You can select to add it to every packet.
- Set telemetry Offset. If your video and telemetry do not have their start times synchronized (as log recording and video recording actions are usually independent) you should either cut the relevant records from the .csv file or use Offset option.
Set televetry offset
- Configure Frame center and Corner Points calculation options.
- Configure ground elevation data. You can set the value manually or get it from the elevation server (for the entire flight path). More info on Ground elevation server - Elevation Server.
Configure additinal metadata calculation
Unfortunately, DJI logs do not provide neither Frame center nor Corner points telemetry, so KlvInjector will try to calculate this information based on the existing telemetry. More on this Frame center and Corner Points calculation. - Note
- This calculation based on some assumptions that are not always correct and therefore the resulting computations may be not accurate.
- KlvInjector does use terrestrial elevation data for the footprint, so if your flight in somewhere in the mountains, the resulted information won't be accurate.
- Altitude. KlvInjector sets Density Altitude as the "Height above takeoff"
- Set additional info, Security Metadata set, etc. See Metadata Preprocessing. for more info.
- Select SYNC / ASYNC Klv mode and other parameters, if needed.
Injector Configuration
- Configure target file / stream.
Target Configuration
- Last but not least. You can select video preview (for network streaming or just for previewing the results) or faster than real time processing.
Video Preview
- Start Processing. You can preview the inserted metadata by opening the KlvView window
Klv Preview
After processing is complete, you'll have a reall STANAG 4609 file, (almost) like from the $500K camera :-)
STPlayer preview
As we now have a corner point info, we can calculate the filmed area
STPlayer preview. Filmed Area
Or the camera Heatmap / Point of interest.
STPlayer preview. Heatmap Area