【第二部分】技术篇
【四】NAS、监控和整个网络的搭建
1、NAS的搭建
NAS是什么东西?一开始我也不知道。直到我发现了有个东西叫“群晖”。
最后,我花了不到600块钱,用一堆二手配件,组了一台四盘位NAS,自学刷了个“黑群晖”,加了几块3TB的硬盘作为我的片库盘,用来带动了自家店十来间房的投影工作。
而当时同配置4盘位群晖大概3000元以上。
令人没想到的是,这一套二手洋垃圾,它竟然稳定运行了2年多时间。
2年之后,主板终于经不起日夜操劳,扑街了。然后,我从容的换上了一块早已准备好的备用主板,让它继续为我日夜操劳。
现在回想起来,我可能真的是抠到极致了。
NAS摆放位置事先就规划好了,让装修师傅把所有房间的网线都走到了二楼楼梯口,等我的NAS全部折腾并测试完毕后,做了一个支架架起来,接上千兆交换机,就完事儿了。
2、利用 NAS作为监控的存储盘
店内的监控并没有使用传统的监控布线,成本高且麻烦,我采用了某米的无线摄像头。
因为NAS本就是24小时不关机,我专门划分了一块硬盘空间存监控文件,并设置定时将录像文件通过无线局域网传输到NAS中。这样,不仅可存的空间大,而且监控视频随时可看可查。
经过多次测试和调试,NAS完全可以满足多个房间同时播放内网的高清电影,监控文件的传输也没有问题。
3、必要的带宽管理
因为只有8MADSL带宽,我跟不同的运营商了解过,光纤是没有的,除非肯花大价钱拉专线。
所以只能让那么多房间共用这8M带宽了。
所有房间全部使用这8M带宽,对每个房间的网速进行管控是必须的,否则可能会因为某一个房间过多的占用网速导致其他客人都用不了。那一家被评价网络几乎不能用的店,大概就是吃了不懂网络带宽分配的亏。
主路由我用的是刷了企业管理系统的路由,可以对每个IP进行合理分配,保证每间房有足够的带宽看直播。
因为有了内网强大的片库,有直播需求的人就变得很少了,根据我对高峰期路由器的流量观察,估算出十来间房中,同时使用外网的房间数,这样分配起来就很清晰了。
最终效果很不错,实际运行过程中,几乎没有遇到过客人反映网速慢的问题。
【五】对播放软件KODI的研究和探索
1、投影仪播放电影卡顿?
在我尝试了各种播放软件之后,最终还是选择了KODI(那个时候还叫XBMC)。
KODI仍然是当时安卓系统上,最强大的开源视频播放软件,只要按照规则命名电影,它就可以自动匹配生成对应的电影封面和简介,甚至还有预告片。
但客人反映,有不少电影播放会很卡。我测试了不少电影后发现,只要播放1080P的电影就会卡顿,720P的就能流畅。
我查遍了全网,论坛和群内找各种大佬请教,都没有人能给出一个完美的解决方案。
那不行啊,我那么多电影岂不是都要完蛋?
费劲心思最后还是弄清楚了原因——原来极米投影的MSTAR芯片是新出的,KODI当时还不支持这款芯片,也就是说这款投影仪无法对视频进行硬解码。
那既然是开源软件,是否能调用其他的播放器呢?
经过一段时间废寝忘食的研究,最后还是被我完美解决了,并在高清范论坛发布了一篇技术分享贴,后面这篇帖子也被论坛加为了精华。
这个研究的过程也是非常有趣和有意义,至少在当时,也算是解决了一个大问题吧~
PS.后期KODI的新版本已经支持了这款芯片
【六】桌面的迭代——对系统易用性的探索
作为客房内部使用的系统,易用性好不仅能让客人的体验度更好,上手门槛更低,最重要的是,可以大大减少店内的人工教学成本,否则还需要专门配一名技术人员来帮助客人使用。
1.第三方桌面的尝试
投影自带的界面整合了各大视频网站的视频资源,元素过多且很多都是要收费。
如果是一位从来没有使用过系统的客人,很可能会不知道该去点什么地方。
那怎么从根本上解决这个问题呢?
我的脑海中出现这样一个桌面:只显示“直播”、“点播”等图标可选,精简美观,一眼就知道,看电影点哪里,看电视点哪里,几乎不需要什么学习成本。
简单的说,就是定制版的老人桌面。
初步我使用了第三方桌面:沙发桌面。并将直播应用和KODI更名后,放在最显眼的地方。
但实际使用中却出了麻烦——因为沙发桌面长按就可以更改图标,桌面经常会被客人更改的乱七八糟,严重影响了下一位客人的使用,维护起来也非常麻烦。
于是我又尝试了另外一种桌面,界面够精简,只有6个图标,UI可以自己定制,然后对应上你想要的APP。
结果还是一样,还是会被客人不小心改掉对应的APP。
2、完美解决方案——Kodi自带的封闭性桌面
是否可以做一个封闭性的桌面,禁用客人的修改权限呢?
一般来说除非去找人开发定制,但我们这种小体量的客栈,实在是没有必要去为这个花费太多的额外成本。
很遗憾,我找遍了市面上几乎所有可以支持TV端的第三方桌面,并没有一个满足我的需求。
最终,在我寻找一款美观好用的Kodi皮肤,为了更方便客人选片的时候,它出现了。
万万没想到,它几乎完美符合了我的需求——它的Metro UI风格十分美观,除了本应该有的选片界面,还可以针对组件来定制皮肤和应用,最重要的是,它可以通过管理员来封闭权限,避免了客人随意修改造成的麻烦。
于是我根据自己想要显示的分类,将内置的UI图标重新设计修改,让客人一眼就清楚应该点什么。
最后,我把遥控的使用说明书放上去,并将设计好的LOGO和店名放在了左上角,然后将KODI设置为开机自启。
至此,一个符合我心目中的商用播放系统已经初步完成了。
3、软件的缺陷与分支版本
Kodi在使用过程中,其实还是有很多缺陷的,尤其是按键操作是不符合常规习惯的,例如遥控器的返回键不会退出播放,而是调出了选择菜单。
于是出现了一个版本叫SPMC,这是由Kodi开发人员Koying创建的非正式的Kodi for Android分支版本(现在已经停止开发了)
这个分支版本不仅有启动器版本,可以直接替代原生桌面;而且它修改了原本的一些反人类的操作逻辑,让遥控器的操作符合正常了。
于是我选择了这个分支版本作为我一开始的替代版本。
其中一个有意思的小插曲:我发现某个版本的中文搜索功能出现了bug,调出中文输入法会打不出来字。于是我尝试去作者的官网反馈区,用并不太好的英文反馈了这个bug,很幸运的,作者看到了并回复了我,在下一个版本就修复了。
这可能是我最早做测试工作的原型了。
【七】ROOT+精简——打造属于自己的播放系统
为什么要Root?
1、初代产品配置不佳,系统臃肿卡顿,需要root精简掉无用的应用,提高系统运行效率。
2、可以禁用掉系统桌面启动器,换成自己定制的封闭性启动器
3、Root后可以备份整个系统,需要时方便恢复。
几年后,因为投影仪的配置和亮度越来越跟不上时代了,我更新了一批新型号的投影,内置的系统也随之升级了。
然而不妙的是,新的系统竟然封锁了root权限,无法一键root了,这样就无法替换第三方桌面了。
怎么样才能把新的投影Root掉呢?
于是,又是废寝忘食的研究,泡论坛查资料,跟大佬交流,查原理、研究怎么用电脑连接投影,怎么打开投影的USB调试权限。
对一个当时完全没有Linux基础的人来说,其实是一件非常难的事情,就算查到一些资料,也几乎都是一知半解。我只有用我已知的方法,不断的探索和尝试,疯狂的尝试。
最后,在论坛大佬的指点和我的努力尝试下,Root权限成功的被我给破解了,然后我分享在官方论坛里。很幸运的,没有被官方干掉,也是这个型号唯一的Root贴。
PS.事实证明,只要想做成一件事,有没有基础都不是大问题,问题是有多想把这件事情做成。
【八】将功能利用到极致——游戏功能
这么大的屏幕,光用来看电影,会不会有点过于浪费了呢?
大屏幕打游戏的震撼只有体验过才知道,而我非常热衷于把我的觉得好的娱乐体验分享给我的客人,于是,新一轮“试验”又开始了。
1、定位人群,找出方向。
PS4或者Switch接投影,再配上5.1环绕音响,是较完美的解决方案,但客房的话可能性不大,考虑到这样几个问题:
1、主机游戏在国内比较小众
2、游戏机成本过高,不方便管理,甚至可能对房间单价产生影响。
2、内容选择
店里的客户群基本以年轻情侣居多,尤其是大学生比较多,内容上,双人游戏应该作为首选。
3、外设平台
那是否能够利用投影的特性,做一个略微降级的游戏体验呢?
新投影的硬件特性,经测试已经可以玩安卓上的大部分游戏了,不仅支持连接蓝牙手柄,还可以支持双打。
于是,方向出现了——以安卓游戏为主,加上两个游戏手柄,就可以做出一个基础的双人游戏体验了。
我将这些热门游戏加到我的系统中,初步做了一个尝试。
很显然,这些游戏不仅占用了太多应用程序的位置,而且图标不是很美观。
4、游戏库的实现
后面,我在尝试了几个不同的游戏平台之后,最终选择了一个整合性不错的平台。这个平台除了一些支持双人的街机游戏之外,还支持各种游戏机的模拟器。
但随之而来的也出现了一个问题:客人想玩的游戏都去下载,不仅下载速度慢,投影的容量也有限,一旦空间不足,投影的播放系统甚至会崩溃。
有没有什么办法,可以让投影直接读取下载好的游戏呢?
这里有两个解决方案:
a.游戏全部放在NAS里,游戏路径设置为局域网中的路径。但因为投影的网线端口速率是100M的,局域网速度明显不够,只能放弃。
b.新投影虽然没有SD扩展,但是可以外接U盘,游戏可以事先下载好到U盘中,玩的时候可以直接读取。
于是,我某东下单了一批U盘,事先下载好了大量的游戏,将游戏路径设置到U盘,U盘保持长期插在投影上。
这样,游戏库的问题基本就解决了。
5、多手柄的延迟问题。
没想到,这个问题解决了,随之而来又出现了新的问题。
因为投影接入的蓝牙设备过多(遥控器也是蓝牙),加上Wifi干扰,客人反映两个手柄同时连接的话延迟很严重。咨询了手柄厂家也给不了答案,厂家大概是没有遇到有人这么玩过吧~
我只有再次更换方案,改为不同连接方式的手柄,使用一个蓝牙手柄,一个2.4G带接收器的手柄。
最后直接把游戏平台放到应用菜单内,其他的APP根据使用程度,重新修改UI后再放进去。
最后的效果是不是美观了很多呢?