一、为什么是IJKPlayer
在基础技术方面,后端有比较成熟的系统,就不再说了,这里说说客户端方面。
有直播就会有弹幕,基本上是标配了。
字幕方面bilibili开源了一个Android的项目,不过IOS却没有,这个只能自己写了,不过本身这个东西技术方案没有什么太高深的东西,建立一个HTTP连接,不停地读数据就好了,如果关闭字幕,就把连接断掉。在显示方面可能要考虑一些细节问题,像速度、位置、字数限制、之类的。
播放器方面,Android和IOS理论上是原生支持HLS播放的,不过实际应用过程中适配问题比较多,所以业内一般都使用bilibili开源出来的IJKPlayer,像斗鱼TV之类的都是自己基于IJKPlayer改造的,技术方案比较成熟,稳定性方面比较可靠,使用起来也很简单,项目的编译脚本做的比较简单、灵活。
二、IJKPlayer的使用。
把项目Clone下来之后,首先要做的就是配置一下Codec,因为IJKPlayer使用ffmpeg做Codec,如果不裁剪一下,编出来的库会大的惊人。看一下config/module.sh,把不需要的codec注掉就OK了,我只使用了aac、H264两种。最后两个平台上面编出来都是大概有1M多,作为一个播放器来说,Size绝对很小了。
Android目前主流机器都支持ARMV7了,只编这一种也足够了,对IOS来说,ARMV7、ARMV7s、ARM64这几种都得支持