Por que o ubuntu-strict-extras deseja remover alguns pacotes libav?

9

Quando tento instalar "extras restritos ao ubuntu" no "ubuntu software center", ele exibe uma caixa de diálogo de aviso informando que os seguintes itens devem ser removidos:

libavcodec53
libavutil51

Por quê? E se eu optar por instalar "extras restritos ao ubuntu", o que vou perder?

PS: Eu acho que notei o flash libavcodec53 passado enquanto minha compilação diária do pacote de codeblocks estava sendo instalada ... então essa é uma possibilidade. Vou quebrar meu ambiente de desenvolvimento de software se eu instalar "extras restritos do ubuntu"?

Ou esses pacotes precisam ser removidos porque estão incluídos nos "extras restritos do ubuntu"? Se sim, por que o diálogo não menciona isso (e remove a preocupação e a confusão)?

PS: A saída gerada por apt-get -s install ubuntu-restricted-extrasé

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])
honestann
fonte
Por favor edite sua pergunta para incluir a saída apt-get -s install ubuntu-restricted-extras. (Por favor, note a ausência desudo ea -sbandeira antes installIsso simula a instalação, em vez de realmente realizá-lo..)
Elias Kagan
aqui é a saída: ubuntuone.com/5iqxCwLHrg0AdF4zipIfAJ
honestann

Respostas:

11

Como versões extras dessas bibliotecas serão instaladas, para fornecer funcionalidade adicional

A instalação de ubuntu-restrição-extras substituirá, entre outras coisas, libavcodec53 / libavutil51 por libavcodec-extra-53e libavutil-extra-51.

As versões -extra contêm toda a funcionalidade das versões regulares removidas; como o próprio nome sugere, eles adicionam funcionalidades que podem ser cobertas por patentes e, portanto, não podem ser incluídas nas versões regulares. Nesse sentido, eles são um "superconjunto estrito".

A principal diferença é a adição de codificadores para MP3, AAC, H.264 e Xvid

Uma rápida diferença entre as versões avconvincluídas nas bibliotecas regulares / extras revelou que a principal diferença é a adição da funcionalidade de codificação (criação) para os seguintes codecs / formatos:

  1. Áudio MP3
  2. Áudio AAC
  3. Áudio de banda larga AMR
  4. Vídeo H.264
  5. Vídeo Xvid
  6. Dirac video

Também é adicionado um decodificador para vídeos baseados em JPEG2000 .

ish
fonte
1
Esta é provavelmente uma pergunta ingênua, mas aqui vai. Se os pacotes "extras" instalarem um arquivo como "libavcodec-extra-53.so" e algum aplicativo for usado como "libavcodec53.so", isso não interromperá o aplicativo? Ou esses pacotes "extras" também criam links com os nomes das bibliotecas mais antigas para os nomes recém-instalados? Como essas coisas são resolvidas para que os aplicativos não quebrem?
honestann
@honestann, a resposta é enganosamente simples - a biblioteca tem o mesmo nome para as duas versões, a saber libavcodec.so.53 --> libavcodec.so.53.35.0!
Ish
1

Isso é perfeitamente normal. É simplesmente negociar os codecs de código aberto por codecs proprietários que não podem ser empacotados com o Ubuntu devido a patentes e questões de direitos autorais.

Você deve encontrar esses links úteis.

Coronel Panic
fonte
Se eu entendo esses links corretamente, isso significa que nunca haverá qualquer aplicativo que dependa de algo no libavcodec53 ou libavutil51 que não seja fornecido no formato IDENTICAL (biblioteca compartilhada vinculável) por "ubuntu-restrição-extras". Dito de outra forma, "ubuntu-restrição-extras" é um SUPERSET ESTRITO do conteúdo de "libavcodec53" e "libavutil51", correto?
honestann
Observe que nenhum código "proprietário" (ou seja, de código aberto) nunca está instalado - apenas que a implementação de código aberto está possivelmente coberta por patentes.
Ish
@izx Os libav...pacotes não instalam software proprietário. Mas e os codecs Fluendo disponíveis no extrasrepositório (qual deles pode ser instalado marcando a caixa durante a instalação do SO)?
Elias Kagan
@EliahKagan: O Fluendo é proprietário, mas está vinculado aos libavextras se você instalar o último via apt post-install ? Nesse caso, meu comentário é impreciso.
Ish