Like many, I like to use my GoPro's when track riding. One of the neat features is to add lap times, speed, track maps, etc., as an overlay onto the videos.
Several pieces of software make this possible, but I'll just talk about a couple I use, to give you a general idea of what it takes to do this.
First you need need to record your videos. I like the GoPro as they provide good quality video and the newer models also are providing better audio. The Garmin VIRB will actually produce the data overlays as it actually records the video.
So this is what we are trying to achieve.
This video was recorded on a GoPro Hero 3. The data for the overlay was recorded on an iPhone4.
On the iPhone4, I have an App called Harry's Lap Timer ($30) http://www.gps-laptimer.de/Home.html. This App uses GPS data to record the laps, speed and to generate the track map and show your position. There are other Apps available that will do this, another one is TrackAddict ($9) http://racerender.com/TrackAddict/Features.html. These Apps are also available for Android smart phones as well. These applications capture just about anything you can think of, lap times, lap splits, speed, acceleration, braking and cornering G forces. They will indicate if you are faster or slower, on the current lap, than either the last or best lap. Both will also control starting and stopping the recording on your GoPro as well, but I found the touch screen does not work that well with my gloves, so I just start the GoPro manually.
One of the issues with the now older iPhone4, although it has a built in GPS, it only samples GPS data once a second. At high speed, this doesn't provide too mch accuracy. So to fix this, I use an external GPS receiver that Bluetooth's to the iPhone. The one I use is a Dual XGPS150A ($85), this samples GPS data 5 times a second. Harry's Lap Timer uses the data provided by the external GPS. There are other receivers that sample up to 20 times a second, but are more expensive.
Here is my iPhone mounted on a plate clamped to the fork tube, it's in a LifeProof case with the top removed for the photograph.
I've since moved the Dual XGPS150A to the tail section and mounted it with heavy duty Velcro. You can see it here.
The Dual XGPS150A ($85) charges off a USB charger and lasts about 12 hours on a charge.
Harry's Lap Timer (HLT) has profiles for about 450 tracks worldwide. So you select your track and then it knows where the start finish line is. With the App running, when you cross the start finish line it starts recording your laps.
It groups your laps as a session from when it starts recording, either automatically when you cross the start finish line or manually and when you manually stop it recording.
So now you have all this data on your smart phone and videos on your GoPro, one tip, set the date/time on your GoPro, it'll make it easier to synch your videos to the data session logs on your smart phone.
Now you need to get the session/lap data from you phone to the computer that will put the video and GPS data together for the final video. The easiest method, for me is to let HLT export the data and email it to myself so the data file comes as an attachment to my email on my laptop.
So now with the GoPro videos and the Session GPS data on my laptop computer it's time to bring the two files together.
For this I chose a piece of software called Race Render www.racerender.com. RaceRender also produces TrackAddict, the App for the smart phone mentioned above. RaceRender will let you try TrackAddict and RaceRender for free, they just limit the output video to 3 minutes.
When you start RaceRender it presents you with multiple templates show lots of gauges and video views. With the appropriate template selected you can then select the video file and the associated session data file. To two files need to be synced. In my case I usually have several minutes of video before I actually start recording lap/session data. RaceRender lets you visually adjust when the session data should start to overlay the video very easily. You can also add or removed the overlay objects, change their display format and move them to your desired position on the screen.
When finished, you just export your final video.