Taking video snapshots quickly: KDE VLC Snapper

Some of the oldest readers of this blog are well aware of a certain hobby of mine. Over the years I’ve always wanted to write more about that, including the stuff I’m viewing nowadays, but I found a hassle to collect snapshots from videos / DVDs, selecting them, and so on. 

Recently I learnt that VLC has some rather complete Python bindings, and I thought, why not make the process automated? Yesterday I had some free time on my hands and a quick session of hacking brought some results already.
As the stuff is somewhat past prototypal stage, I thought I would push somewhere for others to use.  Lo and behold, here I present you KDE VLC Snapper.
As you can see, it’s a minimal dialog: just select your source video file (any file supported by VLC will do), the number of screencaps, the destination directory, and the program will do the rest. Currently it works somewhat OK (see caveats below) and is good enough for my use cases.

How do I get it?

Just clone this repository:
git clone http://git.gitorious.org/kde-vlc-snapper/kde-vlc-snapper.git

followed by

sudo python setup.py install

You can then invoke the program with

kdevlcsnapper
Requirements include PyKDE4 (tested on KDE Dev Platform 4.6), numpy (just for its “linspace” function, alternatives are welcome) and VLC installed (you don’t need the bindings, however: I provide a local copy).
What about bugs? Well, currently there are two issues that I’m unsure on how to fix: the first is a crash on exit, the second is that certain media files make VLC crash in the background when called from the bindings.
In any case, if you try it out, let me know what you think in the comments!

6 thoughts on “Taking video snapshots quickly: KDE VLC Snapper”

  1. Okay, this is fancy if wanting to use VLC. But I liked to use FFMPEG or MPLayer to do same things. Application can be found from kde-apps.org.

  2. @Fri13
    I used also ffmpeg and sometimes mplayer to do the job. However neither have bindings for my favorite programming language (that is, Python).

Comments are closed.