Why does ubuntu-restricted-extras want to remove some libav packages?

16,702

Solution 1

Because -extra versions of these libraries will be installed instead, to provide additional functionality

Installing ubuntu-restricted-extras will, among other things, replace libavcodec53/libavutil51 with libavcodec-extra-53 and libavutil-extra-51.

The -extra versions contain all the functionality of the removed regular versions; as their name suggests, they add functionality which may be covered by patents and therefore cannot be included in the regular versions. In that respect, they are a "strict superset".

The main difference is the addition of encoders for MP3, AAC, H.264 and Xvid

A quick diff between the versions of avconv included in the regular/extra libraries revealed the primary difference to be the addition of encoding functionality (creation) for the following codecs/formats:

  1. MP3 audio
  2. AAC audio
  3. AMR wideband audio
  4. H.264 video
  5. Xvid video
  6. Dirac video

A decoder for JPEG2000-based videos is also added.

Solution 2

This is perfectly normal. It is simply trading the open source codecs for proprietary codecs that cannot be packaged with Ubuntu due to patents and copyright issues.

You should find these links helpful.

Share:
16,702

Related videos on Youtube

honestann
Author by

honestann

scientist, engineer, programmer, electronics-designer, product-developer, inventor

Updated on September 18, 2022

Comments

  • honestann
    honestann over 1 year

    When I try to install "ubuntu restricted extras" in "ubuntu software center", it displays a warning dialog that says the following items must be removed:

    libavcodec53
    libavutil51
    

    Why? And if I choose to install "ubuntu restricted extras", what will I lose?

    PS: I think I noticed libavcodec53 flash past as my daily build of codeblocks package was installing... so that's one possibility. Will I break my software development environment if I install "ubuntu restricted extras"?

    Or do these packages need to be removed because they are included in "ubuntu restricted extras"? If so, why doesn't the dialog mention that (and remove the worry and confusion)?

    PS: The output generated by apt-get -s install ubuntu-restricted-extras is

    NOTE: This is only a simulation!
          apt-get needs root privileges for real execution.
          Keep also in mind that locking is deactivated,
          so don't depend on the relevance to the real current situation!
    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following extra packages will be installed:
      cabextract gstreamer0.10-plugins-bad-multiverse libavcodec-extra-53
      libavutil-extra-51 libfaac0 libmjpegtools-1.9 libopenjpeg2 libquicktime2
      ttf-mscorefonts-installer unrar
    Suggested packages:
      libfaad0
    The following packages will be REMOVED:
      libavcodec53 libavutil51
    The following NEW packages will be installed:
      cabextract gstreamer0.10-plugins-bad-multiverse libavcodec-extra-53
      libavutil-extra-51 libfaac0 libmjpegtools-1.9 libopenjpeg2 libquicktime2
      ttf-mscorefonts-installer ubuntu-restricted-extras unrar
    0 upgraded, 11 newly installed, 2 to remove and 0 not upgraded.
    Remv libavutil51 [4:0.8.3-0ubuntu0.12.04.1] [libswscale2:amd64 libavcodec53:amd64 gstreamer0.10-ffmpeg:amd64 libpostproc52:amd64 libavformat53:amd64 ]
    Inst libavutil-extra-51 (4:0.8.3ubuntu0.12.04.1 Ubuntu:12.04/precise-updates [amd64])
    Conf libavutil-extra-51 (4:0.8.3ubuntu0.12.04.1 Ubuntu:12.04/precise-updates [amd64])
    Inst libopenjpeg2 (1.3+dfsg-4 Ubuntu:12.04/precise [amd64])
    Remv libavcodec53 [4:0.8.3-0ubuntu0.12.04.1] [gstreamer0.10-ffmpeg:amd64 libavformat53:amd64 ]
    Inst libavcodec-extra-53 (4:0.8.3ubuntu0.12.04.1 Ubuntu:12.04/precise-updates [amd64])
    Conf libopenjpeg2 (1.3+dfsg-4 Ubuntu:12.04/precise [amd64])
    Conf libavcodec-extra-53 (4:0.8.3ubuntu0.12.04.1 Ubuntu:12.04/precise-updates [amd64])
    Inst cabextract (1.4-1 Ubuntu:12.04/precise [amd64])
    Inst ttf-mscorefonts-installer (3.4ubuntu3 Ubuntu:12.04/precise [all])
    Inst libfaac0 (1.28-0ubuntu2 Ubuntu:12.04/precise [amd64])
    Inst libquicktime2 (2:1.2.3-4build2 Ubuntu:12.04/precise [amd64])
    Inst libmjpegtools-1.9 (1:1.9.0-0.5ubuntu7 Ubuntu:12.04/precise [amd64])
    Inst gstreamer0.10-plugins-bad-multiverse (0.10.21-1 Ubuntu:12.04/precise [amd64])
    Inst ubuntu-restricted-extras (57 Ubuntu:12.04/precise [amd64])
    Inst unrar (1:4.0.3-1 Ubuntu:12.04/precise [amd64])
    Conf cabextract (1.4-1 Ubuntu:12.04/precise [amd64])
    Conf ttf-mscorefonts-installer (3.4ubuntu3 Ubuntu:12.04/precise [all])
    Conf libfaac0 (1.28-0ubuntu2 Ubuntu:12.04/precise [amd64])
    Conf libquicktime2 (2:1.2.3-4build2 Ubuntu:12.04/precise [amd64])
    Conf libmjpegtools-1.9 (1:1.9.0-0.5ubuntu7 Ubuntu:12.04/precise [amd64])
    Conf gstreamer0.10-plugins-bad-multiverse (0.10.21-1 Ubuntu:12.04/precise [amd64])
    Conf ubuntu-restricted-extras (57 Ubuntu:12.04/precise [amd64])
    Conf unrar (1:4.0.3-1 Ubuntu:12.04/precise [amd64])
    
    • Eliah Kagan
      Eliah Kagan almost 12 years
      Please edit your question to include the output of apt-get -s install ubuntu-restricted-extras. (Please note the absence of sudo and the -s flag before install. This simulates the installation, rather than actually performing it.)
    • honestann
      honestann almost 12 years
  • honestann
    honestann almost 12 years
    If I understand those links correctly, that means there will never be any application that depends on something in libavcodec53 or libavutil51 that is not provided in IDENTICAL (shared library linkable) form by "ubuntu-restricted-extras". Put another way, "ubuntu-restricted-extras" is a STRICT SUPERSET of the contents of "libavcodec53" and "libavutil51", correct?
  • ish
    ish almost 12 years
    Note that no "proprietary" (i.e. non-open-source) code is ever installed --- just that the open-source implementation is possibly covered by patents nevertheless.
  • honestann
    honestann almost 12 years
    This is probably a naive question, but here goes. If the "extra" packages install a file like "libavcodec-extra-53.so" and some application is liked to "libavcodec53.so", won't that break the application? Or do these "extra" packages also create softlinks with the older library names to the newly installed names? How does stuff like this get resolved so apps don't break?
  • ish
    ish almost 12 years
    @honestann, the answer is deceptively simple - the library is named the same for both versions, namely libavcodec.so.53 --> libavcodec.so.53.35.0!
  • Eliah Kagan
    Eliah Kagan almost 12 years
    @izx The libav... packages don't install proprietary software. But what about the Fluendo codecs available through the extras repository (which one can choose to install by checking the box during OS installation)?
  • ish
    ish almost 12 years
    @EliahKagan: Fluendo is proprietary, but is it tied to libav in Extras if you install the latter via apt post-install? If so, then my comment is inaccurate.