Feature request: Parse GPS from ABASK A8 4K Dashcam

Started by borism, November 14, 2023, 04:44:43 AM

Previous topic - Next topic

borism

Here is a sample video file from the ABASK A8 4K Dashcam. I can see that it has GPS data because I see a map and a moving location indicator when I play the video using the HIT GPS player on mac (I believe it is also available for windows). However exiftool is unable to parse the GPS data. Would it be possible to add support for this?

Thank you so much!

Phil Harvey

Thanks for the sample.

Unfortunately this camera uses the increasingly-more-common encrypted LIGOGPSINFO format.  I have wasted too much time already trying to decode this, and welcome anyone else to have a bash at it (use exiftool -ee -v4 to see all of the data in hex).

However, there is a proprietary library (libsungps.so) that will decode this, and someone has built a open-source wrapper around this to extract the GPS -- see here.

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

borism

I see - thank you so much for the quick reply Phil. Is there any way the open-source wrapper could be called by exiftool for these types of videos to generate the gpx output? Maybe as an optional parameter?

Phil Harvey

#3
Unfortunately libsungps.so is not portable.  ExifTool is platform independent.

Also, I'm sure there would be copyright issues that would prevent me from distributing that library.

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

StarGeek

It's hard to tell from that github page, but I'm under the impression that libsungps.so is only for Android.  So it wouldn't be possible to use it on any other system anyway.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Phil Harvey

Quote from: StarGeek on November 15, 2023, 12:12:09 PMIt's hard to tell from that github page, but I'm under the impression that libsungps.so is only for Android.

I got that impression too, although I couldn't find where the system requirements were stated.

Ah, but I can use ExifTool:

> exiftool libsungps.so
ExifTool Version Number         : 12.70
File Name                       : libsungps.so
Directory                       : .
File Size                       : 42 kB
File Modification Date/Time     : 2023:11:14 08:16:52-05:00
File Access Date/Time           : 2023:11:14 00:00:00-05:00
File Inode Change Date/Time     : 2023:11:14 08:16:52-05:00
File Permissions                : -rwxrwxrwx
File Type                       : ELF shared library
File Type Extension             : so
MIME Type                       : application/octet-stream
CPU Architecture                : 32 bit
CPU Byte Order                  : Little endian
Object File Type                : Shared object file
CPU Type                        : Unknown (40)
File Extension                  : so
File Type Description           : ELF shared library

Hmmm.  Unknown CPUType 40.  After some googling, this is an Arm architecture.  I'll add this (and a bunch more) CPUTypes to ExifTool.

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

borism

Super - does that mean that this might be supported in future ExifTool releases?

StarGeek

Not likely unless someone can decode the format.  Phil's post was about giving exiftool the ability to properly identify files such as the libsungps.so library.  It also more or less verified that the library was for Android and wouldn't work on a desktop PC.

A google search on libsungps.so only pulls up two links.  The Github one posted above and a post in these forums which was probably the source started the creation of that wrapper.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

borism

I see, so what user implication does Phil's comment of "I'll add this (and a bunch more) CPUTypes to ExifTool." have? Will it just be about giving users an error message? Or will users be able to do something useful once that CPUType is added?

It also looks like there are 2 ExifTool apps for Android?
https://play.google.com/store/apps/details?id=com.exiftool.free
https://play.google.com/store/apps/details?id=net.xnano.android.exifpro

StarGeek

Quote from: borism on November 20, 2023, 08:50:28 AMI see, so what user implication does Phil's comment of "I'll add this (and a bunch more) CPUTypes to ExifTool." have?

On your video, nothing. The change will allow more details to be extracted from executable file types such as the libsungps.so.  It's a tangential post from your original post.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).