Saturday, February 23, 2019

stabilizing cycling videos

In the process of making videos of my morning cycling jaunts, wanted to stabilize the video and also speed it up. Found that Microsoft Hyperlapse Mobile was doing a reasonable job, though it is limited to saving in 720p on my LG Q6 mobile. Very blocky output (probably a low-bitrate codec?) and the video goes blurry once in a while, but stability is good. Compared to kdenlive's vidstab stabilization in the video below.

Bugs and workarounds -

1. My phone doesn't show all the videos all the time, either to Hyperlapse when importing video, or via MTP to Linux Mint 18.1 on USB for taking backups. Workaround, as suggested here, was to just restart the phone.

2. Initially, I was working with kdenlive 15 which came with Linux Mint 18.1, and faced the problem of tooltips being unreadable, having white text on yellow background as mentioned in this post. Then I started using the version 18.12 appimage - that does not have this issue, and also is less prone to random crashes.

3. My equipment is the LG Q6 mobile mounted on the handlebar using a cheap mount from Amazon,


The bracket is not tight enough, and I keep needing to push it up 5-6 times per ride (if the ride is not very smooth) to prevent the phone from tilting down and capturing only the ground right in front of me. Maybe a different way of mounting the phone may solve this - will try out different orientations. 

Time taken for processing

Hyperlapse took around 10 minutes per video to import, and 2 minutes to export as 4x sped up 720p video. Input videos were 1080p 30 fps captured by OpenCamera with the phone's default bitrate and codec, 17 Mbps mp4, file size limited to 1 GB. The 1 GB had around 8 minutes of footage. So, overall speed of Hyperlapse was 12 minutes for 8 minutes of footage, 1.5x real-time.

Kdenlive + vidstab was much slower. Around 2.5x real-time for just rendering mp4 to mp4. This is at a higher bitrate, but on an i7 Macbook. And around 50 minutes for an 8 minute clip stabilization. So, for speeding up 4x and then stabilizing, it would take around 35 minutes in a two-step process, or 4.4x real-time.  

So, I'm going with Hyperlapse. Maybe my colleagues with better stabilization software would prefer the raw footage, so I'm archiving the raw footage separately. 

Finally, here's the comparison video






No comments:

Post a Comment