progweb / gpx2video

Creating video with telemetry overlay from GPX data
GNU General Public License v3.0
181 stars 10 forks source link

[FEATURE] Render GPX to MP4 without source media file #33

Closed tarampampam closed 1 week ago

tarampampam commented 7 months ago

Is your feature request related to a problem? Please describe.

Hello there, and thank you for your project! Allow me to explain my situation to help you better understand why I'm requesting this feature. I'm a happy user of the GoPro 11, which unfortunately lacks a built-in GPS feature. To compensate, I record a GPX file using an app on my mobile phone, which I always have with me when riding my bike.

After each ride, I'd love the option to render the GPX file into an MP4 format. This way, I could easily combine multiple short recorded videos into one cohesive video in my video editor and add an overlay with real-time data such as speed and altitude.

Describe the solution you'd like

./gpx2video -v -g ./path/to.gpx -l layout.xml -o output.mp4 video # without --media flag
fpokryvk commented 7 months ago

Just a sidenote: GPS feature was removed in GoPro 12, I have GoPro 11 and I can sync nicely with GPS metadata (I use only tinespamp, as I trust more the garmin watch GPX file). But this feature would be welocome for me too, because now I do "dummy" mp4 video with given length to sync with timelapse (if timelapse video is 20 minutes of realtime, I need 20min black video). Not required ‐-media option would be welcome. At least for 'image' command, specifying only start time and duration would be nice.

progweb commented 7 months ago

Hi,

I understand your request, nevertheless I just add for your information that input media is used to determine the start time and the duration for the output video. Moreover input media is used too to set width x height and other video settings. At last, the input media contains GPS stream is used to sync.

Without input media, a lot of settings will be required mostly to avoid to render a video during whole gpx duration.

A black (or green background) video can be rendered in using a widget matchs on the video size.

At last you can also render transparent image.

progweb commented 1 week ago

There is 2 solutions

1/ use image renderer feature.

2/ generate an empty video with ffmpeg. You define video size, framerate and you set the creation_time metadata field.

Then in a next time, you use gpx2video