[Libav-user] Would anyone find an OS X / Cocoa / Swift wrapper for Libav useful?

wm4 nfxjfg at googlemail.com
Sun Jan 25 00:03:33 CET 2015

On Fri, 23 Jan 2015 10:19:52 -0700
Bradley O'Hearne <brado at bighillsoftware.com> wrote:

> Nothing wrong with a preference. But understand that others don’t
> necessarily share that opinion, others don’t necessarily have a choice
> when having to follow management or client direction, and “crappy
> proprietary Apple technology” is a bit of a dubious criticism given the
> codebase we are referring to here. Quality criticisms aside, for all

I can't say I'm overly fascinated by Apple engineering.

> practical purposes, despite the fact that FFmpeg is open source, it is
> pragmatically proprietary, because the key architecture / design /
> nuances of the product are locked in a very few developers’ heads, not
> thoroughly documented and known. There is nothing “open” or
> “accessible” about FFmpeg at all, unless you consider getting lambasted

That's pretty ridiculous. Just because it's not documented as well as
you want it, it's proprietary?

Anyway, documentation for open source things is bound to be worse than
with (popular) closed source APIs, simply because if something is not
documented, you could just read the source code, find out how it's
supposed to work, and send a patch to improve the documentation. (Only
if you actually contribute something, instead of complaining how rude
everyone is.) There's also this effect that once people learned how
things work, they won't be as much interested in putting effort into
the docs as before. That's just natural; it would happen to you as well.

Last but not least, most people working on FFmpeg are volunteers (you
can be one too) who work for free, or are not paid to work mainly on

(Also, I've never encountered an API that really clearly defined
everything 100%, whether it was proprietary or open source. If it's
open source, at least you can find out yourself, and maybe even
contribute a patch for clarification.)

> for asking design questions on the mailing list and being relegated to
> reading through undocumented source code for a month “open”. Sure it is
> free of licensing charges, but FFmpeg is not free — unless you have got
> a vanilla use-case encapsulated in the canned examples, you are most
> likely in for a deep-sea expedition, and you’ll most definitely be
> investing a large amount of time trying to understand how to use it. 

The main issue is actually that the FFmpeg API is pretty low-level,
while many users expect something higher level. (Somewhat typical: a
user wants frame N of video in a specific format. Yeah, implementing
this using the raw FFmpeg API will take some time.)

I don't know what you got "lambasted" for, but you probably either
touched a sensible subject, got into some flamewar and internal
politics, or you did something honestly stupid.

> But perhaps more important than this, FFmpeg purports to support OS X,
> and so when someone comes to this project and mailing list asking
> questions relevant to FFmpeg on OS X, they shouldn’t be subjected to a
> firestorm of flak simply because of what platform they are using. They
> shouldn’t be asked to post source code and then after they do so, be
> told that no one is going to care or look at it if it isn’t submitted
> for a different platform — that’s ridiculous anyway, as the context of
> the question *is on* OS X. 

Getting asked for source code if you ask for help is quite reasonable.
Even if people are willing to help, they don't have the time to guess
what your problem is, and trying the user's code (or looking directly at
code) is much more effective than trying to get to the care of the
issue by trying to get "it" out of the user in English. Especially if
it's a bug in FFmpeg, being able to reproduce the user's problem is
extremely helpful. And yeah, for someone not on OSX, OSX code will be

> If for some reason to the FFmpeg dev OS X is considered an outcast
> which no one wants to support, then fine — put a big neon sign on the
> front page of the FFmpeg web site which says: “FFmpeg does not work on
> OS X, it is not being developed on OS X, it is not supported on OS X,
> we do not recommend using OS X, and please do not post questions to the
> mailing list about FFmpeg on OS X.” 

No reason to get upset because some (or many) devs can't or don't want
to help with OSX specific issues.

Anyway, in this case I got upset because someone was arguing for
questionable Apple vendor-lockin, instead of doing something portable,
or - got forbid - actually improving FFmpeg. Seriously, you're talking
about how bad FFmpeg is, and you want to solve it by putting a shiny
Apple-only wrapper around it? Instead of improving FFmpeg? And you post
that on a FFmpeg mailing list? I can't help but to make fun of this.

> I understand not everyone can run every platform, but if someone
> approaches the list using a supported platform, they shouldn’t have to
> wade through a religious debate in order to even get to the point where
> they can talk about the actual question they have. 

I don't think it's wrong to get political about evil companies, or to
make fun of people trapped by evil companies. Also, trolling is fun.

> > On Jan 23, 2015, at 1:58 AM, Info || Non-Lethal Applications <info at non-lethal-applications.com> wrote:
> > 
> >> 
> >> Would anyone be interested in such an API? 
> > 
> > So, yes. I would love to see a high-level wrapper taking the implementation specific burdens off our shoulders.
> > Basically, all I'd want is: 
> > - give me a frame at this index (and if there’s some inter frame coding to be done, just do it for me)
> > - give me audio samples starting from x and ending at y
> This is really good feedback. If anyone else cares to respond, I’m interested. Thanks again to everyone who has responded thus far. 
> Brad
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user

More information about the Libav-user mailing list