GPX Extraction Speed

Started by samk, January 22, 2021, 03:14:00 PM

Previous topic - Next topic

samk

Hello,

I am working on a project in the Unity game engine where a user can select a .mp4, gps info is extracted and then displayed in virtual reality. The video files I am using vary from 4k-8k resolution, often going up to 20GB. My question is: can I increase the speed at which ExifTool runs? It can take several minutes for each file, although I understand that these are massive files and so may not be able to achieve this. I am using a .fmt modified from the .gpx standard, and this is my command run:

exiftool.exe -api largefilesupport=1 -p my_gpx.fmt -ee vidfile.mp4 > out.txt

I have been recommended using a C#/dll Nuget package but as far as I can see they all have far less functionality than this excellent tool! Any help or advice would be much appreciated.

Phil Harvey

Depending on the file, the -ee option can really slow things down main just due to the fact that ExifTool must read so much data from disk.  The only way to speed this up is to get a faster disk (unless ExifTool is getting close to its memory limit, which is unlikely).  Several minutes seems excessive though.  But if I assume 2 minutes for a 20 GB file, and that ExifTool has to read the whole thing (which would actually surprise me, but without running some tests with the file you are using I can't say for sure how much is being read), that gives a transfer rate of 167 MB/sec, which is in the ballpark of the speed for some hard disks.

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

samk

Thanks for the response Phil. When I don't use -ee it does not extract any telemetry data, is that not expected? I have an NVME SSD which can transfer much faster than 800MB/sec so I feel that there is another issue here... I also have 512GB of RAM at my disposal, is it possible that ExifTool is getting close to its memory limit, and if so is there some way that I can increase it? Thanks

StarGeek

Quote from: samk on January 24, 2021, 02:52:32 PM
When I don't use -ee it does not extract any telemetry data, is that not expected?

The GPS data is part of the stream, so the -ee (-extractEmbedded) option is required to get all the data.
* 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

Yes.  I'm just saying that it is expected to slow things down somewhat if you read all of the telemetry data.

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