Hacker News new | ask | show | jobs
by clangen 3258 days ago
This is a great question. Unfortunately I don't have a good answer, at least from a technical standpoint. ffmpeg is super stable, battle tested, and does just about everything.

I think there were a couple reasons we (myself and the original developers) didn't go with ffmpeg initially: (1) we really wanted to learn how to build a medium-sized C++ app from scratch. Passing everything through to ffmpeg sounded boring. (2) it was difficult to build ffmpeg on Windows in 2007, when we started work on the audio engine. (3) ffmpeg is LGPL/GPL licensed. We originally planned on statically linking everything into a single executable, and were worried the LGPL license would require us to change our license to LGPL. We really wanted BSD.

I don't think any of these are concerns anymore. To be honest, I've sat down a couple times to write an ffmpeg decoder plugin, but always get distracted by missing features and end up working on those instead.

All of that said, I think we should consider looking into ffmpeg again sometime soon, for exactly the reasons you've listed.

1 comments

This is semi-unrelated, but would a more robust/portable playlist format be of interest to your project? I wrote a spec for one and am trying to work with projects to implement it in one:

http://universalplaylist.stavros.io/

I tried to write a beets implementation, I got rather far but it was cumbersome because beets is more of a library manager than a playlist manager. That meant it lacked playlist functionality, which meant I'd have to write my own playlist manager, which was quite a bit more work than just the import/export plugin :/