Many hours during winter and lockdown I sat on my “Cardiostrong BX70i” exercise bike and cycled on may places arround the world: For that I connected the bike via bluetooth to an iPad and the Kinomap-APP. The APP has on the one hand the video of the tour and other cyclists using the same tour, on the other hand it feeds the bike with data like elevation, inclination to set the resistance of the bike.
The nice thing at kinomap is that you can upload your own videos along with data. This article shows how I created a 28 minute, 9.6km video of a ride in munich, germany.
Step 1: Create the Video
- I searched for a bike camera for recording video and the geo-data (longitude, latitude, elevation, speed, time…): So I bought a used “GoPro Hero 5” cam and a 64 GB memory card.
- Fixing the cam on your “real world outdoor bike” depends on the handlebar (or the helmet). I decided to put the cam on the handlebar. As my bike has a very thick mountainbike-handlebar, the original GoPro-Handlebarmount was no option. What’s working is a vhbw Pivotarm combinded with some adapter.
- When uploading the tour Kinomap expects at least a 20 minute-ride (even some kinomap-pages tell 5 minutes are enough – it’s not) and good geo-data. You might need several attempts to get an admissible video and geo-data.
Step 2: Ride!
- Before starting the recording of your outdoor-bikeride switch on the cam and wait until the GPS-Pin is displayed (if not check the settings of the cam): This might take some minutes, as the cam has to receive at least three satellite-signals to calc the position.
- Then start recording. The display might switch off like a screensaver. But the cam is now recording (video and geo-data) onto the memorycard. You might have a 2nd cam-battery at hand if you ride some hours.
Step 3: Load Videos to desktop PC
- Remove the memory card from the cam and insert it into a cardreader connected to your desktop PC. You then can load the files (esp. the videos files, the geo-data is in the videofiles). Or connect the cam via USB to the PC and use the GoPro-Software Quik.
- In the end you should have a bunch of files on your PC. The recording software created not one big file for a longer ride – but several files with max. size of 4 GB. Which was in my case about 10 minutes. So I got three videos for a 28 min ride.
Step 4: Put video together
- To join the videos you can use Tools like www.mp4joiner.org or VideoTaped (at End of page): The result is one big mp4-File for the whole ride.
Step 5: Extract geo-data
The geo-data is part of the GoPro-videofiles (not the merged ones, there the geo-data is not joined (if there is a way to merge both video and geo-data drop me a mail).
- The website “TELEMETRY EXTRACTOR for GoPro” will extract a gpx-file out of a mp4-fiel: Click on “Free”, “choose file” and download the gpx-file.
- In this example with three files you get three gpx-files. Check with https://www.gpsvisualizer.com/map_input if the gpx-data does make sense.
- Then merge the three gpx-files. E .g. by https://joewein.net/bike/gpxmerge/gpxmerge.htm (not with https://printmyroute.xyz/merge/ as this leaves lots of datapoints out)
- Check the joined gpx-file with https://www.gpsvisualizer.com/map_input if the gpx-data does make sense.
- I uploaded the joined mp4-file and the gpx-file at Kinomap . The site then shows the video and the geo-data. You might sync the two datasets if needed. Unfortunately it takes up to 48 hours for processing the geo-data. If those are not good enough your videos is ok for the website but not for the Kinomap-App for your exercise bike at home.
Step 6: Fix elevation problems
In my example the recorded and joined gpx-data has some “elevation-jumps”. E. g. when crossing under a bridge the elevation before and after the bridge differs by 9 meter – an non realistic inclination. I found this by analyzing the geo-data with a PHP-script checking for those “jumps”. You might develop an algorithm for fixing those jumps, but I choose another way: I used the file at https://www.gpsvisualizer.com/elevation where the latitude and longitude are used to get the correct elevation. The resulting gpx-files does not have any “bigger elevation jumps” anymore.
Step 7: Upload
Upload the joined mp4-video and the improved gpx-file at https://videos.kinomap.com/de/upload. With my internet-access it uploaded at 12 mbs speed. This is 12 megaBIT per second, what is 12/8 megaBYTE per second. For 9 GB you then need (9*1024)/(12/8) = 6144 seconds = 1 hour 43 min. Therefore roundabout 2 hours are needed for the upload.