FFmpeg and x264 circular dependency

Tom Evans tevans.uk at googlemail.com
Wed Mar 5 10:24:52 UTC 2014


On Wed, Mar 5, 2014 at 8:37 AM, Andrew Berg
<aberg010 at my.hennepintech.edu> wrote:
> On 2014.03.03 05:48, Tom Evans wrote:
>> libav is not ffmpeg, it is a fork of ffmpeg*, so that is a non starter.
> Okay, that clears some things up.
>
>> Option 4, not on your list, is to build an ffmpeg locally just for
>> x264 to link to. libx264 can build with whatever options you want,
>> building whatever parts of ffmpeg is requires, and the
>> presence/non-presence of ffmpeg would not affect the build of libx264.
>> This is how other projects that use parts of ffmpeg do it (eg,
>> mythtv).
> If I understand this correctly, this is essentially option 1 with a workaround that requires the user to keep that local copy up-to-date
> manually instead of using ports.
>

No, not really. If the user chooses options in libx264 that require
ffmpeg, then the port will download and build ffmpeg as part of the
libx264 port, providing the libraries that libx264 needs, but not
installing these as ffmpeg.

The other option is just to disable the GPAC option of x264 - if you
need mp4 output, use ffmpeg. The whole thing is kind of hacky anyway,
the common way to use a library with ffmpeg is to build ffmpeg and
enable support for the library, not build the library and link ffmpeg
to it.

Actually, probably the "correct" way forward for this is to split the
port in to two, "libx264" providing the library, which would not
depend on ffmpeg, and "x264" providing the binary, which would depend
on "libx264" and optionally "ffmpeg".

Cheers

Tom


More information about the freebsd-multimedia mailing list