多媒体播放器-MPlayer
2010-11-13 08:59:20 阿炯

MPlayer是一款开源的多媒体播放器,以GNU通用公共许可证发布,可在各主流操作系统上使用;MPlayer是基于命令行界面,在各系统可选择安装不同的图形界面,可能是开源世界里最好的多媒体播放软件了。


MPlayer is a movie player which runs on many systems (see the documentation). It plays most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV and even H.264 movies.

Another great feature of MPlayer is the wide range of supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, but you can use GGI, SDL (and this way all their drivers), VESA (on every VESA compatible card, even without X11!) and some low level card-specific drivers (for Matrox, 3Dfx and ATI), too! Most of them support software or hardware scaling, so you can enjoy movies in fullscreen. MPlayer supports displaying through some hardware MPEG decoder boards, such as the Siemens DVB, DXR2 and DXR3/Hollywood+.

MPlayer has an onscreen display (OSD) for status information, nice big antialiased shaded subtitles and visual feedback for keyboard controls. European/ISO 8859-1,2 (Hungarian, English, Czech, etc), Cyrillic and Korean fonts are supported along with 12 subtitle formats (MicroDVD, SubRip, OGM, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS and our own: MPsub). DVD subtitles (SPU streams, VOBsub and Closed Captions) are supported as well.

Mplayer 是一个Linux下的电影播放器(也能运行在许多其它的Unices 和 非x86 的CPU 上). 它能使用本地的, XAnim, Win32 DLL的编解码器播放绝大部分的MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, OGG/OGM, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM 和RoQ 文件. 你还能观看VideoCD,SVCD, DVD, 3ivx, DivX 3/4/5甚至WMV电影(不需要使用avifile库).

MPlayer的另一个优越的特性是对输出设备的广泛的支持. 它可以使用X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, 但你也可以使用GGI, SDL(由此可以使用他们的所有驱动), VESA(所有VESA兼容的显卡,甚至可以没有X11), 某些低级的显卡相关的驱动(Matrox, 3Dfx和ATI)和一些硬件MPEG解码器卡, 比如Siemens DVB, DXR2和DXR3/Hollywood+. 它们中绝大多数支持软件或硬件缩放, 所以你可以享受全屏电影.

MPlayer 具有onscreen display(OSD)功能, 用来显示状态信息, 清晰放大反锯齿、带阴影的字幕和键盘控制的视觉反馈. 支持的字体包括欧洲语种/ISO 8859-1,2 ( 匈牙利语, 英语, 捷克语等等), 西里尔语和韩语, 可以播放10种格式的字幕文件(MicroDVD, SubRip, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub 和我们自己的: MPsub)和DVD字幕(SPU流, VobSub和隐藏字幕数据表(Closed Captions)).

mencoder (MPlayer的电影编码器)是一个简单的电影编码器, 设计用来把MPlayer 可以播放的电影编码成另一些MPlayer可以播放的格式(见下面). 它可以通过1, 2或者3 pass的方式编码DivX4, XviD, libavcodec的编解码器支持的视频格式和PCM/MP3/VBRMP3的音频. 进一步的它还拥有流复制的能力, 一个强大的插件系统(crop, expand, flip, postprocess, rotate, scale, noise, rgb/yuv 转换)和更多.

gmplayer 是使用图形用户界面的MPlayer. 它使用跟MPlayer相同的参数.

历史

MPlayer 的开发开始于2000年。最初的作者是Árpád Gereöffy,之后马上便有更多的开发者加入进来。这个项目之所以开始是因为A'rpi无法在Linux下找到一个令人满意的视频播放器。第一个版本被称为mpg12play v0.1,并且将libmpeg3在一个半小时之内整合到其中。之后的版本mpg12play v0.95pre5里被加入了基于avifile的Win32 DLL loader的AVI播放功能,从2000年11月MPlayer v0.3之后的版本都一直保留着该功能。

最初绝大多数的开发者都来自于匈牙利,但是现在,开发者遍布全球。自从2003年Alex Beregszászi开始接替准备开发第二代MPlayer的Árpád Gereöffy来维护该项目。但是现在MPlayer G2由于多种原因暂停开发。

MPlayer 最初的名字叫做"MPlayer - The Movie Player for Linux",不过后来开发者们简称其为"MPlayer - The Movie Player",原因是MPlayer已经不仅可以用于Linux而可以在所有平台上运行。
2004年到2005年,一个非官方的 Mac OS X移植以比原版更高的版本号发布,名字叫MPlayer OS X 2。不久,OS X版本在官方网站出现。由于版本号的冲突,官方的OS X版MPlayer 1.0rc2,虽然版本号较低,但是实际上使用了更新更稳定的代码。2008年,MPlayer OS X的非官方图形界面MPlayer OSX Extended诞生,是现在唯一还在开发中的MPlayer OS X 前端。

支持的媒体文件格式
* 物理介质: CD、DVD、Video CD
* 容器格式: 3GP、AVI、ASF、FLV、Matroska、MOV (QuickTime)、MP4、NUT、Ogg、OGM、RealMedia
* 视频格式: Cinepak、DV、H.263、H.264/MPEG-4 AVC、HuffYUV、Indeo、MJPEG、MPEG-1、MPEG-2、MPEG-4 Part 2、RealVideo、Sorenson、Theora、WMV
* 音频格式: AAC、AC3、ALAC、AMR、FLAC, Intel Music Coder, Monkey's Audio、MP3、Musepack、RealAudio、Shorten、Speex、Vorbis、WMA
* 字幕格式: AQTitle, ASS/SSA、CC, JACOsub, MicroDVD, MPsub, OGM, PJS, RT, Sami、SRT, SubViewer, VOBsub, VPlayer
* 图像格式: BMP、JPEG、PCX, PTX, TGA、TIFF、SGI, Sun Raster
* 网络协议: RTP、RTSP、HTTP、FTP、MMS, Netstream (mpst://), SMB

MPlayer 还支持不同的驱动程序,包括VDPAU、X11、OpenGL、DirectX、Quartz Compositor、VESA、Framebuffer、SDL以及较少使用的ASCII art和Blinkenlights。它还能在装有电视卡的计算机上使用tv://频道收看电视节目,或者通过radio://频道或频率收听广播,自从 1.0RC1版,能够使用libass库来支持ASS/SSA字幕,虽然对于一些语言还存在问题。

法律问题
大部分视频和音频格式都能通过FFmpeg项目的libavcodec函数库原生支持。对于那些没有开源解码器的格式,MPlayer使用二进制的函数库,它能直接使用Windows的DLL。

专有的CSS解析软件和相关格式使MPlayer成为被众多开放源代码播放器所使用的后端,过去MPlayer曾经包括OpenDivX,一个不兼容GPL的解码器。这已经被删除,使MPlayer成为完全的自由软件,但是在自由软件中使用专有的解码器仍然是影响FFmpeg、MPlayer以及其他相关软件的潜在问题。

最新版本:1.3
主要修复了用户反馈出现的诸多问题,包括部分视频播放模糊和兼容性方面。强烈推荐你进行升级,修复了包括模糊文件和其他各种BUG所导致的崩溃,并对应用的兼容性进行了大幅调整。距发布MPlayer 1.2才三周,该项目开发团队又于今日放出了MPlayer 1.3,并且令人惊奇地带来了对FFmpeg 3.0开源多媒体框架的支持。其实早在2月15号的时候,就有报道透露了这一消息。但更棒的是,MPlayer开发者们还解决掉了所有的问题,并且将FFmpeg 3.0源码完全整合到了可自由分发的MPlayer 1.3.0发行版中,GNU/Linux用户现在起就能够到项目官网下载它了。

官方声明称:“MPlayer 1.3.0兼容FFmepg 3.0.x和FFmpeg git,压缩包中已经包含了FFmpeg 3.0的副本,因此你无需单独获取”。除了这一全新的开源多媒体框架,MPlayer 1.3.0版本还支持一些新的编解码器和媒体文件格式,清理了内部代码、修复了自MPlayer 1.2起用户汇报的许多bug。此外还有一堆性能增强、借鉴了FFmpeg项目(MPlayer的一个姊妹项目)、以及多个API支持方面的更新变动(发生在上游的FFmpeg 3.0项目中)。当然,由于大多数变动发生在底层,所以普通用户是觉察不到有任何不同的。

最新版本:1.5
自2019年4月发布 1.4 版本的三年后,Mplayer 1.5 正式于2022年3月上旬发布,版本代号“希望”。1.5 兼容最新的 FFmpeg 版本(5.0)和当前的 FFmpeg 开发版本(FFmpeg master),带来以下变更:
解码器、分流器、流:
FFmpeg 不再支持 ffmpeg12vpdau,改为单独提供 ffmpeg1vpdau 和 ffmpeg2vdpau 。
Live555 已弃用并禁用,未来将被移除
修正了离开全屏模式后,视频窗口大小错误的问题
使用 x11 切换到全屏模式时,清除屏幕视频输出驱动
命令行选项 -fs 现在可以识别 GUI 选项 load_fullscreen
在 OpenGL 视频输出驱动程序的 X11 中拥有正常的视觉效果
提供一个默认的主题皮肤,以在未安装主题的情况下使用 Mplayer GUI
提供本地语言支持,即可以更改 GUI 的语言
新的配置选项 --enable-nls ,用于运行时的本地语言支持(目前仅适用于 GUI,默认情况下启用)
macOS:修复视网膜显示器的显示、输入处理缓慢等问题。
更多详情请查看更新公告


官方主页:http://www.mplayerhq.hu/

该文章最后由 阿炯 于 2022-03-01 11:25:28 更新,目前是第 2 版。