on 05-24-2017 07:53 AM
On a scale of 1 to 10... 11. I had to do lots and lots of hours of research before I could extract and use the data. It's documented in this group, so now it's uch easier to anyone that comes after.
There is no speed info because the Session does not have a GPS sensor
on 05-24-2017 08:15 AM
I'm amazed that the session keeps track of all that metadata --- and DOESNT include a GPS sensor (which seems the most appropriate data to have in an action cam)
Personally I am waiting on GoPro to release an easier way to extract this data.
on 05-24-2017 09:57 AM
on 05-24-2017 10:16 AM
If GoPro releases a competitive drone that uses the Session (one that competes as a drone and not a filming system like Karma), then I think you will see the GPS sensor.
on 02-02-2018 01:11 PM
I have a potential project need to display GPS and other metadata on videos shot with Fusion. I did some research and found the metadata tool on here. Special thanks to @kajuna for modifying it to support the Fusion! I used it with Dashware to create this simple proof-of-concept video. The video was shot with the Fusion mounted on a mobile cart.
on 06-01-2018 06:02 PM
@dzeek Thanks for sharing your project. Greats Work. It will be nice from you if you could describe step-by-step how you extract the metadata from the Fusion video and use it with Dashware to your video. I am having hard time to do it with my video.
06-02-2018 10:46 AM - edited 06-02-2018 10:48 AM
i used this version of the tool http://tailorandwayne.com/GPMD2CSV.zip to extract the data from the Fusion FRONT camera video file. I had to reformat the time stamp column in the CSV to be compatible with Dashware. I created the gauges myself and mapped them to the columns in the CSV file. That's a standard feature of Dashware.
I think its now possible to extract the data directly from the Fusion FRONT file using another tool to create the videos called RACERENDER. I have not tried but I heard it works.
on 06-02-2018 03:17 PM
@dzeek Thanks for your reply.
Can you explain more about what you did to reformat the time stamp column in the CSV?
After that which data profile option did you select in DashWare?
Thanks again for your help :)
06-03-2018 08:03 AM - edited 06-03-2018 08:04 AM
Actually, the whole process is easier now. If you use the Fusion FRONT video as the input to Dashware it will recognize that it contains the GPS data and extract it to a CSV file. It saves it in the project directory. You can then use the overcapture video you create as the real input video and the extracted CSV file to provide data for the gauges. Other than that, follow the Dashware Tutorial and it should work.
The other approach is to use RaceRender. It will also recognize the GPS data in the same way. I haven't used it much but some people have found it easier than Dashware.
That's about all the help I can provide. I haven't used either Dashware beyond the POC (Proof Of Concept) that I posted several months ago.
on 08-15-2018 12:35 PM
here is one from me, using time, location and altitude from a GoPro video; speed, distance, grade and course are derived from that data.
Tire pressure, outside temperature and heart rate are from other Garmin sensors...
08-15-2018 01:15 PM - edited 08-15-2018 01:16 PM
Wow, that's mind blowing! Both the car (is that legal?) and the way you presented the data. Syncing it with Google Earth is brilliant.
Can we know the software(s) you used in the process?
Thanks for sharing
on 08-15-2018 05:56 PM
yup, the car is legal. It’s actually a motorcycle, since it has only 3 wheels…
On the hardware side I have used a GoPro 5 that is mounted to the roll bar behind the driver seat. The camera is wrapped in a ”GoPro WindSlayer” to reduce the wind noise. I have written some code mostly based on https://github.com/gopro/gpmf-parser/blob/master/README.md to extract the GPS info and create a GPX file that can later be used in Garmin Virb Edit.
I’m wearing a Fenix watch to track my heart rate and the outside temperature. It syncs the track to Garmin’s server and from there I can download a GPX file with the data. Sampling rate is pretty non-constant - mostly between 0.1 and 1 Hz.
The wheels have Garmin TPMS valve caps that measure tire pressure and air temperature in the tire every 30 seconds. Data gets transferred to a Garmin navigation system in the bike via ANT protocol, and stored there in a SQlite database. I use a SQlite browser to read the file and save the contents into CSV files (https://sqlitebrowser.org).
Then I have written some code to read the three files (GoPro GPX, Watch GPX and TPMS CSV) and merge them together into GPX files based on their time tags. Since Garmin Virb Edit supports only one pressure sensor in their GPX format, I’m creating three files here - one for each tire pressure sensor.
After that I load one of the GPX files into Google Earth Pro and create a “tour” from it. The tour can then be recorded as a movie.
Next step is to load the video files (4GB each) from the GoPro into Final Cut Pro X, merge them together and save them as one long video file. Then load the video file into Garmin Virb Edit, add one of the GPX files, sync between GPX and video and add the overlays for distance, speed, heart rate, grade, course, GPS coordinates, outside temperature, map and tire pressure.
The merging of the 4GB chunks could be done directly in Virb too to save time - but I found it has problems then syncing up all chunks correctly with the GPX file. So using FCP for this step avoids that.
The bike “gauge” is created by using a drone to take an overhead picture of the bike and removing the background in Photoshop…
Once the video is created, I load the next GPX file to get the tire pressure overlay for the next wheel. Here I store as video (discarded later) and as a set of PNG files, that just contain the overlays. Then repeat this for the last GPX file to get the third wheel.
At this point I have two sets of PNG files that I need to merge together into a movie. That was a bit challenging: FCP can do that in principle, but its not good in handling a large number of clips - each set contains about 47000 PNG files for the length of the original video. I tried using ffmpeg but that doesn’t seam to support transparency (alpha channels) in PNG files or video files. Looked at OpenCV which seems to handle transparency, but can’t create video files larger than 2GB. Finally went with Quicktime Player 7 Pro that can do that pretty efficiently. However, it can’t handle the large number of files so I had to split into chunks of 10000 pictures and create 5 videos for each set.
The final step then is to load all the video files into FCP, use the first Virb video as background, overlay and shrink the Google Earth video, overlay the 10 videos for the additional two TPMS sensors and crop those down to the area with the pressure numbers. I added the GoPro logo in this step too. Then sync up the TPMS videos with the background layer - based on the offset found above in Virb Edit between video and GPX. Sync the Google Earth video with the background layer visually - based on markings on the street.
And then save the final video…
It would be better to create another set of PNG files in Virb for the first sensor, instead of creating a video file with the overlays.
That would allow you to use the original GoPro 4GB video chunks as background layer in FCP and would maintain a better video quality (the procedure above encodes the video three times - to merge the chunks, to add the overlays and for the final video).
But the original video is 4K/30fps, so quality is still good enough in the end for youtube or facebook.
I haven’t used all the sensor data yet. I could show the air temperature in the tires, but that’s not really useful - would need the surface temperature. GoPro camera temperature is also not that interesting.
I have the accelerometer and gyroscope data from the GoPro that I could use to show acceleration and braking, but the data is not really good. I think the accelerometer might be recording vibrations from the engine more than the driving motion of the bike - need to test that. I didn’t stabilize the video and that doesn’t seem to shake too much.
And the gyroscope data has a lot of drift, when you try to calculate camera angles - could correct the data for that, but not sure if the result would be interesting. In principle it should be possible to calculate gear shift points from this data, so I could keep track of which gear the bike is in…
The bike has an AIM dashboard, but this model doesn’t have data logger capabilities - otherwise I could get gear, rpm, water temperature, oil pressure and battery voltage from there…
Also still looking for improvements in the workflow above. Would be nice if Virb could just create a video per gauge, support multiple sensors of one type, support CSV instead of GPX, and had some bug fixes - e.g. the grade calculation in this video is not correct.
Here is another video that adds a 360 camera to the mix: https://www.youtube.com/watch?v=lL6eoulviv0&t=673s
and one with a different camera perspective: https://www.youtube.com/watch?v=kSyar2eGbkc
on 08-16-2018 09:02 AM
Regarding the gyro, yes, not sure what relevant information can be derived from that considering the drift. Or the fact that when you turn around one axis the others produce unexpected behaviours (maybe I'm not interpreting it right).
I did find acceleration to be relevant after smoothing vibrationsout, and that was on some pretty rough roller coasters.
10-18-2018 06:15 AM - edited 10-18-2018 06:17 AM
I have been trying to use the telemetry data with Virb only because these gauges design seems to fit better, non intrusive, more contemporary, IMHO.
But nothing seems to work.
1. Recording the GPS data simultaneously with my cell phone, using Geo Tracker, a discontinued app only for Android devices. Save the tracks as GPX and applying them with Virb > inconsistencies
2. Extracting the data with the @kajuna flow (https://community.gopro.com/t5/GoPro-Metadata-Visualization/Extracting-the-metadata-in-a-useful-form...) and applying them with Virb> inconsistencies
3. Using GoPro Quik Desktop to aplply the gauges > works beautifully
Apparently, Quik has inner resources to precisely calculate velocity, distance, etc, that we cannot reproduce in others places.
Video examples below of my trip in the Paray colonial city (Rio de Janeiro). You can't drive into the old downtown streets.
on 10-18-2018 09:16 AM
@edsonm27 What were the inconsistencies with my workflow? I can't spend much time on it at the moment, but would like to add any issues to my to-do list :) We assume that Quik deduces altitude using additional data, but were there other problems? Were you using the latest version of the tools? Thanks
on 10-18-2018 11:06 AM
There are no inconsistencies with your workflow. I can extract successfully the GPX, KML, JSON and CSV files with the last version of your tools.
What I call inconsistencies is that the gauges barely move themselves from 0 (zero) when loading the GPX log in VIRB.
If I load the same GPX data in DashWare, for example, I get the same accurate results as we see in GoPro Quik.
So, there is nothing wrong with the files generated by your GPMD2CSV.
on 10-27-2018 04:09 AM
I think that I'm going there...
I created my own gauges in Dashware inspired by the VIRB ones. I had to do so because I coundnt make the telemetry works in VIRB.
But Dashware encodes video only with MS Media codec, that I dislike. So I create a chromakey to be used in Adobe Premiere.
Telemetry goes crazy when crossing the mountain tunnels.
on 10-27-2019 01:08 AM
if I want to open here ( https://tailorandwayne.com/gopro-telemetry-extractor/ ) a Gopro hero 7 Black files nothing happens at all.
What could be the mistake?
I click on choose, it opens my dictonary on my pc, I choose a clip and open it. But then - nothing...
on 10-27-2019 01:32 AM
@silkem552 Are they mp4 files taken directly from the camera/card? Or have they been processed or edited in some way? You can send me a sample file and I'll have a look if you want (my email is in the website)
01-13-2020 03:18 PM - edited 01-14-2020 02:07 AM
Dude Perfect (50 million subscribers) shows GoPro telemetry on a fighter jet in their latest video
Fun fact: They reached more than 7G at some point. The accelerometer in GoPros maxes out at 8G (per axis), so they got pretty close. You can easily max it out if you put your camera inside an empty washing machine (which can reach 200G)
on 08-05-2020 12:03 AM
on 01-04-2021 03:40 PM