挣脱Windows的枷锁:MPlayer - linux下的暴风影音
很多人不使用linux桌面,其中一个很大的原因就是离不开Windows下的软件,其实linux的开源社区里有得的好用的工具,关键是看您会不会用而已,所以就有了我们的这个“挣脱Windows的枷锁”这一系列文章的开始。
网络上,linux的资料非常的丰富,我们这系列的文章基本上在网络上都可以找到类似的文章,我们基本做的就是将这些散落网络各处的文章收集整理的工作而已,应了一句活,世界上不缺少美,只是缺少发现美的眼睛而已,linux的桌面应用也是如此。
一直都想看《霍元甲》,但直到前几天才下载了部,所以,今天,我们现来从Linux下的电影播放来开始我们“挣脱”之旅。
相信对于Windows下的电影播放软件,用得最多、最方便的就是暴风影音(包括其他基于MPC的实现)了,那么在Linux下是否也有类似的软件的,答案就是MPlayer。
MPlayer是Linux下最优秀的多媒体播放器之一,播放速度是最快的,支持的文件格式也是最多的。 一下是官方的介绍:
MPlayer 是Linux 上的电影播放器(也能跑在许多其它Unices上,甚至非x86CPU上,参见移植部分)。它能使用众多的本地 的,XAnim,RealPlayer,和 Win32 DLL编解码器,播放大多数MPEG,VOB,AVI,OGG,VIVO,ASF/WMV,QT /MOV,FLI,RM,NuppelVideo, yuv4mpeg,FILM,RoQ文件。你还能观看 VideoCD,SVCD,DVD,3ivx,RealMedia,和DivX格式的电影(你根本不需要avifile库)。mplayer的另一个大的 特色是广泛的输出设备支持。它可以在X11,Xv,DGA, OpenGL,SVGAlib,fbdev,AAlib,DirectFB下工作,而且你也 能使用GGI和SDL(由此可以使用他们支持的各种驱动模式) 和一些低级的硬件相关的驱动模式(比如Matrox,3Dfx和 Radeon,Mach64,Permedia3)!他们大多数支持软件或者硬件缩放,因此你能在全屏下观赏电影。MPlayer还支持通过硬件MPEG 解码卡显示,诸如DVB 和DXR3与Hollywood+。可以使用European/ISO 8859-1,2(匈牙利语,英语,捷克语等等),西里 尔语,韩语的字体的清晰放大并且反锯齿的字幕(支持10种格式),和on screen display(OSD)你又觉得如何?
这个播 放器能够稳如泰山的播放被破坏的MPEG文件(对一些VCD有用),而它能播放著名的windows media player 都打不开的的坏的AVI 文件。甚至,没有索引部分的AVI文件可播放,你能暂时由重建他们的索引-idx选择,或者用MEncoder永久重建,使你能够在影片中搜索!如你所 见,稳定和质量是最重要的事情,而且他的速度是也惊人的。
是否已经动心了,废话少说,我们现在开始安装,和linux下的其他软件一样,MPlayer有两种安装方式,一种是直接的二进制rpm包的安装方式,另外的就是通过源码自己编译了。
二进制rpm包的安装方式很简单,直接到这里下载Suse Mplayer RPM安装包:MPlayer-1.0pre7try3-1.i586.rpm,使用rpm -ivf MPlayer-1.0pre7try3-1.i586.rpm安装就可以了。
我们今天的重点是源代码编译安装的方式,二进制RPM安装的方式比较方便,但是因为是通用的安装,所以并没有特殊的优化,而源代码编译安装的方式可以根据我们自己的PC配置进行相应的优化,对于电影播放器来说,特定的优化来实现性能的提高是非常有益的。
首先到这里下载MPlayer的源代码:
$wget http://www4.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre7try2.tar.bz2
$bzip2 -d MPlayer-1.0pre7try2.tar.bz2
$tar xvf MPlayer-1.0pre7try2.tar
$cd MPlayer-1.0pre7try2
##添加中文支持##
MPlayer-1.0pre7try2$echo "gb18030"> help/help_mp-zh_CN.h.charset
因 为MPlayer的源代码要求的Gcc环境还是gcc-2.95.3,不支持现在高版本的Gcc-4.X,所以我们需要对源代码打个Gcc-4x的补 丁:mplayer-1.0_pre7-gcc4.patch,将该文件保存在MPlayer-1.0pre7try2目录下,然后使用一下命令打补丁:
MPlayer-1.0pre7try2$patch -p1 < mplayer-1.0_pre7-gcc4.patch
另 外,为了免除字体安装的麻烦,我们再打一个Gtk2的补丁,让mplayer使用Gtk2,这样就支持utf-8的编码了。到这里下载补 丁:mplayer-1.0_pre7-gtk2.patch,同样保存到MPlayer-1.0pre7try2目录下,执行一下命令:
MPlayer-1.0pre7try2$patch -p1 < mplayer-1.0_pre7-gtk2.patch
最后我们在编译前,我们需要现下载MPlayer解码器,到这里下载:all-20050412.tar.bz2
MPlayer-1.0pre7try2$wget http://www4.mplayerhq.hu/MPlayer/releases/codecs/all-20050412.tar.bz2
MPlayer-1.0pre7try2$bzip2 -d all-20050412.tar.bz2
MPlayer-1.0pre7try2$tar xvf all-20050412.tar
创建一个目录用来存放,我们的编码器,目录位置及名称任意。
MPlayer-1.0pre7try2$mv all-20050412 /usr/lib/codecs
OK,准备工作做完,可以开始编译了。
配置,带GUI界面的MPlayer,解码器存放位置/usr/lib/codecs,支持zh_CN和en语言,utf-8编码,mplayer将安装在/opt/feiy/player/MPlayer1.0下:
MPlayer-1.0pre7try2$./configure --enable-gui with-codecsdir=/usr/lib/codecs /
--with-win32libdir=/usr/lib/codecs with-reallibdir=/usr/lib/codecs /
--with-xanimlibdir=/usr/lib/codecs disable-inet6 --language=zh_CN,en /
--prefix=/opt/feiy/player/MPlayer1.0 charset=utf8
MPlayer-1.0pre7try2$make MPlayer-1.0pre7try2$make install
因为我们是从源代码安装的,源码中并没有带MPlayer皮肤,所以我们还需要安装一下MPlayer的皮肤,到这里下载MPlayer皮肤,官方提供好多款皮肤下载,我们这里下载默认的皮肤Blue Skin
$wget http://www1.mplayerhq.hu/MPlayer/Skin/Blue-1.5.tar.bz2
$bzip -d Blue-1.5.tar.bz2
$tar xvf Blue-1.5.tar
$mv Blue $MPlayer1.0_install_path/share/mplayer/Skin/default/skin
然 后将其移动到,MPlayer安装目录下的share/mplayer/Skin/default/skin 以上就安装好了MPlayer,在/opt /feiy/player/MPlayer1.0/bin目录下,就可以看到我们的mplayer,其中 mplayer是命令行方式的MPlayer播 放器,gmplayer是GUI方式的MPlayer播放器,而mencoder是解码器。
MPlayer用法:
用法: mplayer [options] [url|path/]filename
基本选项: (包括所有选项的详细列表参见manpage!)
-vo 选择视频输出模式和设备(用'-vo help'查看列表)
-ao 选择音频输出模式和设备(用'-ao help'查看列表)
vcd:// 从设备而不是普通文件上播放VCD(video cd)track
dvd:// 从设备而不是普通文件上播放DVD title/track
-alang/-slang 选择DVD音轨/字幕的语言(使用两位的国家代码)
-ss 寻找指定的(多少秒或hh:mm:ss)位置
-nosound 不播放声音
-fs -vm -zoom 全屏播放选项(fullscr,vidmode chg,softw.scale)
-x -y 设置播放的分辨率(用于改变vidmode或软件缩放)
-sub 指定使用的字幕文件(参见-subfps, -subdelay)
-playlist 指定使用播放列表文件
-vid x -aid y 选择用于播放的视频(x)和音频(y)流
-fps x -srate y 改变视频(x fps)和音频(y Hz)率
-pp 使用后期处理滤镜(详细内容参见manpage/docs)
-framedrop 使用 frame-dropping (用于慢机器)
基本控制键: (完整的列表参见manpage, 同时也要检查一下 input.conf)
<- or -> 向后/向前搜索10秒
up or down 向后/向前搜索1分钟
pgup or pgdown 向后/向前搜索10分钟
< or > 跳到播放列表中的前一首/下一首
p or SPACE 暂停播放(按任意键继续)
q or ESC 停止播放并推出
+ or - 调整音频延迟+/-0.1秒
o 循环OSD模式: none/seekbar/seekbar+timer
* or / 增加或减少pcm音量
z or x 调整字幕延迟+/-0.1秒
r or t 上/下调整字幕位置, 参见-vf expand!
例如以下命令播放~movies/hyj.rmvb文件:
/opt/feiy/player/MPlayer1.0/bin$mplayer ~movies/hyj.rmvb
当然也可以在KDE中,使用打开方式->其他,选择mplayer打开的方式打开。
挣脱Windows的枷锁:MPlayer - linux下的暴风影音相关推荐
- Git下载代码到Windows再拷贝到Linux下编译时要关闭换行符自动转换
Git下载代码到Windows再拷贝到Linux下编译时要关闭换行符自动转换 一.各操作系统下文件换行符 二.TortoiseGit下载Github代码关闭文件换行符 三.示例说明 1.开启换行符自动 ...
- 将vs+Qt的工程从windows平台移植到linux下_
将vs+Qt的工程从windows平台移植到linux下_崔杰城的博客-CSDN博客_windows下的qt工程移植到linux下 windows下Qt的开发人员常用vs+Qt ...
- 将vs+Qt的工程从windows平台移植到linux下
windows下Qt的开发人员常用vs+Qt插件进行Qt桌面程序的开发.因为Qt是跨平台的,所以开发完成后如果需要把程序移植到linux下运行,只要把vs的项目工程放到linux下,编译即可.下面介绍 ...
- mplayer - Linux下的电影播放器
概要 mplayer [选项] [ 文件 | URL | 播放列表 | - ] mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项] mplayer [全局选项] {一组文件和 ...
- windows 远程访问别人的linux下的ftp服务器,linux与windows之间使用ftp相互访问(CentOS提示ftp:command not found)...
启动linux及windows系统,这里默认linux系统的IP为192.168.1.15.打开windows的DOS终端,首先输入 :ftp 192.168.1.15 在使用账户和密码登陆:登陆格式 ...
- linux日志不区分大小写,windows系统迁移到linux下,Nginx实现url请求不区分大小写...
如果你将跑在Windows下的项目(如:php.html)迁移到Linux下,由于Windows操作系统中,文件名是不区分大小写的:而Linux系统是大小写敏感,会导致有些网页出现404情况. 解决方 ...
- linux系统在windows看不到,Linux下怎么看不到盘符啊?
我的硬盘有三个盘,c: d: e:,先装了windows2003,后又装了一个Linux9.0,现在用linux进去怎么看不到这些盘,一个都看不到!请问要如何访问这些盘上的文档? | linux下面的 ...
- Windows C++移植到Linux下运行需要怎么做?(以动态甜甜圈为例)
本文将(https://zhangrelay.blog.csdn.net/article/details/109863427)程序在Linux下运行. 具体版本为Ubuntu 20.04. 程序如下: ...
- vs编译c语言文件不读取对象式宏,C代码的条编译宏windows的VS和linux下gcc编译不一样...
#include #include #define XXX 2 #define YYY 20 int main() { #if(XXX > 10) printf("XXX > 1 ...
最新文章
- 使用嵌套的Repeater控件显示分级数据
- mysql查看历史连接数_MySQL如何查看连接数和连接状态
- .NET(C#):警惕PLINQ结果的无序性
- 电子词典系统vc++_电子词典系统
- 一站式体验腾讯云音视频及融合通信技术
- wenstorm设置谷歌_WebStorm+Chrome调试Vue步骤
- python中随机输入数字再排序
- 学java交学费包分配_java 学生缴学费案例:
- 有多少种 “图片格式”?
- ElasticSearch核心基础之聚合
- 【Java】ThreadLocal SimpleDateFormat 静态代码块 空指针异常
- 关于.NET的单元测试
- Android进阶(二) Activity调用Service 通过AIDL实现
- 【互亿无线】语音短信多少钱一条?
- 磁共振线圈分类_磁共振线圈(二)
- 金三银四,教你编写一份脱颖而出的简历,从而 offer 手到擒来,要参加校招的同学要提前准备了
- SAD算法的OpenCV实现
- iphone模拟器上模拟内存警告
- HDU CCPC网络选拔赛 6441 Find Integer(数学)
- UE4(虚幻4)做一个双开平移自动门+双开旋转门+使用相对坐标