OVERVIEW

AForge.NET is an open source C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence – image processing, neural networks, genetic algorithms, fuzzy logic, machine learning, robotics, etc.

AForge.NET is provided under the LGPL v3 license, except for the AForge.Video.FFMPEG component which is provided under the GPL v3 license. This is primarily due to the fact that the FFmpeg libraries themselves are provided under the GPL v3 license since some of the algorithms within FFmpeg fall under the GPL v3. This strong copy left makes it unsuitable for many proprietary software ventures.

With that said, it is indeed possible to have FFmpeg fall under LGPL v3 by removing those codec algorithms that require GPL v3. This is precisely what we did. Hence, this release of AForge.Video.FFMPEG falls under the LGPL v3 weak copyleft license. This opens up the possibility of it being distributed with proprietary projects, without requiring you to release all of your proprietary source code.

WHAT YOU GET

This release is not a fork of the AForge.Video.FFMPEG component, it’s merely a recompile so it adheres to a weak copyleft and nothing more. Thus, there are no modifications to either the FFmpeg or AForge.NET code.

Four versions of the libraries are provided:
1. .NET 2 x86
2. .NET 2 x64
3. .NET 4 x86
4. .NET 4 x64

The libraries have been compiled with Visual Studio 2010 SP1 and some users may be required to install the Visual C++ 2010 SP1 Redistributable Package for the component to work:
Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)

CREATE YOUR OWN

Generally, using the provided binaries is good enough.  However, in some cases you may wish to modify the code or perhaps you may need to recompile the code to target a different platform or version (e.g. using Visual Studio 2013).  In this case use Git to grab either the 32 or 64-bit branch from the repo, depending on which platform you want to target.  Please note that both the x86 and x64 branches use their own separate FFmpeg libs.  You also may need to install Visual Studio 2008 or the Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5 if you want to target the .NET Framework 2 platform using Visual Studio 2010.

DONATIONS ARE WELCOME

This project relies on a LGPL version of FFmpeg.  We ended up paying the fine gentleman over at zeranoe.org $500 to provide us with LGPL versions of both the 32 and 64-bit FFmpeg builds.  This was done to ensure that everything is kosher.  We would however like to see at least some if not all of that money back.  If proceeds end up reaching over $500 then we'll donate the difference back to the wonderful folks at AForge.

Donate using PayPal


LEGALITIES SHMEGALITIES

If you don’t already know how the LGPL v3 license works then should probably get familiar with it. A copy of the license can be found here: https://www.gnu.org/licenses/lgpl.html. Additionally, just because the FFmpeg algorithms are provided as a free download does not negate the fact that certain enclosed codecs are somebody’s intellectual property. Depending on your jurisdiction, you may still need to adhere to any local or regional laws pertaining to the distribution and use of certain patented codecs. E.g. negotiating with the MPEG LA if you are using the MPEG codec. This is of course left up to you.

Last edited Nov 6, 2013 at 1:51 PM by PauloPolaco, version 8