GoPro Max - Time Lapse Interval and Location EXIF

@asturksever

First I have to process the .360 video in GoPro Player. I then use GoThru StreetBuilder on MacOS to sample GoPro MAX .mp4-videos. After GTSB has processed the pictures, I just copy them from the program folder. GTSB lets you set a distance interval between 3 and 7 meters and renames photos with the suffix “selected”.
One downside with GTSB is that it removes all meta-data from the photos, so I have to reconstruct the data through several apps and steps.

I use MetaImage to change date/time based on data from the videos original GPS-data.

Then I use HoudahGeo to import the GoPro video’s GPX-data extracted from GoPro Telemetry Extractor.

Bonus step: I then use Pixelmator Pro and Automator to add a graphic logo to overlay my helmet.

I know that @trekview is working on a process that will make the whole process from video to photos a one-click process.

My complete work flow with GoPro Max is this:
Acquire with time lapse @ 0.5 sec interval → Creates *.360 video
Extract GPX trace from original *.360 video using Python script gopro2gpx ( GitHub - juanmcasillas/gopro2gpx: Parse the gpmd stream for GOPRO moov track (MP4) and extract the GPS info into a GPX (and kml) file. )
Use GoPro app to export to 5.6K .MP4 CinePro video
Use FFMPEG to extract each frame image from .MP4 video

Then a custom .NET application to match the GPX timestamps to the frames - for those that exist, insert info into EXIF of each frame image.

Finally upload individual frames using Mapillary python script.

I can upload the .NET application to Github if this is of interest.

1 Like

@MikeN How do you preserve the correct timestamp from the frames extracted from the .mp4 with FFMPEG?

I’m relying on GoPro max behavior of recording a matching GPS entry for each video frame. GPS time is assumed to be accurate and can be used to match each video frame. If GPS has not been acquired or lost, there will be an invalid/placeholder entry and that image frame is skipped.

I took the time for a bit of clean up of the source code to the .NET app at GitHub - bikeoid/AddExifInfo: Match extracted GPS info to GoPro image files and add to EXIF . I use it with a mishmash of Windows and WSL (Windows Subsystem for Linux) batch files, so I haven’t included those. I think it will build with the Community Edition of Visual Studio, but I can create a binary executable if needed.

1 Like