reading Sony ZV1 videos gets stuck with -api largefilesupport

Started by Kajuna, June 03, 2022, 06:11:53 AM

Previous topic - Next topic

Kajuna

Hello. I have a Sony ZV1 video file that should contain GPS information. I'm trying to extract it with commands like

Quoteexiftool -ee -u -api largefilesupport -p '$gpslatitude, $gpslongitude, $gpstimestamp' video.MP4

But exiftool seems to keep running forever (or for a very long time).

What can I try different? Should I provide more data for debugging?

I can share a video sample that produces the issue privately. The file is quite large (10GB)

Thank you.

StarGeek

If you can send me a link, I can take a look.

If need be, I could pass it onto Phil if I can't figure it out.
"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

StarGeek

I passed the link on to Phil.

My first attempt never seemed to stop reading the file.  When I tried to add the -v3 (-verbose3) option and redirect the output into a file, I ended up with a text file too big for Notepad++ to read.  But I did catch a glimpse of some GPS data before it crashed, I just couldn't tell if maybe it was caught in a loop and repeating the same coordinates over and over.
"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

Kajuna


Phil Harvey

The crash is due to the memory restriction for the Windows exe.  On my old Mac, the original command ran in 10 minutes and required 4 GB of RAM.  Most of this is due to the copious amounts of Accelerometer data in the timed metadata.  I tried adding an IgnoreTags API option to ExifTool to allow only requested tags to be extracted, and with this feature the command ran in 3 minutes and required 600 MB of RAM, but I think this is probably still too much for the official Windows exe (although maybe the alternate Windows exe would allow this).  I may keep this option for the next release, but until then you will have to use some other platform with better memory handling if you want to extract GPS from this file with ExifTool.  Perhaps it would work on Cygwin under Windows, but I'm not sure.

There were 155976 GPS points in the file.  The points are stored 48 times per second, but the position is only updated once per second, so there is a huge amount of wasted memory.

- Phil

Edit: I just noticed that you are using single quotes in your command, so you aren't on Windows?  It should work on other platforms if you have enough RAM and wait long enough.
...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 ($).

Kajuna

Thank you for the thorough answer, Phil. I jump between platforms, so the command I pasted might come from the Mac, where I did not see an output for a long time either. Might have to give it more time. Looking forward to the version with the IgnoreTags option. Thanks again.

Phil Harvey

OK.  I'll leave this option in for version 12.43.  Here is the command I used:

exiftool -api largefilesupport -e -u -ee -api ignoretags=all -api requesttags=gpslatitude,gpslongitude,gpstimestamp -p '$gpslatitude, $gpslongitude, $gpstimestamp' FILE

Note that this won't account for the GPS reference hemispheres.  I did it this way because including GPSLatitude/LongitudeRef and allowing Composite tags to be generated will double the required memory.

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

Kajuna

I just tested this with 12.43. Works perfectly! Thank you.