PC端的开源媒体播放器

大体来说,开源媒体播放器主要有3大架构:MPC、MPlayer和VLC。这3大架构及其衍生品占领了90%的市场。普通用户能看到的免费媒体播放软件,几乎都是源自这3大架构。

MPC-HC

在谈MPC-HC之前,我们必须先谈一下它的先驱MPC。

MPC的全称是“Media Player Classic”,它是一个和Windows Media Player(WMP)有着密切关系的软件——实际上MPC就是WMP的同人作品。

在Windows XP出现之前的Windows时代,WMP是非常出色的播放器。微软在2000年推出了WMP 7.0,将这款经典改得面目全非,引起了很多爱好者的不满。于是开发者在2003年,就自己捣腾出了一个开源软件MPC,用以致敬经典版的WMP旧版。

MPC基于DirectShow架构,是Windows系统下元祖级别的播放器。据说后来有个韩国人开发的KMPlayer早期也就是抄MPC的代码再换个界面,并且当时没有开源,令MPC的作者Gabest十分不爽。

MPC诞生出了MPC-HC和MPC-BE两大分支。

MPC-HC(Media Player Classic - Home Cinema)是MPC后继者。MPC-HC则在MPC的原作者Gabest渐渐退出MPC开发后的继承者。

MPC-HC有很多创新特性,包括开始融入 ffmpeg和支持更多DirectX特性和DXVA等等。

MPC-HC和MPC一样使用的是DirectShow架构,是一个十分轻量级的Windows平台专属的开源媒体播放器。

基于ffmpeg开发的开源DirectShow滤镜套件LAV filters出现后,让MPC-HC的视频解码能力变得更强了。通过LAV filters和ffmpeg,MPC-HC的解码能力可以与时俱进,支持最新型号的显卡硬解,支持最新的视频编码标准。

2017年,MPC-HC的官方网站宣布停止这个项目。其官方发布的最后一个版本是1.7.13,我们可以在github上下载它的源码和预编译版本。尽管如此,MPC-HC的源码是我们研究学习WIndows平台多媒体编程的优质资源。

MPlayer

如果说MPC是Windows上的元祖,那么MPlayer就是Linux上媒体播放的元祖了。

MPlayer使用ffmpeg作为解码核心,也是与 ffmpeg结合最紧密的项目,ffmpeg的代码就是由MPlayer来host,开发者群也有非常大的交集。借助Linux社区的强大实力,MPlayer建立了要比DirectShow稳定的多的工作流程。超越ffmpeg本身的功能外,后来又通过反向工程使之可以调用Windows上 的DirectShow Filter DLL,让MPlayer架构越来越吸引人,成为兼具稳定性和性能的优秀作品。

MPV播放器就是从MPlayer分支出来的。MPV基于MPlayer开发,提供更多新特性,修复了很多bug。

VLC

VLC是由法国的一群大学生发起的开源项目,此项目发展速度惊人。虽然同样基于ffmpeg,但可能是相对于“左三年右三年缝缝补补又三年”的MPlayer架构来说,VLC的架构在设计之初就很好的考虑到模块化开发,所以使它更吸引年轻的开发人员。成为近年发展非常快的架构。

VLC是一个开源的万能视频播放器,它的可贵之处其一自然在于开源和免费,其二则在于跨平台。无论你用的是Windows、macOS、Linux或是移动平台如Android、iOS,VLC都能在其上工作,而且效果还不错。

VLC是一个比较成熟稳定的全能播放器。它不需要安装额外的解码器就可以上手即用。如果你在寻找一个多平台通用的高质量播放器,VLC会是一个不错的选择。

VLC的源码值得我们去学习研究。

至此,我们可以发现前3大播放器底层都用到了ffmpeg。有人说:“想不用ffmpeg去写媒体播放器,就像是造汽车而不用车轮。”

Others

除了上述知名的开源媒体播放器外,还有一些其它的在国内有一定知名度的媒体播放器,比如:QQ影音、迅雷影音、腾讯视频、爱奇艺视频、优酷客户端、暴风影音、PotPlayer、KMP layer等等。

由于Others类别的播放器受商业组织控制,超出了前文描述的三大架构的开源播放器的生态范围,因此在本系列杂谈文章中,作者不对它们做任何技术探讨。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ADM实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值