|
近年来,网络直播的应用已经非常普及。在这期间,几乎每个人都要问一个共同的问题:搭建直播运营平台需要哪些技术?
1.流媒体直播内容发布系统
对于这部分,用行业术语来说,就是直播流媒体服务器系统。该系统主要实现直播数据流的转发功能。如下图所示:
不要小看这个直播流媒体服务器,它是整个运营平台的核心部分。其性能和稳定性直接决定了核心业务平台的稳定性和运营成本。
2.流媒体内容分发系统
用行业术语来说,这就是流媒体CDN系统,可以在多个节点服务器之间自动分发直播内容,从而实现少量分发和全网播放,终端用户可以自动选择最近的服务器节点接收内容。
3.现场录制和点播审查系统
这部分功能实现起来比较简单,但是要实现更高的性能指标,我们还是需要投入大量的精力去深入开发。通常做直播录制的时候会想到ffmpeg,做点播观看的时候也会想到Apache或者Nginx。但是对于运营服务平台来说,如果没有稳定性保证,没有性能保证,那么你会发现运营成本会越来越高,运营效率会越来越低。
4.在线转码系统
该部分主要实现程序的多终端适配。当你使用PC终端将一个1080P高清节目推送到流媒体服务器时,服务器需要将其转换成适合PC、电视、手机的不同分辨率、不同码流的节目。在日常的节目编辑和格式转换中,我们经常会发现,在转码一个1080P高清节目时,使用搭载英特尔i7处理器的主机进行处理,非常耗费资源,转码速度极其缓慢。对于一个数千用户同时做直播的运营平台来说,压力更大。因此,我们必须找到更合理的解决方案,以实现更高的转码效率和合理的成本控制。
在行业内,目前最有效的解决方案不是使用大量的通用服务器加转码软件,而是使用GPU技术来加快转码速度。同时,还需要采用多进程模式,充分利用服务器的硬件资源,实现更高的性价比。
5.用户认证系统
在当前的政策环境下,每个人都需要对自己发布的内容承担法律责任。因此,平台应该为用户提供真实可靠的权限控制机制。任何人都不能发布超越自己权限的非法内容,也不能假借第三方的名义发布非法内容。
6.计费、支付和订单结算系统
直播中的每一个环节都会与资金流互动,比如主播的线上收入、主播与平台的资金结算、用户的充值和消费记录等。
这是业务支撑系统的核心,数据必须准确。由于与自身实际业务系统相关,该功能模块往往需要独立开发和实现。
7.内容审计系统
目前,国家对内容合规性审核的要求越来越严格。各大直播平台都建立了自己的直播业务内容审核团队。一般来说,内容审核是在节目制作完成之后,而直播平台的内容审核是在内容同步制作的过程中。
8.弹幕和在线互动聊天系统
稍微懂点技术的人可能会主观地认为弹幕和在线聊天应用实现起来非常简单,而且互联网上也有很多这方面的开源项目,比如Workerman软件,通常是基于Websocket的长连接来实现文字聊天功能,但是你会发现这款聊天服务器在windows平台下只能支持256并发。Linux下只能支持2000并发。
其次,应用层系统的技术实现。
1.电脑端流媒体工具
目前PC端直播流工具的开发是一个非常复杂的系统工程,涉及到很多专业技术,包括视频编解码技术、音频编解码技术、图像处理技术、多媒体打包技术、各种音视频的国际标准及实现、流媒体传输协议规范及实现、操作系统原理、C/C++语言编程等。
根据以往的项目经验,直播运营平台不建议在PC端从头开发直播流工具,耗时太长,与运营平台需要快速崛起的运营思路不符。最好找一个有实力的技术开发者做OEM定制开发来实现。
2.安卓端流媒体工具
目前安卓端直播工具有几个可行的实现案例,比如javavc、yasea等。,可以实现软编码和硬编码的RTMP协议流,开发者也可以根据Android SDK自主开发实现,难度不是特别大。
3.iOS流媒体工具
在这方面,苹果提供了更好的支持,可以使用iPhone的集成GPU对H.264硬件进行编码,相对容易实现。
4.安卓播放器
在这方面,你还需要熟悉专业的视音频编解码技术和流媒体传输协议,以及ffmpeg开源软件。刚起步的开发团队也可以参考其他第三方的集成播放器模块,比如ijkplayer或者OPlyaer。
5.iOS播放器
主要基于iOS系统本身的VideoToolBox开发,类似的参考项目有SGPlayer和ijkplayer。
6.HTML5播放器
HTML5网页播放器相对容易实现,当你了解HTML5技术发展的时候更容易实现。在安卓和iOS中很常见。此外,网上还有很多HTML5播放器的开源项目供参考。HTML5作为目前各大主流厂商支持的标准,未来肯定会是主流。
7.flash播放器
在最新版本的浏览器中,如Firefox和Chrome,默认情况下不再支持Flash播放器。此外,Adobe正式宣布将在2020年停止更新Flash播放器。未来所有厂商都会大力支持HTML5标准,所以Flash播放器可以不用重点开发。
8.用户认证系统
目前各大直播平台主要采用在线人脸识别认证。在这方面,阿里的芝麻信用平台提供了一个免费开放的接口,可以用于应用层的对接开发。
9.电脑端用户网站
PC端用户站点模板比较简单,2~3个月就能完成,主要是因为UI设计要有自己独特的功能。
10.手机APP
主要涉及安卓和iOS平台上的应用开发。HTML5可以用于UI设计和开发,集成流媒体和播放功能,然后在两个平台上打包。估计每个平台的app开发费用在20万元左右,两个app的开发投入在40 ~ 50万元。
第三,物理层服务节点的建设。
前两步,搭建好基础软件平台后,整个平台的大部分主要工作已经完成,接下来是服务节点的部署。
在服务器的选择上,可以选择同品牌的服务器进行后期维护。在设计时,我们必须考虑服务的冗余和灾难恢复,这一点非常重要。
声明:以上内容来源于网络,如有侵权请联系我们(123@shiyan.com)删除! |
|