Triggered video kiosk software

I’ve been busy on a new piece of software, actually my first Python program which also happens to be my first piece of software I’ve open sourced.

I’m pretty happy with it so far, and already it does what I need it to. It’s rough, and of course could do with much better documentation, as well as bringing external modifications I’ve done in the OS internally to the program, but it works.

Basically it’s a replacement for very expensive signage hardware that allows triggering of HD videos through physical inputs (buttons, relays, other triggers) or via network packet based triggers. It runs on Raspberry Pi using the very good little omxplayer which pushes the videos through hardware decoding. It also allows logic programming so any kind of installation/usage is possible that requires video/sound.

Lastly, it can function purely as a simple video looper, but with the added benefit of seamless looping (seamless as in no black screen between loops, but there is a tiny pause of 100ms or so at the loop point) with player crash protection (if the player dies for some reason, it’ll relaunch).

It’ll run on the stock Raspbian Lite image (smaller, no bloat, no desktop) and draws directly to the framebuffer, which means no desktop, less ram usage, and more ability to handle large videos with the remaining RAM.

Eventually I’d like it to have the ability to show images in the logic, and other bits and pieces, but I’m also aware I’d like to keep the program small and light so that not many resources are used.

We will use it to replace the expensive commercial signage players we use in our artwork where videos/sounds are played synchronised with mechanisms and robotics at about a tenth of the cost with more control.

Hopefully it will help other artists and creatives along with anyone trying to build a video kiosk, or show a video in a gallery etc.

Here’s the link (free, open source, feel free to download and use):