硬件说明,由于CPU内存,一般只要你不乱折腾,这东西是不会轻易损坏的,因此完全可以买二手货,主板,一般ASUS GIGABYTE MSI 这三个牌子的全固态大板, 买二手的也没问题,硬盘建议全新,不要买什么翻新盘,毕竟资源盘是需要长时间稳定运行的, 机箱尽量买大点重一点,前后有散热风扇的,这也是我为什么买金和田服务器机箱的原因,硬盘发热还是很厉害的,最重要的是电源,电源一定要买好点的, 我建议的是长城金牌巨龙,或者航嘉的磐石600S, 如果你能买到正品的台达服务器电源当然更好,电源关系到整个系统的长时间稳定运行,千万不要省. 盒子之所以买先科Q7,是因为这盒子是2G内存,而且是原生的android系统[4.4,可以刷到6.0],可以自己安装第三方应用,而且价格便宜.
因为已经确定采用windows平台,因为考虑到目前主流的播放软件都可以支持基于http ftp等网络的流播放,因此打算找个开源的FTP服务器软件自己修改下,去掉不需要或者可能导致漏洞的模块,做一个最基本的FTP文件服务器,但是在下载了各种FTP服务器软件后,发现没有符合自己要求的,不是代码很老,例如不支持Unicode UTF8编码,就是代码风格不符合,例如采用异步线程. 当然也有体型巨大的,例如FileZilla, 但是这代码我无法采用,一来代码太复杂,二来因为是GPL协议,而不是BSD. 最后折腾了半天,还是决定自己从头开发,当然也不是全部从头开发,因为以前开发P2P的时候已经实现了MiniFtp,因此把这个模块给挖出来,然后针对家庭需求,去掉SQL数据库等可能引发注入漏洞的部分,将账户权限限制成数组,将指令连接针对当前的硬件进行线程化,避免使用正则表达式,将输出全部UTF8化,再做成后台服务,一个基本的安全可靠的家用FTP服务器软件就做成了.
至于移动平台,尼玛,我之前其实一点都不会,连JAVA语言都没学过,选择苹果的ios吧,自己家里没有一台苹果的设备,虽然OBJ-C比较适合我们熟悉c/c++的人,但是因为这个原因把家里的设备都换成昂贵的苹果,这就太对不起钱包了。一开始呢,也是想找人开发一个android平台的app,但是后来根据自己的经验,知道这是个无底洞,自己不懂,后续升级啊,功能调整,bug修补都要依靠别人,成本就无限放大了,得,还是自己学吧,反正也不想深入开发,就简单的做个移动平台的文件客户端而已,应该不难,于是就上船了,学JAVA用了一天,真的是一天,这东西对熟悉c++的完全没有任何难度,去掉指针等操作,全部面向对象编程,就变成了JAVA,但是android studio把我折腾的够呛,完全不熟悉这货,主要是一开始不懂如何将界面与响应代码挂钩,然后研究了接近10来天才有点头绪,最后参考网上的代码,动个大手术,用apache FtpClient做了一个客户端,完美解决了移动端的点播问题.
然后在调试的时候,移动端外部播放器又出现了问题,发现主流播放器大部分只支持HTTP流播放,能够支持FTP流播放的,对中文,或者链接中存在空格的FTP链接支持很差[因为android本身是Linux内核,不支持文件名或者目录中存在空格,会被视为非法字符],这可难倒我了,难道我自己再去搞个开源播放器来支持在线播放?这代价太大了,专业的事情还是交给专业的人群去做吧,然后发现VLC存在Bug,尼玛,我想提交Bug的,结果被注册给难住了,验证码图片被墙了!!没办法,自己设计了一个变通办法, 在服务器端代码里做了个迷你Http服务器,增加一个指令,允许将Ftp文件映射为全英文和数字的Http连接,当然代价也是有的,就有如果有外挂字幕,就不会被播放器识别了. 这样就不需要依赖特定播放器了,因为android自身的播放控件除了本地文件播放,能且只能支持Http在线播放. 实际上机测试,手机上调试没问题,上了电视调试,发现界面不适合遥控器,用遥控器播放,我的需要按6次向下键,才到登录按钮,字体也偏小,于是又把登录按钮给做到第一个,列表字体放大.
总结, 在windows平台,网络FTP/HTTP流播放器首选VLC[个别文件可能出现后半段无画面有声音],其次是mpv[个别硬件平台可能出现有声音无画面的情况],另外mplayer也可以,但是这个软件几乎停止更新,界面不友好[而mpv是在mplayer基础上开发的新分支,可以看做mplayer第二版],这是几个真正支持网络在线播放的开源客户端,至于常见的pXXX-player 之类的,这个网络播放大部分只支持http,而且是伪在线播放,它的真实原理是利用你的磁盘做缓冲,将网络文件映射到本地,然后执行播放,因此不建议用这类播放器做网络播放.
在android平台,mpv是最优秀的流播放器[HTTP],其次是QQ浏览器自带的播霸[HTTP],注意不是QQ影音, QQ影音不支持流播放,反而是QQ浏览器自带的播放器能支持,吐血! 至于VLC android客户端,直到目前的2.0.6版本,始终存在bug,外部程序无法通过传递连接调用它[连接中的目录部分会被忽略],这个bug已经被人报告了长达2年,但是一直没有修复.其他例如mx player ,kodi之类的播放器也有很多,但是要么本身有广告,要么界面不够简洁,不符合我的使用要求,因此都被排除了.
乱七八糟写了一堆 , 可能把你看晕了 , 其实组建家庭影院系统很简单 ,1 组装一台节能的能放很多硬盘的大电脑 [ 调试完成后不需要显示器之类的外设 , 只需要一根网线 , 顶多加一个 usb 无线网卡用来支持应急远程关机 ] 2 买能够自己装软件的 android 5 以上版本的盒子 ,2g 内存优先 3 在需要的客户端 , 例如盒子 , 家用电脑 , 笔记本 , 平板等上面安装客户段软件和流播放器软件 4 设置参数进行调试 , 大功告成 , 享受吧 .