Perché gli extra di Ubuntu vogliono rimuovere alcuni pacchetti libav?


9

Quando provo a installare "extra con restrizioni Ubuntu" in "Ubuntu Software Center", viene visualizzata una finestra di avviso che dice che è necessario rimuovere i seguenti elementi:

libavcodec53
libavutil51

Perché? E se scelgo di installare "extra con restrizioni Ubuntu", cosa perderò?

PS: Penso di aver notato libavcodec53 flash passato mentre la mia build giornaliera di pacchetti di codeblock stava installando ... quindi questa è una possibilità. Distruggerò il mio ambiente di sviluppo software se installo "extra con restrizioni Ubuntu"?

O questi pacchetti devono essere rimossi perché sono inclusi in "extra con restrizioni Ubuntu"? In tal caso, perché la finestra di dialogo non lo menziona (e rimuove la preoccupazione e la confusione)?

PS: l'output generato da 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])

Si prega di modificare la tua domanda per includere l'output di apt-get -s install ubuntu-restricted-extras. (Si noti l' assenzasudo e la -sbandiera prima install. Questo simula l'installazione, piuttosto che eseguirla effettivamente.)
Eliah Kagan

Risposte:


11

Perché verranno invece installate versioni extra di queste librerie, per fornire funzionalità aggiuntive

L'installazione di ubuntu-restrizioni-extra sostituirà, tra le altre cose, libavcodec53 / libavutil51 con libavcodec-extra-53e libavutil-extra-51.

Le versioni -extra contengono tutte le funzionalità delle versioni normali rimosse; come suggerisce il nome, aggiungono funzionalità che possono essere coperte da brevetti e quindi non possono essere incluse nelle versioni regolari. A tale proposito, sono un "superset rigoroso".

La differenza principale è l'aggiunta di encoder per MP3, AAC, H.264 e Xvid

Una rapida differenza tra le versioni avconvincluse nelle librerie normali / extra ha rivelato che la differenza principale era l'aggiunta della funzionalità di codifica (creazione) per i seguenti codec / formati:

  1. Audio MP3
  2. Audio AAC
  3. Audio a banda larga AMR
  4. Video H.264
  5. Xvid video
  6. Video Dirac

È stato inoltre aggiunto un decodificatore per video basati su JPEG2000 .


1
Questa è probabilmente una domanda ingenua, ma qui va. Se i pacchetti "extra" installano un file come "libavcodec-extra-53.so" e ad alcune applicazioni piace "libavcodec53.so", ciò non interromperà l'applicazione? O questi pacchetti "extra" creano anche collegamenti soft con i nomi delle librerie precedenti ai nomi appena installati? In che modo vengono risolte cose del genere in modo che le app non si rompano?
honestann,

@honestann, la risposta è ingannevolmente semplice: la libreria ha lo stesso nome per entrambe le versioni, vale a dire libavcodec.so.53 --> libavcodec.so.53.35.0!
Ish,

1

Questo è perfettamente normale. Sta semplicemente scambiando i codec open source con codec proprietari che non possono essere impacchettati con Ubuntu a causa di brevetti e problemi di copyright.

Dovresti trovare utili questi link .


Se comprendo correttamente quei collegamenti, ciò significa che non ci sarà mai alcuna applicazione che dipende da qualcosa in libavcodec53 o libavutil51 che non è fornita in forma IDENTICA (collegabile alla libreria condivisa) da "ubuntu-restrizioni-extra". Detto in altro modo, "ubuntu-limited-extra" è un SUPERSET STRETTO del contenuto di "libavcodec53" e "libavutil51", giusto?
honestann,

Si noti che non è mai stato installato alcun codice "proprietario" (cioè non open-source) --- solo che l'implementazione open-source è probabilmente coperta da brevetti.
Ish,

@izx I libav...pacchetti non installano software proprietario. Ma che dire dei codec Fluendo disponibili tramite il extrasrepository (che si può scegliere di installare selezionando la casella durante l'installazione del sistema operativo)?
Eliah Kagan,

@EliahKagan: Fluendo è proprietario, ma è collegato libavin Extra se si installa quest'ultimo tramite apt post-installazione ? In tal caso, il mio commento non è preciso.
Ish,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.