2

I want to use latest version of ffmpeg with latest versions of external libraries. How do i do that? BTW, I just began using linux yesterday, so please be easy :)

http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

First i looked this guide but it doesn't cover all libraries and a bit outdated.

http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#GettheDependencies

At first step, it makes you to install some libraries from Software Center which most likely provides old versions. Ex. libvorbis-dev

Also i don't even know how to upgrade just a library or ffmpeg without doing everything all over again. This doesn't explain so well for me:

http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#update

Then i found this static builds recommended on ffmpeg.org, but again, it doesn't include all external libraries and some of them not the latest:

http://johnvansickle.com/ffmpeg/

I downloaded it anyway, since it gives me more complete build than following the first guide. But when i wanted to upgrade a library by myself, i didn't know what to do. Is it even possible?

http://ffmpeg.zeranoe.com/

When i compare this linux build with the popular windows build by Zeranoe, Zeranoe offers almost all libraries and seems more up-to-date. The only ones that it doesn't include are explained in his FAQ:

from http://ffmpeg.zeranoe.com/faq/

Why dont the builds include FAAC, FDK-AAC, libaacplus?

These libraries are not compatible with the GPL license and cannot be included without licensing the build as nonfree. A nonfree build cannot be publicly distributed.

As speaking of "not included libraries", can i add them to any static build manually? On linux or windows, that doesnt matter. I just want to know basics of static builds.

If i can, i would add all nonfree libraries to Zeranoe's build manually and then replace libvorbis with aoTuV's libvorbis which is a modified version of libvorbis and claimed to be better in some areas. Ofcourse replacing the libvorbis seems not a good idea, if possible i would keep them both but set libvorbis as default encoder.

3
  • 1
    Which ubuntu version are you using?
    – Wilf
    Jun 25, 2015 at 16:35
  • ubuntu version 15.04
    – dandidondi
    Jun 25, 2015 at 17:05
  • You can build or get the latest stable version from here
    – Wilf
    Jun 25, 2015 at 18:39

1 Answer 1

2

First i looked this guide but it doesn't cover all libraries and a bit outdated. At first step, it makes you to install some libraries from Software Center which most likely provides old versions. Ex. libvorbis-dev

The guide uses some packages from the repository for user convenience. Many of these packages, such as libvorbis-dev, are in a mature state and are considered relatively up-to-date, so compiling the most recent version may not make any difference. You'll have to refer to each package.

Of course you can always compile each dependency instead of relying on the version from the repository: just adapt the examples in the guide for the other dependencies that are compiled.

Also i don't even know how to upgrade just a library or ffmpeg without doing everything all over again.

If you follow this guide, and upgrade a library, then you'll have to re-compile ffmpeg to take advantage of the upgrade. The guide instructs the user to simply delete the old compiled stuff (no system files are interfered with) and starts over.

If you're going to be re-compiling often the I recommend using git to retrieve the source code instead of using releases and snapshots as shown in the guide. See FFmpeg Wiki: Compile FFmpeg for CentOS for examples using git.

Then i found this static builds recommended on ffmpeg.org, but again, it doesn't include all external libraries

Why would you want to include all external libraries? Seems like a waste of time and effort to me. Just include what you're actually going to use. Do you really need the obscure stuff and corner-cases?

As speaking of "not included libraries", can i add them to any static build manually?

No.

What do to

I recommend following the compile guide and adapting it to your needs. This is one of the main reasons to compile, so you can customize it however you like.

Investigate if a shared build is more suitable for you. This may introduce a new set of headaches however.

Also, it seems like you may be outgrowing Ubuntu which isn't the best distro for users who want to use the bleeding-edge. I recommend trying Arch Linux; the repo packages keep up with their upstreams, and the whole methodology for customizing repo packages is much saner with the ABS and Arch's "ports-like" build system.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .