Working With Video From Ruby

By Peter Cooper

With only the performance of a scripting language, Ruby isn't considered a particularly suitable choice for intense video work (direct transcoding, encoding, and the like.). Nonetheless, there are a handful of Ruby libraries and Ruby-based technologies you can use to work with video and movie files - primarily through interacting with faster tools or libraries.

RMov (Ruby Quicktime Library)

RMov is an awesome new Ruby library by Ryan Bates that wraps around Apple's QuickTime API and allows you to open, edit, and export QuickTime movies from within Ruby. It is, unfortunately, OS X only.

RVideo (Ruby Video Processing)

RVideo (Github) is a Ruby library that interfaces with tools like ffmpeg to let you inspect and process video and audio files. For example, you can use RVideo to help you convert videos into FLVs.

Panda (Video Encoding and Streaming Platform)

Panda is a Ruby-powered open source "video uploading, encoding and streaming" solution. While it uses Ruby as an interface (in the shape of a Merb application), it relies on tried and tested tools like FFMpeg to do the heavy lifting but may be perfect if you have an Amazon EC2 account and fancy offloading the CPU intense video work.

Hey!Spread (Video Promotion Web Service)

Hey!Spread makes it easy to upload videos to YouTube and Google Video - each operation essentially becoming a method.

Fliqz4R ("White-Label YouTube" API)

Fliqz is a provider of "plug and play video solutions." Effectively they provide the backend infrastructure for hosting and playing videos, a kind of white-label YouTube, if you will. Libin Pan has put together a tutorial that demonstrates how to use Fliqz from Ruby / Rails using the Fliqz4R Rails plugin.

Any other libraries to recommend? Leave a comment.