Skip to content

Open Source Video: ffmpeg

August 11, 2014

The Vindex product at InfinaDyne is a tool for video analysis and in order to do this, it has to gain access to video frames.  It started out in 2010 with a fairly simple wrapper around DirectShow and MediaFoundation but today has been extended with additional frame readers – one of them utilizing ffmpeg.

ffmpeg is an open-source project that began in 2000.  It is utilized by a number of different products, both open and closed-source.  It is a fairly robust tool for playing and encoding video with the right price – free.  There are some issues with ffmpeg having to do with licensing and patents.  When you build ffmpeg you get to decide what license the resulting library and tools should adhere to, basically GPL version 2 or LGPL version 2.  For distribution with a closed-source product the LGPL licensed version is the only one that should be used.

As far as patents are concerned, there are video encoding schemes which are patented in the United States and other countries which allow software patents.  Some of these are reimplemented in ffmpeg and in theory should not be present in an open source product.  In many cases the patent holders have decided not to pursue the small amounts of revenue that could be gathered by attempting to enforce their patent on users of ffmpeg, most of which are home users.

For Vindex we are using ffmpeg for video encoding and decoding.  A new HTML reporting feature was added in 2013 which extracts video clips and saves them as MPEG-1 video and this required video encoding.  This year we are releasing an ffmpeg-based frame reader which will read all the different types of video that ffmpeg can decode.  We are using an LGPL version of the library and loading it dynamically so that our product is as compliant as possible with the open-source licensing provisions of this project.

We believe the introduction of ffmpeg being included with Vindex will make a significant improvement in the capabilities of our product.

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: