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. spring自带的定时任务功能@EnableScheduling

    1 demo package com.test.domi.config; import org.springframework.beans.factory.annotation.Configurabl ...

  2. VC2012+QT新建一个控制台程序

    1.新建一个项目,选择控制台程序 2.下一步.project setting 可以包含模块,可以再这选择也可以之后选择 3.配置工程属性 1)需要源码的话添加VC++目录里的源目录 2)包含头文件   ...

  3. css 渐变动画

    就是这样 这是一段可选文字 -------------------------------------- 代码如下 CSS代码: @media all and (-webkit-min-device- ...

  4. 【转】Spotlight实时监控Windows Server 2008

    Windows Server 2008作为服务器平台已逐渐被推广和应用,丰富的功能和良好的稳定性为其赢得了不错的口碑.但是和Windows Server 2003相比,其系统的自我监控功能并没有多大的 ...

  5. .net 缓存

    缓存有很多实现方法,所有这些可以被分为两类,基于内存的缓存和基于磁盘的缓存: 1.  内存驻留缓存——包含在内存中临时存储数据的所有实现方法,通常在以下情况下使用: a)       应用程序频繁使用 ...

  6. vc709时钟信号报单端信号错误的记录

    话说,为什么我又要跑去搞fpga玩了,不是应该招个有经验的开发人员么?大概是练度不够吧…… Xilinx这个板子阿,真鸡儿贵,我这还没啥基础,慢慢试吧: 看了乱七八糟各种文档先不提,我还是决定先控制L ...

  7. Linux基础命令---显示文本look

    look 显示文件中以特定字符串开始的行.在look执行二进制搜索时,必须对文件中的行进行排序.如果未指定文件,则使用文件“/usr/share/dict/words“,只比较字母数字字符,忽略字母字 ...

  8. docker exec进程是由谁产生的

    1.问题: 通过docker exec产生的进程bash(5704)看ppid是docker-containe(5564),但是通过ptrace进程号5564没有关于clone的系统调用,就算ptra ...

  9. 什么是 shell

     shell 在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器).它类似于DOS下的command.com和后来的cmd.exe.它接收用户命令,然后调 ...

  10. bzoj3678 简单题

    题目链接 bitset #include<algorithm> #include<iostream> #include<cstdlib> #include<c ...