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安装包:

先把 rpmfusion-free-release-23.noarch.rpm从网站上下载下来, 或用curl, 或用wget获得:

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

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

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


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的界面 "好看".

再谈fedora下的音乐和视频播放器的安装的更多相关文章

  1. linux 常见音乐、视频播放器简介

    2007-1-15 10:00:22     常见音乐播放器     xmms一族     xmms全称是X Multimedia System,这个经典的播放器可能是每个linux的使用者或多或少都 ...

  2. Centos7下修复 视频播放器(先 安装VLC视频播放器)

    用最新的CentOS7发现没有视频播放器,于是在http://pkgs.org/上查找,发现了nux dextop仓库上有, 于是到他的官网上http://li.nux.ro/repos.html查了 ...

  3. 再谈fedora23下Virutalbox的安装. --问题的关键在于 安装kernel-devel包

    首先, 要使用 virutalbox的 rpm 安装包 进行安装. 在安装的过程中, 如果提示 有一些包, 没有, dependencies not resolved, 比如libQt..libvpx ...

  4. 再谈fedora 23中的flash的安装

    安装下载, flash插件的地址是 https://get.adobe.com/flashplayer/ ls 的显示, 记住两个很常用的选项: 指定 "假设的屏幕的宽度" , - ...

  5. 再谈应用环境下的TIME_WAIT和CLOSE_WAIT

    昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下: http://blog.csdn.net/shootyou/article/details/6615051 里头的分析过程有 ...

  6. 再谈应用环境下的 TIME_WAIT 和 CLOSE_WAIT

    转自:http://blog.csdn.net/shootyou/article/details/6622226 昨天解决了一个 HttpClient 调用错误导致的服务器异常,具体过程如下: htt ...

  7. 再谈Retina下1px的解决方案

    https://www.w3cplus.com/css/fix-1px-for-retina.html

  8. android 调用系统的音乐和视频播放器

    package com.eboy.testsystemaudiovideo; import android.app.Activity;import android.content.Intent;imp ...

  9. 《shader入门精要》13.2再谈运动模糊中片元着色器的世界坐标的计算

    具体在书p275页 这里为啥需要除D.w呢. 首先我们得到的NDC的坐标是已经归一化的,但是CurrenViewProjectionMatrix的作用,是把世界空间转化为尚未归一化的裁剪空间. 这里看 ...

随机推荐

  1. java 连接redis 以及基本操作

    一.首先下载安装redis 二.项目搭建 1.搭建一个maven 工程 2. 在pom.xml文件的dependencies节点下增加如下内容: <!-- resis --> <de ...

  2. Java IO留存查看

    IO也可以写作为 "i/O" ,也可以理解为In和Out,即输入与输出.所以,IO体系的基本功能就是: 读和写. IO流作用:读写设备上的东西,硬盘文件.内存.键盘.网络... 根 ...

  3. 《大话设计模式》c++实现 模版方法模式

    模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 角色: (1)AbstractClass:是抽象类,其实也 ...

  4. Yii2 nginx配置伪静态

    Yii2 配置 Nginx 伪静态 主要检查以下代码: location / { # Redirect everything that isn't a real file to index.php t ...

  5. CSS背景与边框属性-----box-shadow

    box-shadow:none | <shadow> [ , <shadow> ]*   <shadow> = inset? && <leng ...

  6. Join The Future (剪枝 + 状态压缩)

    一道暴力搜索的恶心剪枝题目. 先处理好某个点确定之后其他点的也确定的是谁,还有分别为什么情况,分别用vis,sta来记录.当然可以直接使用一个3进制数来表示,但是这里需要额外写一个三进制数求值的函数较 ...

  7. uva 10369 Arctic Network

    题意: 有许多基地,每个基地都有两种收发信号的方式,一种是通过无线电收发机,另一种是通过卫星.两个基地之间可以通过卫星交流不管它们相距多远:但是通过无线电交流,就要求它们的距离不超过D.为了方便布置, ...

  8. Python 学习记录之----模块 paramiko

    paramiko 一.安装 pip3.5 install paramiko pip3.5 install pycrypto # pycrypto,由于 paramiko 模块内部依赖pycrypto, ...

  9. 为什么我们要使用HTTP Strict Transport Security?

    http://www.freebuf.com/articles/web/66827.html

  10. 每天学点Linux命令之grep 和 wc命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expr ession Print,表示全局正则表 ...