protobuff format vtm_wm265e.proto unknown for DJI Mavic 3

Started by franck, January 16, 2025, 11:36:04 AM

Previous topic - Next topic

franck

Hello,
I try to extract GPS, pitch roll... infos and failed.
I got Warning": "Unknown protocol dvtm_wm265e.proto (please submit sample for testing)" in exif data.
I send to you a sample.
You have a great tool !

Thx

Phil Harvey

Thanks for the sample.  I've managed to extract the timed GPS from this protocol, and ExifTool 13.13 will extract the track.  I can't find an accurate timestamp though, so GPSDateTime will be approximate.

If you want the pitch and roll then we have more work to do.  Take a look at the output of this command and see if you can figure out which of the unknown tags corresponds to these:

exiftool -ee -u -G3 FILE

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

franck

Yes very good.
The command show a lot of things, but can't identify which is yaw, roll....
To try to match value, For I got a SRT file produce by DJI. (I send to you now).

Phil Harvey

#3
Hi Franck,

The SRT file does help, thanks.

The decoding was complicated because DJI doesn't know how to properly encode negative numbers in protobuf format.  They sort of miss the whole point of this compact format, and end up using 10 bytes to store a small negative number instead of 1 byte if stored properly.

But anyway, I digress.

I have hacked a patch to allow for these improperly stored numbers, and here is an excerpt of what I can now extract from your video:

[Doc1]          Protocol                        : dvtm_wm265e.proto
[Doc1]          Model                           : DJI DJIMavic3 Enterprise
[Doc1]          Frame Width                     : 3840
[Doc1]          Frame Height                    : 2160
[Doc1]          Frame Rate                      : 29.9699993133545
[Doc1]          ISO                             : 100
[Doc1]          Shutter Speed                   : 1/345
[Doc1]          Digital Zoom                    : 1
[Doc1]          Drone Roll                      : 1.7
[Doc1]          Drone Pitch                     : 2.9
[Doc1]          Drone Yaw                       : 49
[Doc1]          GPS Latitude                    : [redacted]
[Doc1]          GPS Longitude                   : [redacted]
[Doc1]          Absolute Altitude               : 91.175
[Doc1]          Relative Altitude               : 37.067
[Doc1]          Gimbal Pitch                    : -4.5
[Doc1]          Gimbal Yaw                      : 49.2
[Doc1]          Warning                         : [minor] Approximating GPSDateTime as CreateDate + SampleTime [x1267]
[Doc1]          GPS Date/Time                   : 2025:01:08 10:33:27.000Z

I plan to release ExifTool 13.13 with this update early next week.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

franck

Hi,
It works, thx.
How you get tagname, for example I use gpslatitude.
But for Altitude, what is the name of the property ?

Phil Harvey

...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

StarGeek

Also FAQ #3, which will let you know if the tag is GPS:GPSLatitude (aka EXIF:GPSLatitude), XMP-exif:GPSLatitude, or even a GPSLatitude tag which belongs to a different group.

You can also browse through Tags Names page though that can be overwhelming, as exiftool knows 28,258 different tags.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype