MOV file from DJI, GPS error

Started by fmp2a, February 16, 2016, 02:49:07 PM

Previous topic - Next topic

fmp2a

Hi,
Exiftool is a great tool. I use it from a very long time and I am happy with it.
But now I encounter a problem with new MOV files from DJI Phantom 3. Exiftool doesn't read correctly some tags.
I see errors or problems on GPS tags...

Here an output exemple:

C:\PortableApps\exiftool\exiftool-10.10>"exiftool(-k).exe" C:\Personnel\MEDIAS\P
HOTOS\IN\100MEDIA\DJI_0238.MOV -v
  ExifToolVersion = 10.10
  FileName = DJI_0238.MOV
  Directory = C:/Personnel/MEDIAS/PHOTOS/IN/100MEDIA
  FileSize = 1499945582
  FileModifyDate = 1454588652
  FileAccessDate = 1454684332.9102
  FileCreateDate = 1454684332.9102
  FilePermissions = 33206
  FileType = MOV
  FileTypeExtension = MOV
  MIMEType = video/quicktime
  FileType (SubDirectory) -->
  + [BinaryData directory, 24 bytes]
  | MajorBrand = qt
  | MinorVersion =  ..
  | CompatibleBrands = qt
  MovieDataSize = 1499750345
  MovieDataOffset = 40
  MovieData
  Movie (SubDirectory) -->
  + [Movie directory]
  | MovieHeader (SubDirectory) -->
  | + [BinaryData directory, 100 bytes]
  | | MovieHeaderVersion = 0
  | | CreateDate = 3537436562
  | | ModifyDate = 3537436562
  | | TimeScale = 25000
  | | Duration = 11998000
  | | PreferredRate = 65536
  | | PreferredVolume = 256
  | | MatrixStructure = 1 0 0 0 1 0 0 0 16384
  | | PreviewTime = 0
  | | PreviewDuration = 0
  | | PosterTime = 0
  | | SelectionTime = 0
  | | SelectionDuration = 0
  | | CurrentTime = 0
  | | NextTrackID = 2
  | UserData (SubDirectory) -->
  | + [UserData directory]
  | | [b]GPSCoordinates = ...+41.956437+8.708646+2.600[/b]
  | | UserData_xsp = ...+0.10
  | | UserData_ysp = ...+0.00
  | | UserData_zsp = ...+0.10
  | | UserData_fpt = ...-6.90
  | | UserData_fyw = ...-32.70
  | | UserData_frl = ...-0.60
  | | UserData_gpt = ...+0.00
  | | UserData_gyw = ...-33.10
  | | UserData_grl = ...+0.00
  | | UserData_dji = ...
  | | UserData_res = ...8.P
  | | Meta (SubDirectory) -->
  | | + [Meta directory]
  | | | Handler (SubDirectory) -->
  | | | + [BinaryData directory, 24 bytes]
  | | | | HandlerClass =
  | | | | HandlerType = mdir
  | | | | HandlerVendorID =
  | | | ItemList (SubDirectory) -->
  | | | + [ItemList directory]
  | | | | Comment = 0.9.138
  | | MicrosoftXtra (SubDirectory) -->
  | | + [Xtra directory, 56 bytes]
  | | | Category = v01.22.4095
  | | UserData_uid = .z..d.
  | | UserData_mdl = FC300S
  | | Unknown_free =
  | Track (SubDirectory) -->
  | + [Track directory]
  | | TrackHeader (SubDirectory) -->
  | | + [BinaryData directory, 84 bytes]
  | | | TrackHeaderVersion = 0
  | | | TrackCreateDate = 3537436562
  | | | TrackModifyDate = 3537436562
  | | | TrackID = 1
  | | | TrackDuration = 11998000
  | | | TrackLayer = 0
  | | | TrackVolume = 0
  | | | MatrixStructure = 1 0 0 0 1 0 0 0 16384
  | | | ImageWidth = 125829120
  | | | ImageHeight = 70778880
  | | Unknown_edts = .elst...0.
  | | Media (SubDirectory) -->
  | | + [Media directory]
  | | | MediaHeader (SubDirectory) -->
  | | | + [BinaryData directory, 24 bytes]
  | | | | MediaHeaderVersion = 0
  | | | | MediaCreateDate = 3537436562
  | | | | MediaModifyDate = 3537436562
  | | | | MediaTimeScale = 25000
  | | | | MediaDuration = 11998000
  | | | | MediaLanguageCode = 0
  | | | Handler (SubDirectory) -->
  | | | + [BinaryData directory, 32 bytes]
  | | | | HandlerClass = mhlr
  | | | | HandlerType = vide
  | | | | HandlerVendorID =
  | | | | HandlerDescription = .DJI.AVC
  | | | MediaInfo (SubDirectory) -->
  | | | + [MediaInfo directory]
  | | | | VideoHeader (SubDirectory) -->
  | | | | + [BinaryData directory, 12 bytes]
  | | | | | GraphicsMode = 0
  | | | | | OpColor = 0 0 0
  | | | | DataInfo (SubDirectory) -->
  | | | | + [DataInfo directory]
  | | | | | DataRef (SubDirectory) -->
  | | | | | + [DataRef directory]
  | | | | | | Unknown_alis = .
  | | | | SampleTable (SubDirectory) -->
  | | | | + [SampleTable directory]
  | | | | | VideoSampleDesc (SubDirectory) -->
  | | | | | + [BinaryData directory, 94 bytes]
  | | | | | | CompressorID = avc1
  | | | | | | VendorID =
  | | | | | | SourceImageWidth = 1920
  | | | | | | SourceImageHeight = 1080
  | | | | | | XResolution = 72
  | | | | | | YResolution = 72
  | | | | | | CompressorName = .Dji AVC encoder
  | | | | | | BitDepth = 24
  | | | | | + [VideoSampleDesc directory]
  | | | | | | Unknown_avcC = .d)..8'd).4..."~\.................yq...}x.}x.....E.
..(.80
  | | | | | VideoFrameRate = .....
  | | | | | CompositionTimeToSample = ..........................................
.......[snip]
  | | | | | SampleToChunk = ....
  | | | | | SampleSizes = ..........K.p..OQ.p../..*s.K.tS.e..'.............Z....
..2.z..[snip]
  | | | | | ChunkOffset = ..(....".....Q...+....@..kM#..$+;%..&..&..(.x).M*..3..
3^s3..4[snip]
  | | | | | SyncSampleTable = .w.!Aa.......!.A.a...........!.A.a...........!.A.a
.......[snip]
-- press RETURN --



and without verbose...

C:\PortableApps\exiftool\exiftool-10.10>"exiftool(-k).exe" C:\Personnel\MEDIAS\P
HOTOS\IN\100MEDIA\DJI_0238.MOV
ExifTool Version Number         : 10.10
File Name                       : DJI_0238.MOV
Directory                       : C:/Personnel/MEDIAS/PHOTOS/IN/100MEDIA
File Size                       : 1430 MB
File Modification Date/Time     : 2016:02:04 13:24:12+01:00
File Access Date/Time           : 2016:02:05 15:58:52+01:00
File Creation Date/Time         : 2016:02:05 15:58:52+01:00
File Permissions                : rw-rw-rw-
File Type                       : MOV
File Type Extension             : mov
MIME Type                       : video/quicktime
Major Brand                     : Apple QuickTime (.MOV/QT)
Minor Version                   : 2014.2.0
Compatible Brands               : qt
Movie Data Size                 : 1499750345
Movie Data Offset               : 40
Movie Header Version            : 0
Create Date                     : 2016:02:04 13:16:02
Modify Date                     : 2016:02:04 13:16:02
Time Scale                      : 25000
Duration                        : 0:07:59
Preferred Rate                  : 1
Preferred Volume                : 100.00%
Preview Time                    : 0 s
Preview Duration                : 0 s
Poster Time                     : 0 s
Selection Time                  : 0 s
Selection Duration              : 0 s
Current Time                    : 0 s
Next Track ID                   : 2
[b]GPS Coordinates (err)           : 41 deg 57' 23.17" N, 0 deg 0' 0.00" E[/b]
User Data xsp (err)             : +0.10
User Data ysp (err)             : +0.00
User Data zsp (err)             : +0.10
User Data fpt (err)             : -6.90
User Data fyw (err)             : -32.70
User Data frl (err)             : -0.60
User Data gpt (err)             : +0.00
User Data gyw (err)             : -33.10
User Data grl (err)             : +0.00
Comment                         : 0.9.138
Category                        : v01.22.4095
Track Header Version            : 0
Track Create Date               : 2016:02:04 13:16:02
Track Modify Date               : 2016:02:04 13:16:02
Track ID                        : 1
Track Duration                  : 0:07:59
Track Layer                     : 0
Track Volume                    : 0.00%
Matrix Structure                : 1 0 0 0 1 0 0 0 1
Image Width                     : 1920
Image Height                    : 1080
Media Header Version            : 0
Media Create Date               : 2016:02:04 13:16:02
Media Modify Date               : 2016:02:04 13:16:02
Media Time Scale                : 25000
Media Duration                  : 0:07:59
Handler Class                   : Media Handler
Handler Type                    : Video Track
Handler Description             : DJI.AVC
Graphics Mode                   : srcCopy
Op Color                        : 0 0 0
Compressor ID                   : avc1
Source Image Width              : 1920
Source Image Height             : 1080
X Resolution                    : 72
Y Resolution                    : 72
Compressor Name                 : Dji AVC encoder
Bit Depth                       : 24
Video Frame Rate                : 25
GPS Coordinates                 : 41 deg 57' 23.17" N, 0 deg 0' 0.00" E
User Data xsp                   : +0.10
User Data ysp                   : +0.00
User Data zsp                   : +0.10
User Data fpt                   : -6.90
User Data fyw                   : -32.70
User Data frl                   : -0.60
User Data gpt                   : +0.00
User Data gyw                   : -33.10
User Data grl                   : +0.00
Avg Bitrate                     : 25 Mbps
GPS Latitude                    : 41 deg 57' 23.17" N
Image Size                      : 1920x1080
Megapixels                      : 2.1
Rotation                        : 0
-- press RETURN --


thanks for your answer.
;-)

Phil Harvey

Thanks for this report.

If you email me a sample mov file I'll take a look.  My email is philharvey66 at gmail.com

- 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 ($).

fmp2a

Thanks Phil.
I send you a private message with a link to download a test file.

Phil Harvey

#3
I got the file, thanks.  I will patch ExifTool to properly decode these GPSCoordinates, but it would be nice to know what the other fields mean,  If you know the meanings of any of the other UserData tags (xsp,ysp,zsp,fpt,fyw,frl,gpt,gyw,grl), please let me know.  There are also some non-conforming UserData tags that aren't extracted (dji,res,uid,mdl -- mdl has a value of "FC300S", which looks like a camera model name to me).  I'll add support for extracting these too (all except mdl unknown for now).

- 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 ($).