I can parse the output of gpspipe for the data, then use that as the source for a series of marquees in VLC which get transcoded along with the video feed. Alternatively I can also create a single png image of the data with imagemagick to be overlaid as a logo in the VLC stream (which looks a bit prettier). Either way the updates are sent to VLC's remote TCP remote control interface using netcat.
I used to run Windows (32-bit) for OziExplorer and better voices like AT&T Natural Voices, but I've now got all that running under wine.
EDIT: Here's a proof of concept example. The speed is wrong in this one (converted to km/h from knots instead of m/sec).