Fedora 多媒体安装 HOWTO

Eric Steven Raymond

修订历史
修订 5.12006-03-25修订者:esr
简化并修正了一些 FC5 指令。
修订 5.02006-03-21修订者:esr
为 Fedora Core 5 更新。一方面,我们现在几乎可以从 livna 获取所有内容,这简化了生活。另一方面,Totem 和 Xine 都完全崩溃了。
修订 4.02005-10-09修订者:esr
为 Fedora Core 4 更新。fedora.us 仓库已成为 Fedora Extras。Adobe Acrobat 插件似乎不再是必要的,xpdf 和 evince 肯定已经变得更好了。
修订 3.02004-11-07修订者:esr
为 Fedora Core 3 更新。
修订 2.22004-09-07修订者:esr
针对 2.6.8 内核和 Mozilla 1.7 的修正。
修订 2.12004-08-03修订者:esr
RealPlayer 10 以开源形式发布。这改变了一些事情。
修订 2.02004-07-14修订者:esr
为 FC2 更新。移除了 up2date 方法,因为 FC2 更新似乎已损坏。
修订 1.22004-02-03修订者:esr
错别字修正。
修订 1.12004-01-31修订者:esr
Dag Wieers 的仓库已启用 yum,因此从图中删除 apt-get。添加 mozilla-acroread 安装。添加一些攻击律师的驱避剂。
修订 1.02004-01-30修订者:esr
初始发布。

如何在 Fedora Core 下使用您正常的软件包管理工具来获取各种专有的和受限制的多媒体该死的东西(AVI、Flash、Java、MP3、MPEG、QuickTime、RealMedia、Windows Media)。包括 Firefox 插件说明。现在涵盖 32 位和 64 位 Intel 架构系统。

不幸的是,FC5 的消息几乎都是坏消息。Totem 和 Xine 都完全崩溃了。


目录
1. 简介
1.1. 本文档的新版本
2. 软件包、工具和仓库
3. 安全注意事项和其他风险
4. Macromedia Flash
5. gstreamer 和 ffmpeg 支持
6. MP3
7. Java
8. RealAudio 和 RealVideo
9. MPEG、QuickTime、AVI 和 DVD
10. Web 流媒体测试页面
11. 相关资源
12. 许可证和版权
13. 致谢

1. 简介

有一些该死的东西,例如在 Mozilla 中启用 Java 和 Flash,播放 MP3 文件,播放 Quicktime/AVI/RealMedia/Windows Media 流,以及播放加密 DVD,Fedora 发行版的人员不会告诉您如何操作,要么是因为他们害怕因 DMCA 而被起诉,要么是出于各种其他审美和政治原因。

本 HOWTO 在一个地方收集了相关信息。它不是通用的 Linux 多媒体 HOWTO;如果是,它会列出数百个漂亮的工具和软件包(从 GIMP 及其所有同类、分支和共生体开始)。我们在这里涵盖的软件包只是法律和政治热点,是威胁垄断和让律师担忧的东西。

关于增强您的 Fedora 系统的良好背景信息也可以在 FedoraNEWS 网站和 非官方 Fedora FAQ 中找到。本文档与其他来源区分开来的一个假设是您和我一样懒惰——您希望使用您正常的软件包管理工具来安装您的该死的东西(以及稍后更新它们),并且绝对最少地访问特殊站点、下载源代码 tarball 或执行独特的构建过程。

法律声明:本页未披露任何据称受 DMCA 保护的软件的源代码或源代码位置,您必须在我的个人网站上查找。DMCA 是一项由傻瓜和恶棍强加给我们的糟糕法律,并且使用它来压制关于软件的言论自由是一种耻辱,但为了确保本 HOWTO 获得最大程度的传播,我在此处仍然遵守它。

我这样做的一个原因是,我相信我比大多数黑客更难成为攻击律师的目标;公众名声和讲真话的声誉在这里很有帮助。如果您是一名攻击律师,请注意,我总是通过反击来回应恐吓企图,我精通法律并且非常擅长与媒体合作,如果您试图压制我的言论,我尽我所能让您和您的客户的名字成为公众的耻辱。已警告您。


1.1. 本文档的新版本

您还可以通过 URL https://tldp.cn/HOWTO/Fedora-Multimedia-Installation-HOWTO.html 在万维网上查看本 HOWTO 的最新版本。

欢迎随时将关于本 HOWTO 的任何评论、添加或错误修复发送邮件给 Eric S. Raymond,。但请不要问我如何解决您的多媒体或插件配置问题;如果您这样做,我只会忽略您。关于这个主题我所知道的一切都在这里。


2. 软件包、工具和仓库

现代 Linux 正在迅速走向一个物理介质仅用于操作系统安装的世界,更新由查询 Internet 仓库的工具获取和安装。您需要了解一些关于这些工具以及它们从中获取二进制软件包的仓库的知识。

Fedora 软件包称为 RPM。每个软件包都可以作为一个单元安装或卸载,并提供一些应用程序以及它需要的任何支持文件。有些软件包依赖于其他软件包——例如,一个应用程序可能需要特定的支持库。软件包安装程序的工作之一是追查这些依赖项并在安装主软件包之前安装它们。

不幸的是,RPM 可能会相互冲突——例如,通过想要将不兼容版本的命令或支持文件放置到位。仓库维护者的主要工作是确保 (a) 他收集的 RPM 不会相互冲突,以及 (b) 它们的所有依赖项都在他的仓库或他声明依赖的某个“基本”仓库内解决。

Fedora Linux 有一个由 Fedora 项目本身维护的基本仓库,以及大约六个依赖于该基本仓库的扩展仓库。这些扩展或“第三方”仓库是您将获得该死的东西的地方;它们由独立于 Fedora 项目的志愿者运行,通常位于美国境外的地区,在那里它们将较少受到掠夺性律师的攻击。

扩展仓库形成由谁与谁兼容定义的派系。围绕这些派系有很多动荡和政治,作为最终用户,您可以很大程度上忽略这些。您了解这一切的唯一原因是您必须选择一个派系才能避免冲突。在 2006 年初,基本上有三个派系可供选择,我将在稍后描述。

首先,我需要向您介绍您需要用来获取该死的东西的工具

yum

yum(Yellow Dog Updater,Modified)是一个命令行工具,随 Fedora Core 一起安装。它将帮助您从 Fedora 仓库以及其他携带 Fedora 不会携带的该死的东西的仓库下载更新。

pirut

这是 FC5 中引入的 yum 的 GUI 包装器。这是一种稍微更友善、更温和的使用 yum 的方式。

您还需要了解一些仓库。每个仓库都是 RPM 的集合,分为称为“频道”的子集合。

fedora.redhat.com

这是基本的 Fedora 仓库。此仓库的“稳定”和“更新”频道中的 RPM 是 Fedora CD-ROM 上的内容。先前版本文档的读者请注意:Red Hat 仓库现在在其“extras”部分中包含了过去在 fedora.us 上的内容等效物。

RPMForge

由除 livna 和 ATrpms 之外的所有主要第三方 RPM 站点形成的派系。这些软件包旨在扩展 Fedora Core 和 Extras 仓库,维护者小心不要与 Fedora 仓库冲突。该联盟包括 freshrpms、Dag Wieers 的仓库、Dries 仓库、NewRPMs 和 PlanetCCRMA。他们正在努力合并他们的仓库,并且已经使用通用源代码 RPMS 进行构建。不幸的是,众所周知 RPMForge 集合与 livna 和 ATRPMs 存在一些严重的冲突。

rpm.livna.org

一个位于美国境外且超出 DMCA 范围的站点,专门致力于提供 Fedora Core 和 Extras 不会携带的该死的东西。没有官方联系,事实上,Fedora 人员不会在他们的网页或文档中提及 livna,因为害怕被 DVDCCA 的邪恶人渣以压制言论的诉讼所打击,但 livna 人员非常密切地跟踪 Fedora 的所作所为。livna 仓库依赖于 Fedora 仓库。它们与 RPMForge 仓库冲突。

http://macromedia.mplug.org/

Macromedia Flash 打包版本的​​主要来源。将此 RPM 与任何扩展仓库派系一起使用都是安全的。

我之前提到的三个派系是 RPMForge、livna(完全独立)和 ATrpms(完全独立)。使用 FC5,您可以从 livna 获得理论上需要的所有多媒体支持,而不是像我在以前版本的 FAQ 中建议的那样使用 RPMforge。我说“理论上”,因为事实上,几乎所有的视频内容在 FC5 中实际上都无法工作。

要启用对 livna 的访问,请执行此操作

rpm -ivh http://rpm.livna.org/livna-release-5.rpm

这应该在以下位置放置一个 yum 仓库配置文件/etc/yum.repos.d/


3. 安全注意事项和其他风险

我在本 HOWTO 中给出的所有 yum 命令都必须从 root 提示符运行,以便它们获取的软件包可以安装在您的系统空间中。这意味着您的系统可能会受到木马 RPM 的威胁,无论是插入到您查询的仓库之一还是通过中间人攻击偷偷传递给您的仓库。

为了控制后一种风险,许多仓库对其 RPM 进行加密签名。您需要拥有每个仓库的公钥的本地副本才能完整性检查传入的软件包;当前版本的 yum 将为您下载一个。这可能会被中间人攻击伪造仓库站点并在您设置配置时偷偷传递给您虚假密钥来击败;虽然这种可能性极小,但您应该意识到它。

通过使用本 HOWTO 中引用的专有代码,您接受的长期风险是变得依赖于专有软件供应商的突发奇想。没有必要拥有旧式的自由软件宗教才能看到这是一个问题。我们在这里将涵盖的一些软件(Sun Java JDK 插件就是一个很好的例子)是作为闭源免费软件分发的——这很好,但如果供应商将来改变主意会发生什么?您可能会被困住。

依赖专有软件和专有格式是不安全的。当您允许自己依赖时,您还会通过帮助供应商维持对其市场领域的不健康垄断锁定来损害他人。因此,如果您必须购买这些工具,请找到某种方式来支持开源替代品——捐赠编码时间或现金,或努力向供应商施压以使其开放。将您的 CD 翻录为 Ogg Vorbis 而不是 MP3。写信给您的立法者,敦促废除 DMCA。您拯救的自由是您自己的。


4. Macromedia Flash

Fedora 不会从他们的网站分发,因为 Macromedia 的许可证不允许这样做,但是使用 http://macromedia.mplug.org/ 的 RPM 没有其他法律障碍。

按照这些说明,将 Macromedia 仓库配置放入您的/etc/yum.repos.d/目录。它应该看起来很像这样

[macromedia]
name=Macromedia for i386 Linux
baseurl=http://macromedia.mplug.org/rpm/
enabled=1
gpgcheck=1
gpgkey=http://macromedia.mplug.org/FEDORA-GPG-KEY

然后进行安装

yum install flash-plugin

安装此 RPM 应该将插件放入您的 Firefox 插件目录(以及 Mozilla 的插件目录)。

您可以在 官方测试页面 测试您的 Flash 支持。请注意,您可能需要在安装插件后终止并重新启动浏览器;我立即尝试了 Flash 测试,它使 Firefox 崩溃。

有一个陷阱:Macromedia 插件仅适用于 32 位 Intel 机器。它在以 64 位模式运行的 x86_64 上完全失败(一般来说,32 位插件在 64 位浏览器中不起作用)。目前有三个项目正在解决这个问题

我认为 64 位系统上的正确权宜之计可能是构建和安装 gplflash1,但截至 2006 年 3 月 21 日,我无法做到,因为它需要一个 X 头文件,我仍然找不到正确的 RPM。随着 FC5 周围的尘埃落定,这种情况可能会改变。


5. gstreamer 和 ffmpeg 支持

FC5 采用了名为 gstreamer 的项目作为处理视频和音频文件的通用后端。Totem,随 FC5 附带的独立多媒体播放器,使用 gstreamer;您的 Firefox 插件 mozplugger 也是如此。

gstreamer 本身使用插件,每种多媒体格式一个插件。用于 Ogg Vorbis 等开源格式的插件随 FC5 一起提供。用于专有格式的插件则不然。要获得这些插件,请执行此操作

yum install gstreamer-plugins-ugly ffmpeg

这也可能安装 mpeg2dec、libsidplay、libdvdread、faac、faad2、imlib 和 gsm。

“丑陋”插件使 gstreamer 能够处理 MP3、MPEG2 和 SID 格式。SID 格式是 Commodore 64 的历史遗迹。MP3 是最流行的音频格式。MPEG2 是 DVD 中使用的音频/视频格式。

ffmpeg 库可以编码或解码 MPEG1 音频和视频、MPEG4、h263、ac3、asf、avi、real、mjpeg 和 flash。


6. MP3

Fedora 不会发布支持 MP3 的软件,因为 Fraunhofer Institute 的专利许可条款与 GPL 不兼容。

FC5 中的默认音乐播放器是 Rhythmbox。我与 Rhythmbox 斗争了几个小时,但尽管它外观漂亮,但我发现它无法使用。它忽略音轨编号——或者至少不像 xmms 那样聪明地从文件名中解析它们,并且没有在任何地方记录其导入规则。试图强迫它播放 MP3 是一场如此可怕的噩梦,以至于一度我以为我将不得不重新安装整个 Linux 系统才能获得播放 Ogg 的能力,因为我无法弄清楚哪个未记录的应用程序状态被搞乱了,或者如何清除它。文档总的来说是一个糟糕的笑话——华而不实、肤浅,并且没有关于解决问题的有用内容。xmms 播放器可能没有那么多功能或那么好看,但它工作得更好。

要安装 xmms 并使其支持 MP3,首先执行此操作

yum install xmms xmms-mp3

要实际启用 MP3 播放,您需要运行 xmms 并更改其配置。从菜单中选择“选项”→“首选项”→“音频 I/O 插件”;这将弹出一个窗口,列出插件。选择“MPEG Layer 1/2/3 Placeholder Plugin”并取消选中“[ ] 启用插件”。移除此占位符后,xmms 将自动插入 xmms-mp3。终止 xmms 并重新启动。

在我的 x86_64 机器上,我遇到了 xmms 只能以 root 身份播放声音的问题,从非 root 帐户运行时立即退出。这有很多常见原因;检查您的声音设备上的权限。有一个 特殊问题 我绊倒了;您可能需要告诉您的声音模块抓取低内存 DMA 缓冲区并且不要松开它们。

要通过 Firefox 或 Mozilla 启用 MP3 流媒体,请安装 gstreamer-ugly 插件和 ffmpeg,如下所述。MP3 流将通过 xmms 播放,播客通过 Totem 播放。


7. Java

Java 可以从 Sun 下载和重新分发,但仅供个人和非营利性使用。Sun 的 Java 许可证是非开源的,因此 Fedora 和大多数其他 Linux 发行版不会携带它。

Fedora Core 5 包含一个名为 gcj 的程序员开源 Java 实现。如果您想在浏览器中启用小程序,您才需要采取特殊操作。《非官方 Fedora FAQ》有关于如何执行此操作的 详细说明

您可以在 Sun 的 小程序 页面测试您的 Java 插件。请注意,其中一些小程序(Escher 和 Starfield,当我检查时)似乎已损坏。BouncingHeads 构成了一个很好的测试。

您可能还想复制您从以下位置构建的 RPMS/usr/src/redhat/RPMS/这样您就可以方便地重新安装它们。


8. RealAudio 和 RealVideo

我不知道在哪里可以通过 yum 访问它,因此您必须手动下载并安装它。首先执行此操作

yum install compat-libstdc++-33

然后下载 RealPlayer10GOLD RPM 并安装它。

在 32 位 Fedora Core 上,您可能需要使用以下命令删除 HelixPlayer

rpm -e HelixPlayer
在 10GOLD 版本工作之前。x86_64 FC5 不包括 HelixPlayer。


9. MPEG、QuickTime、AVI 和 DVD

MPEG(DVD 上使用的格式)将自己表示为开放标准,但大多数 Linux 发行版不会发布读取它的软件,因为 MPEGLA 持有阻止专利。AVI 和 Apple QuickTime 具有受专利保护的专有编解码器,因此大多数 Linux 发行版也不会发布解码它们的软件。

FC5 发布了 GNOME 项目的官方视频播放器 totem。不幸的是,它无法播放 DVD。症状是错误弹出窗口,显示“Totem 无法播放此光盘。没有理由”,但问题实际上是 gstreamer-0.10 中的已知错误。

不幸的是,备用前端 xine 甚至更崩溃。可以通过这种方式安装它

yum install xine xine-lib libdvdcss

这样做还将安装许多支持库,包括 xine 人员因害怕 DVDCCA 的攻击律师而不会在其网站上谈论的 libdvdcss 插件。

0.99.4 xine 版本显示一个全白窗口并且什么也不做(至少在我的使用 nVidia GeForce2 的普通 Opteron 机器上)。


10. Web 流媒体测试页面

以下是一些尝试流式传输音频和视频剪辑的测试位置


11. 相关资源

这里有一个关于 Fedora Core 5 安装过程的良好演练,涵盖了与本文档相同的一些内容,此处

这里有一个有用的 Fedora Core 4 技巧和窍门 页面。

这里有一个关于 Firefox 多媒体插件 的良好教程。


12. 许可证和版权

© 2004, Eric S. Raymond。

根据 GNU 自由文档许可证 1.2 版或自由软件基金会发布的任何更高版本条款,允许复制、分发和/或修改本文档;不包含不变部分、封面文字和封底文字。许可证副本位于 www.gnu.org/copyleft/fdl.html


13. 致谢

Miguel Freitas 帮助我了解了一些视频格式的技术细节。