gopro-dashboard-overlay icon indicating copy to clipboard operation
gopro-dashboard-overlay copied to clipboard

Feature request (?): Produce overlay only from GPX file

Open jacksgt opened this issue 3 years ago • 6 comments

Hello,

thank you for developing and sharing this tool - the screenshots looks very nice :-)

I was wondering if it's possible to use this tool to render only the overlay video (possibly with a green or transparent background) without an "input* video?

To give some context: I have some footage from camera that doesn't include any (relevant) telemetry metadata. I also have a separate GPX file based on which I'd like to generate the overlay. If I had just the overlay video (the length of which would be the same as the GPX recording), I could manually merge it with the actual video footage in another video editing tool (Kdenlive / Shotcut). I tried the following command, but unfortunately the tool complains that it could not find a metadata stream in the input file (which is true).

gopro-dashboard.py --gpx my.gpx --generate overlay --overlay-size 1920x1080 start.MOV out.mp4

Any help is appreciated :-)

jacksgt avatar May 28 '22 20:05 jacksgt

Thanks for your interest! Hmm, this might be possible. The program does already support an "overlay only" mode, but it does currently require a metadata track from a gopro, for synchronisation. I'll take a look at how this could be done. I can't promise it will be done immediately though!

time4tea avatar May 28 '22 20:05 time4tea

Was the video created with a gopro, or is it from someplace else? Just curious, as I thought pretty much all gopro captured metadata- or maybe the metadata got removed somehow?

time4tea avatar May 28 '22 20:05 time4tea

Thanks for the super quick reply!

Thanks for your interest! Hmm, this might be possible. The program does already support an "overlay only" mode, but it does currently require a metadata track from a gopro, for synchronisation. I'll take a look at how this could be done. I can't promise it will be done immediately though!

I'm by no means a Python expert and I'm obviously unfamiliar with the code base, but if there is anything I can help with, just let me know.

Was the video created with a gopro, or is it from someplace else? Just curious, as I thought pretty much all gopro captured metadata- or maybe the metadata got removed somehow?

Indeed the video footage was not captured with a GoPro, but with another action camera which doesn't have any built-in GPS metadata. Here's the ffprobe output:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'start.MOV':
  Metadata:
    major_brand     : iso4
    minor_version   : 1
    compatible_brands: mp42avc1
    creation_time   : 2022-05-15T05:30:00.000000Z
  Duration: 00:04:05.75, start: 0.000000, bitrate: 14119 kb/s
  Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 1920x1080, 13984 kb/s, 60 fps, 60 tbr, 60k tbn (default)
    Metadata:
      creation_time   : 2021-11-17T17:51:51.000000Z
      vendor_id       : [0][0][0][0]
      encoder         : AVC Coding
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      creation_time   : 2021-11-17T17:51:51.000000Z
      vendor_id       : [0][0][0][0]

(even the creation timestamp is messed up because I didn't set the time before recording, haha.)

jacksgt avatar May 28 '22 21:05 jacksgt

Thanks for your interest! Hmm, this might be possible. The program does already support an "overlay only" mode, but it does currently require a metadata track from a gopro, for synchronisation. I'll take a look at how this could be done. I can't promise it will be done immediately though!

For curiosity, how would it be to generate "overlay only"? Because I see it very useful in order to be able to incorporate it into a video editing program. Thanks!

gokuhs avatar May 31 '22 16:05 gokuhs

For curiosity, how would it be to generate "overlay only"? Because I see it very useful in order to be able to incorporate it into a video editing program. Thanks!

Most video editing programs have a filter called "Chroma Key" (or similar), which basically takes one color in the video and treats it as transparent (this is commonly used for green screens). Here's a very short tutorial for Shotcut: https://yt.cubieserver.de/watch?v=rbk7yKsWu-k

jacksgt avatar May 31 '22 16:05 jacksgt

If you are starting with a GoPro video, you can generate just the overlay by using --generate overlay on the command line. Right now you can't do this with just a gpx file, but maybe soonish.

time4tea avatar May 31 '22 17:05 time4tea

I thought perhaps its worth chatting about this in #66 ...

time4tea avatar Sep 12 '22 11:09 time4tea

GitHub magically closed this - not sure it is "closed" yet.

time4tea avatar Sep 24 '22 19:09 time4tea

Wow, thanks for the great work to everyone involved!

I'll take a look at it as soon as possible and will report back how it works and if it fits my use-case.

jacksgt avatar Oct 03 '22 13:10 jacksgt

Please do let me know if it does or doesn't work for you... the more I understand what people want to do, the more I can make the software do what people want!

time4tea avatar Oct 03 '22 14:10 time4tea

Hello, I just wanted to report back and say that this new feature works exactly as intended - fantastic!

I converted my FIT file to GPX with gpsbabel -i garmin_fit -f "input.fit" -o gpx -F "output.gpx" - so at this point I have a "naked" video file and GPX track.

Then I created the overlay-only video with python3 bin/gopro-dashboard.py --gpx-only --gpx output.gpx --profile overlay --overlay-size 1920x1080 dashboard.mov. I used the png codec of ffmpeg. Since my GPX track is 5.5 hours long, it produced an overlay video file of 88 GiB :D

Then, I dropped the video files and the new overlay video into Shotcut's timeline and manually aligned the pieces according to the overlay map. Of course, this process is much more tedious than automagically getting the correct position when you have a video file with included GPS data, nevertheless it works quite well when you know the area and there are some landmarks (e.g. specific intersections, houses, ...).

snapshot

Many thanks again for the excellent software! I believe we can close this issue :-)

jacksgt avatar Oct 09 '22 19:10 jacksgt

That is great to hear! Thanks for letting me know and also its great to hear a little about your workflow.

Would it be possible for you to share a frame of the video for our gallery, or if the video is on YouTube or something, a link? - It is 100% ok if you don't want to, but if you do please just send a link or an image to me at gopro-overlay [at] time4tea.net

time4tea avatar Oct 11 '22 09:10 time4tea

@jacksgt I can't remember if I mentioned this already, but in the latest version, you can generate overlays directly from fit files, so no need for the extra conversion step. Cheers!

time4tea avatar Dec 09 '22 09:12 time4tea

@time4tea You're awesome man! Nice addition. :+1:

jacksgt avatar Dec 09 '22 11:12 jacksgt