The most complete library for audio/video file reading, writing, decoding, and 
everything else is ffmpeg's (the library is called "libav", but there's a fork 
of ffmpeg called "libav" so it's really confusing; so I'll just call it 
"ffmpeg")

There is no other offering, free or not, that has comparable breadth of 
support. I have planned to c2nim it into working condition, but have not yet 
found the time, and even if I did, it would likely be less useful than one can 
expect.

There are a few issues to consider about this library -

1) It wraps a lot of other libraries, such as LAME, x264, ...; ffmpeg itself is 
mostly LGPL, but each library has its own license (x264 is pure GPL, for 
example), which for some users is in conflict with Nim's less restrictive 
license. Furthermore, there is essentially no one to negotiate a non-free 
license with for the most part (x264 do, but only for their part; for the main 
ffmpeg lib which includes e.g. the h264 decoder, there is no way at present to 
get a non-free license)

2) It changes often, and as a rule of the thumb, one should expect breaking 
changes about 1-year after the release of each version. The required changes 
are usually small, occasionally big, but in general this proves hard for any 
kind of language wrapper to remain well supported, working and relevant.

I don't think it's a coincidence that almost no language has up-to-date ffmpeg 
wrappers (and those that do usually wrap the .exe rather than link to the lib); 
it's a moving target.

Reply via email to