GPS data from Azdome GS65H dashcam

Started by pogostick, February 19, 2024, 09:56:34 AM

Previous topic - Next topic

pogostick

Hello all,
thank you for your work on exiftool, it is fantastic!

I have an Azdome GS65H dashcam and I'm looking at extracting GPS information from its videos. From the information below I can see there are gps tracks though the format doesn't seem to be recognized yet.


  $ exiftool -ee -V3 file.mov
  ExifToolVersion = 12.76
  FileName = for-upstream.mov
  Directory = .
  FileSize = 12192694
  FileModifyDate = 1708354195
  FileAccessDate = 1708354195
  FileInodeChangeDate = 1708354195
  FilePermissions = 33261
  FileType = MOV
  FileTypeExtension = MOV
  MIMEType = video/quicktime
  FileType (SubDirectory) -->
  - Tag 'ftyp' (16 bytes):
      0008: 71 74 20 20 00 00 00 00 71 74 20 20 00 00 00 00 [qt  ....qt  ....]
  + [BinaryData directory, 16 bytes]
  | MajorBrand = qt 
  | - Tag 0x0000 (4 bytes, undef[4]):
  |     0008: 71 74 20 20                                     [qt  ]
  | MinorVersion =
  | - Tag 0x0001 (4 bytes, undef[4]):
  |     000c: 00 00 00 00                                     [....]
  | CompatibleBrands = qt 
  | - Tag 0x0002 (8 bytes, undef[8]):
  |     0010: 71 74 20 20 00 00 00 00                         [qt  ....]
  Kodak_frea (SubDirectory) -->
  - Tag 'frea' (34728 bytes):
      0020: 00 00 00 0c 74 69 6d 61 00 00 00 07 00 00 87 94 [....tima........]
      0030: 74 68 6d 61 ff d8 ff db 00 84 00 05 03 04 04 04 [thma............]
      0040: 03 05 04 04 04 05 05 05 06 07 0c 08 07 07 07 07 [................]
      0050: 0f 0b 0b 09 0c 11 0f 12 12 11 0f 11 11 13 16 1c [................]
      0060: 17 13 14 1a 15 11 11 18 21 18 1a 1d 1d 1f 1f 1f [........!.......]
      [snip 34648 bytes]
  + [Kodak_frea directory]
  | Duration = 7
  | - Tag 'tima' (4 bytes, int32u):
  |     0028: 00 00 00 07                                     [....]
  | ThumbnailImage = ..................................................!........."$".$.[snip]
  | - Tag 'thma' (34700 bytes):
  |     0034: ff d8 ff db 00 84 00 05 03 04 04 04 03 05 04 04 [................]
  |     0044: 04 05 05 05 06 07 0c 08 07 07 07 07 0f 0b 0b 09 [................]
  |     0054: 0c 11 0f 12 12 11 0f 11 11 13 16 1c 17 13 14 1a [................]
  |     0064: 15 11 11 18 21 18 1a 1d 1d 1f 1f 1f 13 17 22 24 [....!........."$]
  |     0074: 22 1e 24 1c 1e 1f 1e 01 05 05 05 07 06 07 0e 08 [".$.............]
  |     [snip 34620 bytes]
  MediaDataSize = 12154936
  MediaDataOffset = 34768
  MediaData = .......y.N|.o...?...]..?......D"..<<)...g.w.f...X..o.....s..RW9..........[snip]
  - Tag 'mdat' (12154936 bytes):
      87d0: f6 a7 93 fd a1 93 e7 79 be 4e 7c 8c 6f c6 cd bf [.......y.N|.o...]
      87e0: 3f dc eb fc 5d ab d0 3f b4 a7 ff 00 84 84 f8 44 [?...]..?.......D]
      87f0: 22 ff 00 c2 3c 3c 29 e7 fd 9f 67 ee 77 7f 66 fd ["...<<)...g.w.f.]
      8800: ab ed 58 fb be 6f 9f cf 9b d7 f8 73 da bc 52 57 [..X..o.....s..RW]
      8810: 39 ab df f0 91 f8 84 e8 bf d8 9f db da af f6 4e [9..............N]
      [snip 12154856 bytes]
  Movie (SubDirectory) -->
  - Tag 'moov' (2982 bytes):
    ba0010: 00 00 00 6c 6d 76 68 64 00 00 00 00 e0 6e 7c dc [...lmvhd.....n|.]
    ba0020: e0 6e 7c dc 00 00 75 30 00 03 34 50 00 01 00 00 [.n|...u0..4P....]
    ba0030: 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 [................]
    ba0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 [................]
    ba0050: 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 [............@...]
      [snip 2902 bytes]
 ...
  | |   ba0ba4: 00 0e 00 00 43 61 72 44 56 2d 54 55 52 4e 4b 45 [....CarDV-TURNKE]
  | |   ba0bb4: 59 00                                           [Y.]
---- Extract Embedded ----
  + [GPS directory, 131072 bytes]
  |   1a0000: 00 02 00 00 66 72 65 65 47 50 53 20 05 01 00 00 [....freeGPS ....]
  |   1a0010: 01 03 aa aa f2 e1 f0 ee 54 54 98 9a 98 99 9a 9e [........TT......]
  |   1a0020: 98 9c 9a 9d 9a 9b 9e 9c a6 8a 8a 8a 8a 8a 8a 8a [................]
  |   1a0030: 8a aa aa aa aa aa aa a9 e4 9e 9e 99 9b 9d 9c 9a [................]
  |   1a0040: 98 ef 9a 9b 9b 9b 9d 9c 9f 99 9c 9a 9a 9a 9a 9a [................]
  |     [snip 130992 bytes]
  + [GPS directory, 131072 bytes]
  |   340000: 00 02 00 00 66 72 65 65 47 50 53 20 05 01 00 00 [....freeGPS ....]
  |   340010: 01 03 aa aa f2 e1 f0 ee 54 54 98 9a 98 99 9a 9e [........TT......]
  |   340020: 98 9c 9a 9d 9a 9b 9e 9d a6 8a 8a 8a 8a 8a 8a 8a [................]
  |   340030: 8a aa aa aa aa aa aa a9 e4 9e 9e 99 9b 9d 9c 9b [................]
  |   340040: 9c ef 9a 9b 9b 9b 9d 9c 9f 9a 98 9a 9a 9a 9a 9a [................]
  |     [snip 130992 bytes]
  + [GPS directory, 131072 bytes]
  |   4e0000: 00 02 00 00 66 72 65 65 47 50 53 20 05 01 00 00 [....freeGPS ....]
  |   4e0010: 01 03 aa aa f2 e1 f0 ee 54 54 98 9a 98 99 9a 9e [........TT......]
  |   4e0020: 98 9c 9a 9d 9a 9b 9e 9d a6 8a 8a 8a 8a 8a 8a 8a [................]
  |   4e0030: 8a aa aa aa aa aa aa a9 e4 9e 9e 99 9b 9d 9c 9b [................]
  |   4e0040: 9c ef 9a 9b 9b 9b 9d 9c 9f 9a 98 9a 9a 9a 9a 9a [................]
  |     [snip 130992 bytes]
  + [GPS directory, 131072 bytes]
  |   680000: 00 02 00 00 66 72 65 65 47 50 53 20 05 01 00 00 [....freeGPS ....]
  |   680010: 01 03 aa aa f2 e1 f0 ee 54 54 98 9a 98 99 9a 9e [........TT......]
  |   680020: 98 9c 9a 9d 9a 9b 9e 9d a6 8a 8a 8a 8a 8a 8a 8a [................]
  |   680030: 8a aa aa aa aa aa aa a9 e4 9e 9e 99 9b 9d 9c 9b [................]
  |   680040: 9c ef 9a 9b 9b 9b 9d 9c 9f 9a 98 9a 9a 9a 9a 9a [................]
  |     [snip 130992 bytes]
  + [GPS directory, 131072 bytes]
  |   820000: 00 02 00 00 66 72 65 65 47 50 53 20 05 01 00 00 [....freeGPS ....]
  |   820010: 01 03 aa aa f2 e1 f0 ee 54 54 98 9a 98 99 9a 9e [........TT......]
  |   820020: 98 9c 9a 9d 9a 9b 9e 92 a6 8a 8a 8a 8a 8a 8a 8a [................]
  |   820030: 8a aa aa aa aa aa aa a9 e4 9e 9e 99 9b 9d 9c 9b [................]
  |   820040: 9c ef 9a 9b 9b 9b 9d 9c 9f 9a 98 9a 9a 9a 9a 9a [................]
  |     [snip 130992 bytes]
  + [GPS directory, 131072 bytes]
  |   9c0000: 00 02 00 00 66 72 65 65 47 50 53 20 05 01 00 00 [....freeGPS ....]
  |   9c0010: 01 03 aa aa f2 e1 f0 ee 54 54 98 9a 98 99 9a 9e [........TT......]
  |   9c0020: 98 9c 9a 9d 9a 9b 9e 92 a6 8a 8a 8a 8a 8a 8a 8a [................]
  |   9c0030: 8a aa aa aa aa aa aa a9 e4 9e 9e 99 9b 9d 9c 9b [................]
  |   9c0040: 9c ef 9a 9b 9b 9b 9d 9c 9f 9a 98 9a 9a 9a 9a 9a [................]
  |     [snip 130992 bytes]
  + [GPS directory, 131072 bytes]
  |   b60000: 00 02 00 00 66 72 65 65 47 50 53 20 05 01 00 00 [....freeGPS ....]
  |   b60010: 01 03 aa aa f2 e1 f0 ee 54 54 98 9a 98 99 9a 9e [........TT......]
  |   b60020: 98 9c 9a 9d 9a 9b 9e 92 a6 8a 8a 8a 8a 8a 8a 8a [................]
  |   b60030: 8a aa aa aa aa aa aa a9 e4 9e 9e 99 9b 9d 9c 99 [................]
  |   b60040: 9b ef 9a 9b 9b 9b 9d 9c 9e 9c 92 9a 9a 9a 9a 9a [................]
  |     [snip 130992 bytes]
--------------------------


Out of curiosity I looked at the source code too in ./lib/Image/ExifTool/QuickTimeStream.pl although I couldn't quite figure out out how to decode the data for this camera. I'll be sending a sample video as per https://exiftool.org/forum/index.php?topic=6.0

thank you!

Phil Harvey

I got the sample, thanks.

ExifTool 12.78 will have the ability to extract GPS from this video.

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

pogostick

Amazing, thank you so much for your help!