```bash
!/bin/bash
cat << EOF > gpx.fmt
#------------------------------------------------------------------------------
# File: gpx.fmt
#
# Description: Example ExifTool print format file to generate a GPX track log
#
# Usage: exiftool -p gpx.fmt -ee3 FILE [...] > out.gpx
#
# Requires: ExifTool version 10.49 or later
#
# Revisions: 2010/02/05 - P. Harvey created
# 2018/01/04 - PH Added IF to be sure position exists
# 2018/01/06 - PH Use DateFmt function instead of -d option
# 2019/10/24 - PH Preserve sub-seconds in GPSDateTime value
#
# Notes: 1) Input file(s) must contain GPSLatitude and GPSLongitude.
# 2) The -ee3 option is to extract the full track from video files.
# 3) The -fileOrder option may be used to control the order of the
# generated track points when processing multiple files.
# 4) Coordinates are written at full resolution. To change this,
# remove the "#" from the GPSLatitude/Longitude tag names below
# and use the -c option to set the desired precision.
#------------------------------------------------------------------------------
#[HEAD]<?xml version="1.0" encoding="utf-8"?>
#[HEAD]<gpx version="1.0"
#[HEAD] creator="ExifTool \$ExifToolVersion"
#[HEAD] xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
#[HEAD] xmlns="http://www.topografix.com/GPX/1/0"
#[HEAD] xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
#[HEAD]<trk>
#[HEAD]<number>1</number>
#[HEAD]<trkseg>
#[IF] \$gpslatitude \$gpslongitude
#[BODY]<trkpt lat="\$gpslatitude#" lon="\$gpslongitude#">
#[BODY] <ele>\$gpsaltitude#</ele>
#[BODY] <time>\${gpsdatetime#;my (\$ss)=/\.\d+/g;DateFmt("%Y-%m-%dT%H:%M:%SZ");s/Z/\${ss}Z/ if \$ss}</time>
#[BODY]</trkpt>
#[TAIL]</trkseg>
#[TAIL]</trk>
#[TAIL]</gpx>
EOF
for f in *.MP4; do
exiftool -m -p gpx.fmt -ee -ext mp4 -w %f.gpx $f
mapillary_tools video_process_and_upload $f --geotag_source gpx --geotag_source_path ${f%%.*}.gpx --skip_process_errors
done
```