为什么ubuntu-restricted-extras要删除某些libav软件包?


9

当我尝试在“ ubuntu软件中心”中安装“ ubuntu受限附加功能”时,它显示一个警告对话框,提示必须删除以下项目:

libavcodec53
libavutil51

为什么?如果我选择安装“ ubuntu受限附加产品”,我将失去什么?

PS:我想我注意到libavcodec53快闪过去了,因为我的每日代码块软件包的安装正在安装……所以这是一种可能。如果安装“ ubuntu受限附加功能”,是否会破坏软件开发环境?

还是因为“ ubuntu受限制的附加产品”中包含了这些软件包而需要删除这些软件包?如果是这样,为什么对话框中没有提及(并消除烦恼和混乱)?

PS:生成的输出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])

编辑您的问题以包括的输出apt-get -s install ubuntu-restricted-extras。(请注意前面没有sudo-s标记install。这是模拟安装,而不是实际执行。)
Eliah Kagan 2012年

Answers:


11

因为这些库的-extra版本将被安装,以提供附加功能

安装ubuntu-restricted-extras会将libavcodec53 / libavutil51替换为libavcodec-extra-53libavutil-extra-51

-extra版本包含所有已删除的常规版本的功能; 顾名思义,它们增加了可能包含在专利中的功能,因此不能包含在常规版本中。在这方面,它们是“严格的超集”。

主要区别是增加了用于MP3,AAC,H.264和Xvid的编码器

avconv常规/额外库中包含的版本之间的快速区别表明,主要区别在于以下编解码器/格式的编码功能(创建)的增加:

  1. MP3音频
  2. AAC音频
  3. AMR宽带音频
  4. H.264影片
  5. Xvid视频
  6. 狄拉克视频

还添加了基于JPEG2000的视频的解码器。


1
这可能是一个幼稚的问题,但这是可行的。如果“额外”软件包安装了诸如“ libavcodec-extra-53.so”之类的文件,并且某些应用程序被喜欢为“ libavcodec53.so”,那不会破坏该应用程序吗?还是这些“额外”软件包还使用旧库名称创建到新安装名称的软链接?这样的东西如何解决,使应用程序不会损坏?
诚实的

@honestann,答案看似简单- 两个版本的库名称相同libavcodec.so.53 --> libavcodec.so.53.35.0
ish 2012年

1

这是完全正常的。它只是在用开源编解码器交换专有编解码器,这些专有编解码器由于专利和版权问题而无法与Ubuntu打包在一起。

您应该发现这些 链接很有帮助。


如果我正确理解了这些链接,则意味着将不会有任何依赖于libavcodec53或libavutil51中“ ubuntu-restricted-extras”不以IDENTICAL(可共享共享库链接)形式提供的应用程序。换句话说,“ ubuntu-restricted-extras”是“ libavcodec53”和“ libavutil51”的内容的严格超文本,对吗?
诚实的

注意,从来没有安装过 “专有”(即非开源)代码,只是开放源代码的实现可能仍被专利所涵盖。
ish 2012年

@izx libav...软件包未安装专有软件。但是,通过extras存储库提供的Fluendo编解码器如何处理(在操作系统安装过程中可以通过选中该框来选择安装哪种编码器)?
伊莱亚·卡根

@EliahKagan:Fluendo是专有的,但是libav如果您通过apt post-install安装后者,它是否与Extras 绑定?如果是这样,那么我的评论是不正确的。
ish 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.