Dealing GPX data from GoPro Hero 6 / 5
Don't ask me why there have three fork......
$ go get -u github.com/mlouielu/gopro-utils/bin/gopro2gpx
$ ffmpeg -y -i GX010211.MP4 -codec copy -map 0:2 -f rawvideo GX010211.bin
$ gopro2gpx -i GX010211.bin -o GX010211.gpx
Git clone down gpsbabel from mlouielu/gpsbabel:speed-up
$ git clone https://github.com/mlouielu/gpsbabel
$ cd gpsbabel
$ git checkout speed-up
$ ./configure
$ make -j8
$ ./gpsbabel
GPSBabel Version 1.5.4. http://www.gpsbabel.org
Usage:
./gpsbabel [options] -i INTYPE -f INFILE [filter] -o OUTTYPE -F OUTFILE
./gpsbabel [options] -i INTYPE -o OUTTYPE INFILE [filter] OUTFILE
...
Convert .gpx to .srt
$ ./gpsbabel -t -i /path/to/input.gpx -o subrip -x track,speed -F /path/to/output.srt
$ cat /path/to/output.srt
1
00:00:00,379 --> 00:00:00,654
0.0 km/h 38 m
11:50:30 Lat=24.81410 Lon=120.96907
2
00:00:00,654 --> 00:00:03,459
3.4 km/h 38 m
11:50:30 Lat=24.81411 Lon=120.96907
3
00:00:03,459 --> 00:00:04,009
1.5 km/h 37 m
11:50:33 Lat=24.81411 Lon=120.96907
4
00:00:04,009 --> 00:00:04,979
1.5 km/h 37 m
11:50:34 Lat=24.81411 Lon=120.96907
5
00:00:04,979 --> 00:00:05,439
1.4 km/h 37 m
11:50:34 Lat=24.81411 Lon=120.96907
...
Less point in GPX (GoPro have ~18Hz of GPS data)
$ ./gpsbabel -t -i gpx -f /path/to/input.gpx -o subrip -x track,speed -x simplify,count=500 -F /path/to/output.srt
This script will auto extrat gpx data from GoPro Videos. And generate .ssa
subtitle, .gpx
GPS data.
You should install all the stuff here metion before (3 fork version things, and ffmpeg), and asspy
, gpxpy
Python packages.
usage: sub.py [-h] [--inputs INPUTS [INPUTS ...]]
$ python sub.py -i GX010010.MP4
...
$ ls
GX010010.MP4 GX010010.ssa GX010010.gpx
$ ffmpeg -i GX010010.MP4 -s hd720 -c:v libx264 -crf 23 -preset slow out.mp4
$ ffmpeg -i GX010010.MP4 -vf 'ass=GX010010.ssa' out.mp4
$ ffmpeg -ss 100 -i GX010010.ssa GX010010_seek.ssa
$ ffmpeg -hwaccel vaapi -ss 100 -t 6 -i GX010010.MP4 -vf 'ass=GX010010_seek.ssa' -s hd720 -c:v libx264 -crf 23 -preset slow out.mp4