Transcode is a awesome commandline tool to stabilize shaky videos. It's pretty easy to handle and comes with lots and lots of cool features. You'll need minimal codes knowledge to use it properly (don't shy away here, you don't actually do ;)).

This is what I do when I stabilize my videos:

ffmpeg -ss 00:00:07 -i source.mp4 -t 25 -c:v libx264 -c:a aac -strict experimental -b:a 128k cut.mp4

This creates a newly encoded video from an old video and cuts it, starting at second 7 containing the next 25 seconds. Adjust values accordingly !

The next step is to create a file that contains information about the motion within the video. To do this we run the following command:

transcode -J stabilize -i cut.mp4 -y null,null -o dummy

The null and dummy parameters already indicate that this run aims to only create information about the video. The existing file can be used for different kinds of transformations and only needs to be created once per original video.

When it's done we create our stabilized video:

transcode -J transform=smoothing=60:zoom=20 -i cut.mp4 -y xvid -o smooth60zoom20.mp4

For information on the parameters it's best to check out the link provided at the top. There are nice examples and good explanations ! In short: smoothing reduces camera movement, zoom adds a percentage to the default optimal zoom.