ESC Log Video - add VESC data to your ride footage

Just released a little tool for generating videos from VESC logs. Works with all the CSV log formats I know about; VESC Tool, Metr, and Float Control. It’s very fresh, so probably buggy, but seems to work well enough for me. It only generates a video of the data itself, you’ll have to use a video editor to composite this on top of your ride footage.

https://lachlanhurst.github.io/esc-log-video/

My only board is a VESC OneWheel, so the log files from it are largely what it’s been used with, but it should work just fine for esk8s with multiple VESCs. Thanks to those that passed along some multi-VESC log files for testing.

Put together a short demo/tutorial of using ESC Log Video, and then Blender 3D (it does video editing well) to composite this onto some ride footage.

It’s a 100% browser-based app, even the video encoding is done in the browser, so none of your data is uploaded anywhere. It’s also open-source if you want to have a look at how it all works.

14 Likes

Nice work dude!

1 Like

Wow, this is great! You just ticked off a project that’s been sitting on my todo list for a few years now :smiley:

Regarding features, there are 3 main ones I’d love to see:

  1. Resolution options for the exported video; I try to upload in 4k these days
  2. The ability to trim/cut the log data, so that you can export the overlay only for the time period you actually filmed / want to share
  3. Robogotchi log support. Here’s an example log:
    2022-03-06T12:39:47.csv (2.1 MB)
    (You can use https://upload.freesk8.dev/ to visualize the data)

When I had this idea in mind I was going to implement it as a plugin for an existing video editor like Kdenlive or Blender so that the user could change the font attributes / graphics used as they please, but honestly this is also works :smiley:

1 Like

FYI to people – keep the browser tab open and visible on screen, otherwise progress pauses.

Also, use Chrome xd

image

1 Like

Syncing up the overlay to the footage is hard if you don’t have the start of the log recorded on video. But it works! :heart:

3 Likes

That looks great, thanks rusins!

That’s good feedback.

  1. 4k res - I should have included this as an option from the start. I’ll probably add it at some point.
  2. Trim log data - I was thinking about some kind of slider that would let specify start end times. Pretty much what you have in the VESC Tool when looking at CSV logs. You can actually cancel it part way through now and it’ll still render the frames that it got through to mp4. No way to trim the start though.
  3. Adding in new CSV file formats should be easy, but that Robogotchi format has a few complexities that will be tricky to work in. The CSV lines seem to alternate format between ESC data and GPS data, and there’s no guarentee there’s a GPS entry for each ESC entry. I can see why they’ve done this, but it does make it a little harder to read. May ‘hack’ support in initially and just skip the GPS lines :thinking:

I keep forgetting about the Chrome thing. It also works in Edge, which is pretty much Chrome these days, and maybe Firefox. Definitely doesn’t work in Safari, and there’s nothing I can do about that.

I was initially thinking of a Blender plugin too. There’s a few compromises in this web app, because it’s a web app. Couldn’t get the video lib I use to export anything with a transparent background which is why there’s that mask layer thing. It’s also slow, and you have to keep the tab open. I need to investigate using an offscreen canvas for rendering, it may resolve those last few issues. In the end I figured this would give me a chance to catch up on some web dev stuff, and it’d mean you could use whatever video editor you like.

3 Likes