直播系统源码:教您如何快速搭建上线运营

2018-10-18 15:05:22 admin 0

现在手机直播异常火爆,比如我们大家所熟知的秀场手机直播(YY、六间房);游戏手机直播(熊猫TV、虎牙直播、龙珠直播);移动手机直播(映客、花椒);在线手机教育直播(腾讯课堂、百度传课、淘宝同学)。如何快速的搭建一套完整的直播系统源码,下面小编就简单从流媒体、cdn和手机端为大家说一下。

第一步,手机直播流媒体发布

流媒体发布这个环节对于整个手机直播来说也是至关重要,因为最终面向终端用户提供服务的是分布在全网的流媒体服务器,流媒体服务器的稳定性以及性能优劣决定着终端用户的体验效果和手机直播平台的运营成本。根据之前做IPTV的经验,我们在这个项目中选择的技术路线还是自行开发,当然还是基于之前做IPTV流媒体服务器的基础来做,核心技术点又有如下的改进:

1.流媒体服务器还是采用C语言实现,保障运行效率最高;

2.将之前的多进程模型改成异步IO模型,提高服务器的并发处理性能;

3.在协议层上增加对RTMP、HLS协议的支持;

4.引入hadoop这一分布式架构,便于大规模分布式部署、调度和容错;

通过这些改进,流媒体服务器的整体性能又会有一个质的飞跃。

q1.png

第二步,手机直播CDN内容分发

这方面是我的业务特长所在,与我之前做IPTV平台的技术路线相同,主要是对手机直播流媒体数据在全网范围内的多个节点之间进行快速的分发,从而提高终端用户的体验效果。

在协议的选择上,我们根据手机直播和点播应用的特点,支持RTMP协议、HTTP协议、UDP协议这三个类型。

节点服务器的建设方面,我们根据国内互联网的整体布局,采用中心节点->各省级节点->地市级节点 三级架构模式,把主要的用户流量首先引导到第三级节点,然后是第二级节点,之所以这样设计,主要因为越到中小城市,带宽价格越低,这样可以极大地节省后期的运营成本。

为了保障平台运行的稳定性,我们将CDN系统部署在64位Linux服务器上,与爱奇艺、优酷、腾讯这几类大的视频门户技术架构相同。

按照公司业务规划,我们前期先部署一、二级节点,做到每个省会城市都有一个CDN分发节点,每个二级节点有3台以上的服务器组成分发集群。

第三步,手机直播终端播放器开发

在终端的解码回放部分,我们考虑自行开发Android和iOS两个终端的播放器,由于两种终端采用不同的操作系统平台,因此我们成立了两个开发小组来分别完成,下面讲一下技术路线:

iOS端:

iOS端的播放器也是基于同样的考虑,我们选择了苹果提供的VideoToolbox开发接口,通过它可以直接调用苹果处理器自带的硬件解码功能,这样可以大大降低设备的功耗,延长电池的续航时间。

Android端:

Android端的播放器开发我们首先考虑到的是终端的解码性能,因为解码框架有多个可选,比如FFMPEG、VLC、MediaPlayer API、Exoplayer等,从我们自身的熟悉程度和项目的可控性上考虑。

经过团队艰苦奋战,云豹手机直播系统源码全面升级,从性能测试上看,我们的技术路线是正确的,因为整体性能比爱奇艺、腾讯、优酷这些同行业兄弟站点高出了20%左右,而且资金投入上并没有高于其他平台,反而比他们还要低。而且,在整个手机直播系统的架构上,我们还考虑到了向后的兼容性和可升级性,这就意味着手机存储成本降低一半,还能够将带宽消耗降低一半,这无疑会为将来的运营节省大笔开支。最新的市场动态还请关注宸旭科技。