It's an interesting problem. I think your worst enemy is a lack of synchronisation between the gps and the video - unless the clocks are exactly (or very closely) synchronised, you are relying on manual sync of two very different data streams, which you may not be able to do. Possibly your best bet is to find a way to get the gps data into the video stream either during recording (probably very hard) or when you get home (merely difficult). This must be possible because gps video cams exist, don't they? Your chances of finding a program to do what you want then become considerably improved - though you may still end up writing your own wrapper to put the two outputs side by side.