04-10-2017 02:01 PM - edited 11-15-2019 10:52 AM
While the Quick software can display some of the data in the "gauges" format, Hero5's video files have much more to it, many more sensors and detailed data:
~400 Hz 3-axis gyro readings
~200 Hz 3-axis accelerometer readings
~18 Hz GPS position (lat/lon/alt/spd)
1 Hz GPS timestamps
1 Hz GPS accuracy (cm) and fix (2d/3d)
1 Hz temperature of camera
Gauges are also limited to H5 Black files recorded with the GPS on, but the fact is that the sensors record data even when the GPS is off, even in the H5 Session.
EDIT 2019: The rest of this post is useful for geeks, but if you just want to convert your data, you can use the new telemetry extraction tool: https://goprotelemetryextractor.com
EDIT: The rest of this post discusses how to manually retrieve the data and can bus useful for customising and improving the results, but here's a package that lets Windows users extract the sensor data to spreadsheet format (csv) by just dropping the video files on the GPMD2CSV.bat file: http://tailorandwayne.com/GPMD2CSV.zip It should work well with both H5 cameras on all resolutions and framerates. Otherwise, let me know.
EDIT 2: You can contribute to this tool here: https://github.com/JuanIrache/gopro-utils
EDIT 3: Since many people want to use the data with other software, the GPMD2CSV tool now exports to GPX, KML and JSON formats too. This was possible thanks to: https://github.com/KonradIT/gopro-utils I have not tested it with many cameras, so let me know if anything needs to be fixed.
In these two threads we discussed means of extracting the data:
Suggestions like using RaceRender ( http://racerender.com/RR3/Features.html ) o Dashware ( http://www.dashware.net/ ) came up. But most solutions provided incomplete or inaccurate data, some times nothing at all.
This is the most complete solution I have found so far:
Here's a detailed tutorial on how to extract metadata from the Hero5 Session (and the H5 Black with a small tweak). Most video modes of the session record gyroscope, accelerometer and temperature data. These can be useful for visualising info or tweaking the image, for example to stabilise in post-production. Theoretically, the latest firmware update added ISO and shutter-speed metadata. BUT...
For me, firmware v2.00 broke all the metadata, and other functions such as manual shutter speed for video, iso modes, external mic... I had to revert back to v1.50. Edit: I still can't read metadata from v2.00, So if you are interested in this, don't update your camera just yet. Firmware v2.00 and beyond can be extracted with the latest versions of the tools.
- Note2: I learnt all these steps through my own experimentation. They are for advanced users and there might be more professional ways of doing this. This workflow is slow and won't suit most users' needs.
- Note3: This guide is for Windows but I think all the steps can be done in other OSs.
- Note4: I take the time to explain this because I want more people to start playing with these data and come up with new ways of extracting it and displaying it. Please share your ideas too.
- Edit: These instructions are now pretty outdated. Most of the work can be done by building the gpmd2csv file in my repo: https://github.com/JuanIrache/gopro-utils But some of the instructions still apply if you want to learn to copy the GitHub repo, its dependencies, build the executable and so on.
Most of the work necessary to extract the data has been done by stilldavid. https://github.com/stilldavid/gopro-utils
1: Download ffmpeg and uncompress it somewhere in your hard drive: https://ffmpeg.org/
2: Download and install Go Programming Language: https://golang.org/ (don't worry, you don't need to know coding to get the data out). Make sure to download a Windows build if you are on Windows
3: Create a folder in %USERPROFILE%\go\src\github.com\stilldavid\ (replace %USERPROFILE% with you user profile folder, usually something like c:\Users\yourName\) You can get more help on this here: https://golang.org/doc/
4: Download the gopro-utils from https://github.com/stilldavid/gopro-utils by clicking on the green "Clone or download" button. Download as zip. (stilldavid's version of the tools tend to be outdated. I try to keep them working here https://github.com/JuanIrache/gopro-utils ) Edit: , you can just "git clone" the repo.
5: Unzip what you just downloaded, open the new folder and copy its content (it's also a folder named "gopro-utils-master") in the \stilldavid\ folder that you just created.
6: Remove the "-master" part from the folder name, so that it becomes "gopro-utils"
7: Like before, create a folder called %USERPROFILE%\go\src\github.com\paulmach\ and repeat steps 4, 5 and 6 with these projects that gopro-utils needs to work: https://github.com/paulmach/go.geo and https://github.com/paulmach/go.geojson
- Note5: If you just want to extract GPS data the way stilldavid conceived it, you're almost set up. I modified one of the files so that the Gyro, Accel and Temp information can be extracted in spreadsheet format.
8: Go to your folder \go\src\github.com\stilldavid\gopro-utils\bin\gpmd
Edit: Instead, you can just build the file from my repo: https://github.com/JuanIrache/gopro-utils/tree/master/bin/gpmd2csv
- Note6: If you own a H5 Black (I don't), you can modify my file so that it also saves GPS data by uncommenting the GPS parts, that is, removing all the /* and */ lines and then saving the file. More data can be retrieved if you look into the gopro-utils code.
9: Still in the \gpmdinfo\ folder, unselect any file and do SHIFT+RIGHT MOUSE CLICK and select "Open command window here"
10: In the command prompt, write "go build", withouth the quotes and press ENTER. This should create a gpmdinfo.exe file. If you did it all right, you won't need to repeat the previous steps.
-- Repeat from here for additional video files
11: Copy your gopro video file and open the \ffmpeg\ folder that you created in step 1. There, open the folder called \bin\ and paste your video file
12: Open a command prompt like in step 9 and type: "ffmpeg -y -i filename.MP4 -codec copy -map 0:3 -f rawvideo filename.bin" without quotes, where filename must be replaced with the name of your file. This will produce a .bin file. Edit: If framerate is higher than 60fps, replace 0:3 with 0:2
13: Cut both the .bin and your .mp4 video files and go back to the \gpmdinfo\ folder of step 8. Paste them.
14: Open a command prompt and type: "gpmdinfo -i filename.bin". This will create 3 files accl.csv, gyro.csv and temp.csv. These are the data you were after. Open them with Excel or any similar software or create whatever you want with them. Copy them somewhere safe with the original video file, as the next file you process will overwrite them.
One simple thing you can do with all this is see the G-forces that the camera or yourself experienced during the shot.
I have also been playing with the data and it is really useful for stabilising the image, for example, without having to enable that setting in the camera and, therefore, without losing quality or field of view. Data is being recorded even in 4K, which means we can stabilise 4k footage! Will share my work on another post in this group.
Unfortunately, it seems like nothing is recorded on framerates above 60fps. But I don't see why that wouldn't come in a future firmware update, if people start using these features. Edit: We can also stabilise high framerate footage.
on 04-15-2017 01:05 PM
Thank you for taking the time to put this together. This group will grow, just need to keep posting the link. Maybe make a YouTube video and mention the group and include the link. I'd love to see some input from people like minded.
on 04-23-2017 09:26 AM
Using Dashboard, in My documents I obtained a CSV file with all metadata registred by the camera (saved in My documents-dashboard projetcs), ¿it is possible to modify this base data in a more standard way to convert to a kml file with tools such as http://www.convertcsv.com/csv-to-kml.htm ?
When I try, the onverted kml file is meaninglees, I guess the original CSV file has to be "trimmed" prior convert, but I wonder how
on 04-23-2017 09:44 AM
on 04-23-2017 03:38 PM
Is that data that you put into Google earth public? Would be cool to see it and share it so that more people use these tools
on 04-23-2017 04:09 PM
It´s very easy to create the kml file (a simple XML based in the gps file extracted with the superb software from stilldavid)then convert into kml, the kml file can be opened from any machine with Google Earth installed.
I dont think that upload to public in google Earth layer because trere are too many markers (more tan 6.000 for a 5 min video), much better to offer the kml file to donnload, in the future I may try to take off some thousands of markers, I guess there are 60 per second of video, wit one marker every 30 seconds woul be fine, it seems easy to do with python on the csv file.
There are many interesting aplications, I live in the border of Chile-Perú and Bolivia, and there are feequent incidents with police or military crossing the line, just now there are one very serious incident with bolivian military who crossed the border, geo referenced video over Google earth would be fine to prove the exact location of people involved, same for police operations and such kind of things
on 05-07-2017 05:41 AM
Thanks for sorting out a lot of things, I've been following this topic for a few months already and although working it is a bit time consuming to get it right.
You may want to take a look at the latest version of dashware http://www.dashware.net/release-notes/
Quote from the release notes:
- Added GoPro HERO5 Black GPS support. Data is now automatically extracted from the .MP4 file and auto-synced with the video.
Please note that dashware is actually owned by GoPro
I can tell you it works great and so much easier!
on 05-12-2017 08:57 PM
Is there any way to see the ISO and shutter speed of video shot on the GoPro Hero5? Resolution and frame rate I've got, but I'd like to see what the camera is selecting when shooting in auto ISO and shutter.
on 05-14-2017 05:52 AM
I cannot imagine GoPro building this feature and data logging into our cameras and not (sometime in the future) releasing a tool to make the data extraction easy. I'd love to add telemetry data to many of my videos, and this group and discussion is a step in the right direction!
GoPro... are you listening?
on 05-14-2017 01:55 PM
"releasing a tool to make the data extraction easy" They already did.. see my previous post about www.dashware.net
just import your hero5 mp4 files and you'll have access to all the telemetry data (not 100% sure on shutter time and such but not unlikely..)
on 05-26-2017 11:06 AM
@Anonymous @kajuna I got the same "error". I had tried dragging the videofile ontop of the bat file, but the video file was located in a different folder (did a window-to-window drag) and it told me it couldn't locate ffmpeg etc, which I also thought was strange bc i was staring at the files. I then tried copying the video file into the root folder and did the drag and drop there - worked great.
on 05-26-2017 11:12 AM
@kajuna thanks for taking the time to automate the extraction process for everyone. As other have noted, it is also possible to dump the accelerometer data via DashWare (it creates a csv alongside the video file when merging gopro 3.7GB files into one contiguous file). The CSV contains the same headers as the GoPro csv but DashWare isn't able to make use of it. The same goes for your accel and gyro files since there's no template by which DashWare can interpret them.
My scenario is I've got GPHS5 footage and garmin tcx location data. I'm able to overlay gauges with this data using dashware, but I'd like to add the g-meter as well and back it with data.
Do you know of any way to integrate your accel/gyro data ito a tcx or gpx file?
on 05-26-2017 01:42 PM
I see that, but what can you do with it? Importing a H5 source file will give you a csv dump of the telemetry, but it's still basically unusable unless dashware writes an interpreter for it.
on 05-26-2017 06:22 PM
I do not know how to convert the csv to the formats you mention, sorry. I specifically needed the data in csv in order to use it in other softwares (Processing and After Effects specifically)
on 07-19-2017 02:43 PM
DashWare is not a well designed program. It not only requires Admin permission to install, but it requires that it be run as Administrator. I don't give that password out to family and I don't let them have access to Admin Documents folder (where the program wants to write).
08-18-2017 03:18 AM - edited 08-18-2017 03:18 AM
I'm new in this group and found this a very interesting subject. My personal interests are connecting data to webbased maps, such as movies and images, combined with other metadata. I was thinking about buying a GoPro5, but before my purchase I would like to test my software with a (small) 'geotagged' demo mp4 sample of a GoPro 5. Is it possible one of the members from this group can share a 'raw data' mp4 file, including the geotagged metadata? I couldn't find one on the Go Pro website.
I will post my findings in this group :)
Thanks a lot!
on 09-20-2017 05:44 AM
I started web app which among others can show GoPro H5 videos and sync maps - the app parses GP mp4 from local storage.
- open number of mp4 files
- gps data is parsed and presented as "single" set of GPS points on google maps - video and map are in sync, you can change position in both
- there is a chart with GPS precission data - also in sync with a map and video (though at the moment you cannot generate sync events from a chart)
- it is possible to adjust start and end of the movie combined out of individual mp4 files - you can the download corresponding data (at the moment csv only), there is list to guide you how to edit a movie to reflect prepared gps data
- csv contains latitude, longitude, altitude, 3d speed, relative duration timestamps (in seconds) - 1Hz
- it works with Chrome, optimized for large screens
- it is in Polish at the moment - hope you will guess how to use it
The link to the particular page on my site:
There is also cycling vblog where I used the tool:
on 09-23-2017 04:34 PM
So how often does Gopro Hero 5 log/record its location? Is it 18 times per sec (18 Hz GPS position) or 1 (GPS timestamps)? I'm trying to accurately compare it with the sample freq of the smartphones (normally 1-1.5HZ), GPS watches, and laptimers (10-20 hz).
on 09-24-2017 12:36 AM
What we actually get is kind of a burst - a package of lat/lon/alt/speed/3dspeed data itmes associated with single data-time point. Most often we get 18 samples in such packages, but occasionally 17 or 19, maybe also other amounts. Then the delta time between those packages is close to 1 second though again it can be slightly less or more. I think that the everage frequency is 1/18.0xx.
In my application I am averaging samples from single burst and giving them the TS as provided by GoPro5 - actually duration time from the beginning of the movie rounded to seconds.
If I would like to provide raw samples with timestamps I would need to extrapolate them - e.g. uniformly within the burst.
on 09-26-2017 04:22 PM
Now you can download your GoPro 5 GPS data in GPX format. It can be then used to upload your workouts to Strava or Endomondo:
on 10-04-2017 11:37 AM
I added new features to https://www.trassy.pl/blog/syncloc:
- altitude and speed chart types
- selection in charts synchronized with video and map
I changed speed units in CSV export from [m/s] to [km/h]
Not sure whether current parser could work with GoPro Hero 6 GPS meta data - looking for some GoPro 6 samples to verify/enhance. Any hint appreciated.
on 10-17-2017 01:53 AM
Thanks for feedback. Please check it now - I did a quick fix. I will be able to have closer look later during the day.
Please make sure that your GoPro files contain GPS meta data (movie recorded with location on) - at the moment the application is not resilient against missing GPS meta data. In case you try to load such file you need to releoad the page.
I am prepareing a version for synchronizing external GPS file (gpx) with any movie - soon.
on 10-17-2017 07:35 AM
It is working now, looks great! Also working with my Hero 6 file :)
I read there is more metadata in the files, such as camera temperature, acceleration etc., which should also be there when the GPS data itself is not. Will you be adding more sensorinformation?
on 10-19-2017 12:52 AM
Glad to know it works for you and you like it :)
I haven't planned adding other types of meta data, like accerelation, since the main goal of my application is to provide a site which allows to easily document bike trails and explore them. Honestly, I would be interested in temperature thought data provided by GoPro indicates internal temperature of a camera - so not really usefull (unless I am wrong).
Anyway, if there is a demand for other types of meta data from GoPro I can re-prioritize features.
I would propose to continue such discussion - requests, comments, issues - on trassy.pl fb page:
on 11-06-2017 07:11 AM
Thank you @kajuna for the great help. We managed to extract data using the method you described.
Does anyone know what is the units for the accelerometer datas from the GoPro please ?
this is an exemple of the extracted data:
Thx again ;)
on 11-25-2017 03:56 AM
Has anyone tried extacting data form Hero6 or Fusion cameras? I believe it won't work straight away, as they include new fields. If I can get my hands on sample video files I will at least make the extraction tool skip those so that the currently available data can be extracted on those cameras too. Understanding those new fields would take me more time.
on 11-25-2017 04:25 AM
I do not have GoPro 6 samples, however gonzoxyz tried (mentioned a few posts earlier) my application trassy.pl with GoPro 6 and it worked for him for the scope of meta data I am using (lat, long, alt, speed, time, GPS signal quality). So at leat for those parameters if we follow the mp4/GoPro structure we are OK, or seems so :)
on 01-04-2018 12:56 AM
I updated trassy.pl GPS parsing and exporting to GPX with following feature (on Plawa suggestion - thanks Martin!):
- process and downoload GPX files individually for every input GoPro mp4 file. Download GPX files are stored in the folder and packed with zip. This feature is especcially benefitial if there is no continuity among individual files/GPS meta data
Link to the feature (login with facebook account needed):
on 01-17-2018 02:23 PM
Well, it took me the whole evening to figure it out, but I finaly found an easy way to extract the GPS data of my Hero5 and transfert to Google Earth!
0. Install the Google Earth Pro desktop app and the excellent RaceRender 3
1. In RaceRender, open your GoPro MP4 file. RaceRender will find the GPS data in it and ask you if you want to import it as well: you sure do.
2. After some more steps, you will see your RaceRender project panel with the MP4 file and a file named yourvideo-RR_Data. That's your telemetry data right there.
3. Right-click on it and select "Export Data" -> "Google Earth .KML (GPS only)". Save your KML file on your disk.
4. Open the KML file in Google Earth and voilà !
01-29-2018 04:57 AM - edited 01-29-2018 04:57 AM
Has anyone found a way to extract the data for the Fusion? I've tried both the original GPMD2CSV.BAT (and required programs) and the modified one as well as Dashware and RaceRender. None of these are able to parse the data in the Fusion mp4 file. There is data present because I have been able to use ffmpeg to extract it from the stream but the extracted CSV files are empty. I would be happy to provide sample camera footage if needed. Thanks in advance.
on 01-29-2018 05:25 AM
on 01-29-2018 05:52 AM
@kajuna Thank you. Please find below the link to 30 sec of sample footage. There are two files. One from each of the front and rear cameras. I believe the data is recorded in the footage from the front camera but I have included both just in case.
on 01-29-2018 11:48 PM
There is a problem with ACCL data, which I have not solved, just circumvented. My tool relies on work by others that is not currently being updated, so I do what I can, also with the limited time I have.
I'm not sure the resulting values are right. Your file appears to have no GPS data, but that might be correct. Also, the data order for gyro and accl should be -Y,X,Z, so don't trust the CSV headers.
on 01-30-2018 02:23 AM
Thank you so much. I will try it. I thought the sample was recorded with the GPS on but perhaps it wasn't and that might explain the absence of GPS data. I will record another sample with the GPS turned on and test it.