再谈fedora下的音乐和视频播放器的安装

时间:2023-12-20 20:23:20

rpm包就相当于windows下的exe,已经是编译后的二进制代码,可以使用rpm命令或dnf install ???.rpm来安装

lnux下软件的安装跟windows不同, 后者要到处去找, 要做一大堆操作. 而linux的软件安装是用yum来管理的: 是从repo源上安装的, 当dnf install a.package时, 会去搜索, 查找/etc/yum.repos.d/下的repo文件中的源仓库, 如果找到了就自动为你安装, 否则就报错说没有安装包.

dnf makecache : 是将创建 仓库的metadata数据文件.
dnf clean all: 是清除metadata缓存信息.
注意, 这两个所谓的缓存信息, 并不是将仓库中的packages(包实体)全部下载到本地来(真要那么做, 就叫做制作一个本地 镜像了), 不能够做到, 也没有必要. 它只是创建的仓库源的 元数据(关于仓库源的一些 "登记" 信息等),便于查找/索引.

实际上, 仓库源中的所有安装包, 在 repo文件的 baseurl或 mirrorlist所描述的地址里 就有, 就保存在那里.如: .../version(23)/Everything/i386/Os 可以给baseurl或mirrorlist写多个地址.

实际上win下也可以做成软件仓库, 只是没有社区去做去维护(因为有太多的comp靠win软件挣钱的了)
epel仓库是由fedora社区维护的; forge和fusion源都是由centos社区维护的.

dnf --help列出的是Main commands, 只是主要命令, 像localinstall都没有列出来.

在linux下可以使用 .d 作为目录的后缀, 表示这是一个目录.


http://download1.rpmfusion.org/free/fedora/releases/23/Everything/i386/os/Packages/m/ 中就有mplayer这个rpm安装包:
再谈fedora下的音乐和视频播放器的安装

先把 rpmfusion-free-release-23.noarch.rpm从网站上下载下来, 或用curl, 或用wget获得:
再谈fedora下的音乐和视频播放器的安装

然后安装这个rpm, 就会在/etc/yum.repos.d目录下增加 rpmfusion-free.repo等仓库文件.
然后 用 dnf makecache 创建/生成 本地的 metadata缓存 文件信息, 共dnf /yum查询, 安装使用.
再谈fedora下的音乐和视频播放器的安装

不要随便使用 dnf clean all, 这个命令会把以前创建生成的 所有的 cache都删除掉, 再次生成所有的 metadata 缓存时, 如果网络不好, 会耽搁很长时间.

安装了rpmfusion后, 不管是free.repo, 还是nonfree.repo,这两个 "software repositories" "软件仓库" 里面都有 mplayer和ffmpeg.
注意, 这些列出来的包名称 , 其实都是 *.rpm的, 只是.rpm的后缀是省略了的.

再谈fedora下的音乐和视频播放器的安装
再谈fedora下的音乐和视频播放器的安装

softname.rpm和softname.lib 的关系, 前者就像是一个门店, 后者就像是这个店铺的 仓库一样. 通常门店和仓库是分离的, 分开的, 不会放在一起, 所以 softname.rpm 和softname.lib 要分开存放. 不放在一起, 以免softname.rpm 太庞杂, 而且将rpm和lib绑在一起, 不符合linux的哲学, 不符合最小组件软件的法则, 但是rpm又离不开lib, 对lib有dependency的依赖关系, 如同门店门市离不开仓库一样. 实际上, 很多软件都是rpm, 都要依赖于其 "后台的" lib库. 而rpm前端 调用的函数, 基本上都是由后台的lib库来提供的.

有那么多的mplayer(multi-player) 多媒体播放器, 它们的关系是怎样的?
所有的音频/视频播放器, 都是ffmpeg项目的子孙. mplayer成员也是ffmpeg的成员. 所以 mplayer可以认为约等于 ffmpeg, mplayer也是所有播放器的祖先.
mplayer主要是一个命令行的播放器, (通常没有gui界面), 因此, 用qt开发的smplayer和用gtk开发的 gnome-mplayer等就成了 mplayer的gui界面, 那么 实际上 smplayer和gnome-mplayer就只是mplayer的 "外包装" "一件衣服"而已. 它们在播放的时候, 其实还是在 调用 mplayer. 就像外面那些 "串串"一样, 它们一天在外面拉客, 跑项目, 而实际回来完成生产的, 还是厂里的工人. 这里 厂里生产的工人, 就是mplayer, 而在外面跑业务跑销售的就是smplayer.

mplayer自己带的前端界面是 mplayer-gui, 其他界面有qt的smplayer, 和gnome-mplayer.

====================

安装mplayer到底需要安装哪些东西?

  1. 可以显示的指明, 到底要安装哪些软件, 如使用 dnf install mplayer smplayer , 就只是安装mplayer, 和它的前端界面smplayer, 而不会安装其他播放界面, 如gnome-mplyaer, mplayer-gui等. 当然(会自动包含所有依赖的音频/视频 编码/解码库, 如ffmpeg-libs, x264-libs, x265-libs, xvidcore, 还有其他音频解码器, 以及一些qt库等.
  2. 也可以 使用 通配符, 安装根mplayer有关的一切软件, 使用 dnf install *mplayer*

实际上, 只要安装mplayer和smplayer后, 基本上就可以播放 任何 音频和视频了, 包括常见的 mp3音频, flv视频文件. 而且不必另外, 额外的去下载其他什么解码器了!

mplayer和smplayer的音频/视频解码器, 很多是从 rpmfusion-free-updates 仓库中获得的!

当然除了smplayer界面外, 还可以安装gnome-mplayer, 和mplayer-gui, 但是后面这两者都没有smplayer的界面 "好看".