Friday, April 8, 2011

AVBin : Your favorite interface to Audio & Video


Today I spent some time trying to work out the best way to load AV streams (ie: .avi, .vob, .mp3 etc) files into me program. So there are a nice 100 or so ways to do this with different libraries. But what's LGPL and usable? There's a good question.

After a good bit of googling around I found FFMpeg, LibAVCodec, LibAVFormat, LibAVFilter etc... all hard to link to, seperate fast-moving API's and breaking ABI's... nightmare.

In comes LibAVBin, a "thin wrapper" around all the above libraries, and abstracts away the details. Still getting the example to work is a little messy, so heres my own experience with it as of 09-04-11.

Grab the source here:

Then read the readme, and hit the SVN command to grab the latest FFMpeg.

./ the library, there's a couple of errors in main, cast "malloc" to (void*), and fix whatever else is needed... I forget!

Then grab:

That's the basic code for analysing a file's media content. From there it should be easy enough to see what's needed. The top of the header file has a nice "tutorial" on what functions need to be called in what order. I'm sure you'll work it out. Any questions, fire away!

Cheers, -Harry

Thursday, April 7, 2011

Exams looming, projects due


It's the exam time of year again, so Luppp has been laid to rest for a while, only to (hopefully) be revived once may 12th comes... Many projects due, much work to be doing.

Some small adjustments have been made to the source in the last weeks, but no real new features were implemented, although there is a bit of "conceptual" work going on. A Fluidsynth Soundfont player should be quite easy to integrate, as well as a wavetable synthesiser..

Then some sequencing tools and songs can be created... :-) Well ok, there's a lot of "load/save" stuff still to go on, and some theoretical threading jumble to be sorted out before that day. Lucky there's no deadlines here!

Cheers, -Harry