4

As the title says - What's the difference between libavcodec-ffmpeg-extra56 and libavcodec-ffmpeg56? Which should I install?

I'm using kdenlive but auditioning some other non-linear video editors. Does it matter which of these packages is installed, presumably one is for ffmpeg and one is for the Ubuntu bawdlerised version (or is it avconv now?)?

Advice please?

Edit, from packages.ubuntu.com:

Package libavcodec-ffmpeg-extra56

xenial (16.04LTS) (libs): FFmpeg library with **additional** de/encoders for audio/video codecs [universe]
7:2.8.8-0ubuntu0.16.04.1 [security]: amd64 i386
7:2.8.6-1ubuntu2 [ports]: arm64 armhf powerpc ppc64el s390x

Package libavcodec-ffmpeg56

xenial (16.04LTS) (libs): FFmpeg library with de/encoders for audio/video codecs - runtime files [universe]
7:2.8.8-0ubuntu0.16.04.1 [security]: amd64 i386
7:2.8.6-1ubuntu2 [ports]: arm64 armhf powerpc ppc64el s390x

If you look at the files (plain, extra) the only difference appears to be the file in /usr/share/lintian/overrides/. The .so files are identically named and versioned.

pbhj
  • 3,231

2 Answers2

8

Why extra?

Due to the licenses of the external libraries involved some components were split into libavcodec-extra and libavfilter-extra.


libavcodec-extra

As of Ubuntu 20.04 LTS "Focal", libavcodec-extra adds some additional encoders and decoders for the outdated AMR audio format which was used in old phones. There is no reason to install libavcodec-extra unless you need to encode AMR.

Encoders:

  • libopencore_amrnb - Adaptive Multi-Rate NarrowBand (AMR-NB).
  • libvo_amrwbenc - Adaptive Multi-Rate WideBand (AMR-WB).

Decoders:

libavcodec-extra additionally adds two additional AMR decoders:

  • libopencore_amrnb for AMR-NB
  • libopencore_amrwb for AMR-WB

But these decoders are not very useful as FFmpeg can decode AMR-NB and AMR-WB by itself via the built-in decoders anr_nb and amr_wb.


libavfilter-extra

The libavfilter-extra package adds two minor, niche filters:

  • lensfun for camera lens distortion correction.
  • ocr for Optical Character Recognition.
llogan
  • 11,868
  • Thanks for that, it's a bit strange that the packages have the same version of libavcodec-ffmpeg.so.56.60.100 (for me on xenial), presumably the encoders you mention are somehow "housed" in the only differing (non meta-data) file the one in the lintian/overrides folder? Do you have a citation for this info? – pbhj Nov 10 '16 at 22:02
  • 1
    @pbhj The versions should be the same: those refer to the FFmpeg major, minor, micro version numbers. I don't know and didn't investigate the specifics of how Ubuntu packaged these. Info citation: ffmpeg -codecs > default.txt (with libavcodec-ffmpeg56), ffmpeg -codecs > extra.txt (with libavcodec-ffmpeg-extra56), diff default.txt extra.txt. – llogan Nov 10 '16 at 22:46
  • Thanks again. Seems close to criminal to me to give two different files the same name and version. – pbhj Nov 10 '16 at 23:47
  • @pbhj I'm not sure what you mean by same name. The two packages come from the same source code so the major, minor, and micro versions should be the same. The actual names of the packages and the reasoning for splitting libavcodec into two packages was a Debian packaging decision; likely due to the particular licenses used by these external libraries. – llogan Nov 11 '16 at 00:03
1

It looks like libavcodec-ffmpeg-extra56 is an Ubuntu Package, that may have been renamed or reworked specifically for Ubuntu. It seems to contain the same information, and have the same dependencies as the Debian package libavcodec-ffmpeg56. It may be as simple as a rename to keep inline with Ubuntu's naming scheme.

Here is the Ubuntu package dependency list

It seems the original libavcodec-ffmpeg56 is from Debian.

Here is the Debian package dependency list

If you're using the default Ubuntu sources list, then I would suggest just installing the standard libavcodec-ffmpeg-extra56 package. I think perhaps you have other sources enabled that would show you both?

AnotherKiwiGuy
  • 4,370
  • 1
  • 21
  • 38