XFile

关于XFile XFile架构 利用XFile打造家用文件服务系统 移动端应用 开发历史 下    载 授    权 联系我们

家庭影院播放器的兼容测试与选择

我们的客户端软件,无论是windows平台还是android平台,都没有整合播放器,需要一款独立的能支持FTP/HTTP在线播放的播放器软件来配合,为简化用户的选择,我们特意挑选了主流常见的播放器软件来做个兼容测试,这里包括三大开源播放器软件或者分支,也挑选了国内常见的播放器软件,至于那些整合捆绑了资源站点,存在后台程序的播放器软件,例如某某TV,某播之类的软件,则全部排除,我们挑选的目标是高效,简洁,没有广告之类的困扰,也没有后台进程常驻.测评平台我们选择了相对比较低端的硬件,笔记本Intel  i5 2430M CPU 8g ddr3 内存,集成显卡, SSD主硬盘+500g机械硬盘, 1366*768分辨率 windows7 pro 64位.  手机平台为MTK4核心arm 2g android 5.0, 电视盒为ROCKCHIP 3229 2g内存 android 6.0.

测试用软件是XFile 2017.10.15版本, windows平台通过任务管理器和process monitor同时监控播放器软件,并使用管理员权限从XFile文件服务器里观察连接和传输状态.而android平台的网络测试,由于设备和系统本身的限制,我们主要通过服务器平台来监视执行.

在windows平台,我们通过命令行方式传递连接并调用,android平台则采用Intent传递连接并调用。

[1] VLC 播放器  https://www.videolan.org/vlc/

      这是非常著名的跨平台开源播放器软件,支持windows , linux, unix, mac, ios, android等各种平台,是三大开源播放器软件之一,采用c++编写的主框架,发展非常快,它的windows版本非常成熟,但是移动版本android平台的VLC,Bug很多,甚至连官方给出的示范代码都无法通过,但是它的更新速度很快.

    

 

[2] MPV播放器软件, https://mpv.io/  https://github.com/mpv-player/mpv

 这是经典老牌开源播放器软件MPlayer的分支,mplayer采用c语言开发,很早就跨unix,linux,windos,mac等多种桌面平台,是各种linux/unix系统的默认播放器软件,经典的命令行播放器,几乎没有漏洞的绿色播放器软件,但是发展到今天,mplayer主干已经不再添加新功能,也不支持移动平台,在此基础上于是出现了新的分支,这就是MPV播放器软件,这个软件继承了很多MPlayer的代码,同时可以支持移动平台如android,ios等,在界面上也继承了mplayer的优点与缺点,简洁到没有界面,但是依然高效,国内MPV本身很小众,影响不大,但是有很多基于MPV播放器开发的外壳程序,反而比较流行,windows平台安装的时候,只需要解压到本地磁盘,然后用管理员权限执行installer目录里的mpv-install.bat,就完成安装了. 

 

[3] Media player classic,   https://mpc-hc.org/

这个开源软件同样经典,但是原作者,因为无法接受以韩国人为首的大规模代码抄袭,很早就离开了这个项目,后面虽然一直有人继续开发,但是目前基本停止,有渊源的分支mpc-hc [包括终极解码里整合的mplayerrc,其实是同一个]目前也基本走到终点,但是新的分支,kodi, 目前依然发展不错,kodi是为家庭影院设计的,对遥控器支持的很好,但是体积庞大.

独立的mpc-hc 64位程序测试图如下:

终极解码集成的mplayerrc

Kodi播放器软件,https://kodi.tv

这个播放器与mpc-hc基本可以看做一家人,目前也就这个分支在继续开发,独立安装的播放器Kodi

PotPlayer播放器软件,http://potplayer.daum.net

这是韩国人写的播放器软件,界面很合国人的口味,国内用户比较多, 独立安装的PotPlayer

终极解码整合的PotPlayer

QQ影音

 这是腾讯开发的播放器软件

KMPlayer

这个软件太老了,由于要求管理员权限,因此终止测试

Miro 播放器  http://www.getmiro.com

这个软件其实是类似国内某播某TV性质的播放器,无法执行完整的测试

MX播放器,http://mxplayer.net/

这个播放器在国内安卓市场里可能比较流行,因此在移动Android平台单独加入这个软件的测试,请注意,市场中下载的该播放器软件包里可能有插件!!!

 

以上测试里,例如kodi因为截图的时候最小化到后台,因此图片里cpu占用很低,实际不是,是最小化导致的,由于大部分播放器都是采用了ffmpeg库来进行解码,因此实际cpu占用差距并不大,微小的差距可以忽略;内存占用,这在某些商业评测中可能很看重,其实也可以忽略,因为测试中,有些软件是采用的纯在线播放,需要大内存来缓冲内容,而某些软件则通过下载到磁盘来进行播放,这样看起来内存开销小的多,相对于现在至少4G的内存来讲,100-200MB的在线播放开销,可以无视。

至于支持的媒体类型,只不过由于版权问题,某些解码库没有被编译进播放器软件而已,同样可以忽略,但是大部分播放软件基本都已经做到了可以支持目前几乎所有主流的媒体格式。

我们重点关注的是,播放器执行网络播放的时候,是通过内存直接进行的播放,还是通过下载缓冲到磁盘再进行播放,这里有天大的区别:

由于目前的主流计算机,以及移动设备如手机,平板,电视盒等,都采用SSD或emmc等电子硬盘作为存储器,而电子硬盘的最大缺陷就是,每个单元写入总次数是有限的,以常见的TLC单元为例,每个单元理论是可以写入1000次,实际大概在500次左右,也就是,如果是60G SSD作为主硬盘,能稳定写入的总量不到30TB,而一般厂商只承诺2TB的写入,如果不是纯在线播放,每次都采用缓冲到磁盘再进行播放的伪在线播放,那么你的SSD硬盘是个恶梦,一部高清蓝光电影就要几十GB,你可以想像一下你的写入量,对电视盒子更是恶梦,由于电视盒子等设备的存储更小,普遍在16GB左右,大量的写盘动作,会导致盒子在1年到2年时间内挂掉。

本次测试的目的就是挑选出那些真正的纯网络在线播放器软件,测试总结如下,绿色为推荐使用,紫色为兼容,但是可能有各种配合问题或者性能问题,红色代表不兼容或者伪在线播放:

播放器软件名称 操作系统 版本 Http播放测试 Ftp播放测试 详细说明 总结
Potplayer windows  

1.7.3795

支持[伪在线播放] 支持[伪在线播放] 从官方网站下载的最新版本,但是检查发现是通过下载缓冲到磁盘来实现的伪在线播放。 不建议
VLC windows 2.2.6 支持 支持 从官网下载的最新版本,真正的网络在线播放,没有检测到写盘缓冲。

 

推荐使用
mpc-hc windows 1.7.13 支持 支持[伪在线播放],是通过写磁盘来实现的伪在线播放. 从官网下载的最新版本,HTTP真正的网络在线播放,没有检测到写盘缓冲。

注意:该软件对FTP的实现是通过写盘来实现的伪在线播放.
 

兼容,但是不推荐
mpv windows 20170916 支持 支持 从官网下载的最新版本,真正的网络在线播放,没有检测到写盘缓冲。 推荐使用
kodi windows 17.4 支持 支持 从官网下载的最新版本,真正的网络在线播放,有一定量写盘动作,也许是保存参数之类的,但是播放确实是在线网络播放. 兼容

体积庞大,专为遥控器做了配套,建议使用遥控器的用户使用

QQ影音 windows 3.9.936 支持[保留] 无法测试,因为不支持通过命令行传递ftp连接. 从官方网站下载的最新版本,但是检查发现,qqplayer一直有写盘动作,和potplayer不同的是,qqplayer并不是预先下载整个文件来实现播放,而是一边写盘一边播放,搞不清楚为什么要这么设计。其次无法通过命令行直接打开url进行播放,需要用户手动干预,选择url播放模式和连接才可以。 不建议
miro windows 6.0 半支持 无法测试 从官网下载的最新版本,这个软件是通过先下载,然后才进行播放实现的,也就是需要将整个文件写到磁盘中才能播放,是个伪在线播放。 不建议
  终极解码之

 Potplayer

windows 17.1

1.6.63891

支持[伪在线播放] 支持[伪在线播放] 终级解码集成的potplayer,但是检查发现是通过下载缓冲到磁盘来实现的伪在线播放。 不建议
终极解码之

 mpc-hc

windows 17.1

1.7.1

支持 支持[伪在线播放],是通过写磁盘来实现的伪在线播放.
 
终级解码集成的mpc-hc, HTTP真正的网络在线播放,没有检测到写盘缓冲。

注意:该软件对FTP的实现是通过写盘来实现的伪在线播放.
 

 兼容,但是不推荐
终极解码之

 kmplayer

windows 17.1

2.9.3.1428

无法测试 无法测试 该软件需要管理员权限才能进行播放动作,导致命令行调用失败。 不建议
mpv android 2017.06.25-alpha 支持 支持 纯网络在线播放 [android 5.0以上版本]

 

推荐使用
VLC android 2.0.6 Bug Bug VLC android移动版本存在bug,外部程序通过Intent传递连接,会直接被丢弃,该bug两年前已经存在,但是一直没有修复,通过直接打开播放器输入连接,可以确定vlc是纯网络在线播放。 不建议
VLC android 3.0.0 Bug 支持 VLC android移动版3.0.0依然存在Bug,修复了Ftp播放,没有检测到写盘缓冲,是真正的网络在线播放. 推荐使用,VLC版本更新比较快,但是bug也很多.
QQ影音 android 3.2.0 不支持 不支持 在测试中通过Intent传递连接播放失败

 

不建议
MXPlayer android

 

1.9.8

* 安装包里面有插件

支持 无法测试 通过服务器端监视,MX播放器对媒体识别比较慢,HTTP播放确实是网络在线播放,但是FTP连接无法投递,应该是不直接支持. 兼容 [仅http]
Kodi

 

android 17.4 无法直接测试 无法直接测试 通过Intent调用该软件,传递连接失败,需要用户手动选择;但是通过直接在该软件里添加FTP服务器方式,可以实现纯网络播放,但是对FTP字符集支持存在问题,不是UTF8,因此乱码,但是可以播放.

 

半兼容[仅添加服务器方式],乱码
QQ播霸 android 7.9

这是QQ浏览器附带的播放器

支持[伪在线播放] 不支持 通过服务器端的监视,以及中间中断服务测试,基本确定QQ播霸是采用下载播放模式,也就是伪在线播放. 不建议

 

综合而言,在windows平台,我们建议您使用VLC, MPV,  KODI 播放器软件之一,这里特别指出一下,如果你希望使用MPC-HC或者终极解码中的mplayerrc, 那么请在HomeFile中设置为http流优先,因为这个播放器在播放http连接的时候是纯在线播放,但是在播放Ftp连接的时候,是个伪在线播放,实际是通过先下载然后再执行播放。

                   在android平台,我们建议您使用MPV播放器软件,其次是MX播放器,但是请小心,该软件安装包里可能有第三方插件,至于VLC播放器, 目前最新的3.0.0版本修正了流连接传递部分问题,目前Ftp播放没问题,但是新问题是http连接干脆无法识别了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
(c) 2011-2018 phoenixp2p.com