运营级低延时网络直播平台建设解决方案
Posted 直播社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运营级低延时网络直播平台建设解决方案相关的知识,希望对你有一定的参考价值。
运营级低延时网络直播平台建设解决方案
【简介】
这是一篇专业的运营级低延时网络直播平台建设解决方案,适合进行直播平台建设的专业人士参考。
目 录
第1章 应用简介
当前,在一些特定的应用场景下需要实现端到端的低延时直播,比如赛事的实时直播、实时的游戏直播、实时的远程互动等场景。
在这些应用场景下,需要在网上收看的直播信号和现场收看到的信号保持同步,通常都需要端到端的直播延时控制在1秒以内,甚至是500ms以下,同时要支持多终端设备同步收看,包括PC终端、android移动终端,ios移动终端,手机微信端等。
因此,这种应用场景对直播延时有着极其高的要求,采用通用的直播平台技术是无法实现的,比如阿里、腾讯、金山、七牛、花椒、映客、快手、斗鱼、Vhall等直播平台的端到端延时通常都在3秒左右,而且他们在iOS终端上的延时更高,并且不支持在多终端上通过内置的浏览器低延时播放。所以,这种直播平台必须采用专业的技术自己搭建才能实现。
此外,对于运营级的视频直播发布平台来说,必须支持多服务器负载均衡和CDN分布式部署才能实现,我们的实现方案采用的是纯软件方式来自主实现负载均衡和CDN内容分发,这种方式比采用F5的负载均衡设备要节省十倍以上的成本,是真正适合大规模运营的可行性方案,其架构模式和优酷、腾讯视频、爱奇艺、抖音这种重量级的视频平台一样,同时具有超高的并发访问性能,单台服务器可以支持5000并发用户同时访问。
针对这种特殊应用场景,我们的方案采用如下方式来实现。
低延时直播系统原理图
该方案主要由四部分组成:
1. 低延时直播工作站
实现前端的信号采集和编码功能,该部分采用我们自己的专利技术来实现,主要用到低延时的直播编码技术和低延时的推流技术,在这个环节产生的延时低于50ms;
2. 低延时直播服务器
实现直播数据流的实时转发,在这部分我们采用如下自主核心技术来实现。
1)超低数据缓存技术
服务器接收到前端编码器推送过来的数据流以后,只缓冲几帧图像就开始转发数据给下级服务器或者客户端播放器;
2)高性能流媒体处理技术
对于实时的流媒体数据流,我们采用自主技术对音视频数据进行解封装,然后再按照用户需要的格式进行快速打包封装,同时采用多线程异步处理机制来进行大数据量的处理。该功能模块采用C++语言编码实现,具有极高的运行效率,单台普通配置的硬件服务器可以支撑2000并发用户访问。
3. 低延时CDN分发服务器
在大规模分布式应用场合,需要部署CDN内容分发系统来承载数量更大、分布范围更广的用户访问。同时,根据特定的应用需求,我们不能采用市面上通用的CDN系统来实现内容的分发(比如Akamai、Amazon、网宿、帝联、蓝汛、阿里、腾讯),因为他们的CDN平台是为通用场景开发的,直播数据的分发延时通常都在3秒以上。因此这个低延时的直播CDN系统必须自建。
这里,我们用到的专利技术主要包括:
- 基于UDP的低延时流媒体数据转发技术;
- 多服务器负载均衡技术;
- 智能路由技术;
4 . 低延时终端播放器
这是控制直播延时的一个关键环节,因为前面诸多环节即使延时控制得很低,在这个环节一旦产生较大的数据缓存,就会严重影响整个系统的效率。因此,在这个终端播放环节我们开发了自主实现的视频播放器,从而有效控制终端的解码延时。
在这里,我们用的的核心技术包括:
1. 超低数据缓存技术
播放器端接收到数据流以后,只缓冲几个关键帧就将音视频数据送给解码器;
2.实时解码技术
解码器接收到音视频数据后,立刻启动解码功能进行音视频的解码;
3.多终端适配技术
针对当前主流的客户端设备,我们开发了终端自适应播放插件,可以兼容PC端的主流浏览器(Fifrfox、Chrome、Safari、IE),Android端的html5浏览器、iOS端的HTML5浏览器、微信客户端。
方案架构图:
第3章 平台的建设和部署
在平台的建设环节,主要包括如下具体工作:
信号源可以是高清摄像机、电脑游戏画面、电视画面等。
3.1.2 现场直播工作站
该设备用来实现节目源信号的实时采集、编码和推流功能,要保障直播采集的画面清晰,同时延时很多(50ms以内)。
该工作站硬件可以采用通用的PC机、工控机或者服务器来实现,工作站上安装高清视频采集卡。同时,安装我们提供的低延时直播采集编码软件。
注意:不能采用OBS或者其它类型直播软件, 那些都无法做到低延时的直播。
3.2 低延时直播服务器
服务器硬件方面:
该服务器可以采用通用品牌的服务器,比如DELL、HP、IBM、联想、浪潮等,
也可以租用网络服务器或者云服务器,比如从Amazon、阿里云、腾讯云或其它网络服务器提供商那里租用服务器。
低延时直播服务器配置要求:
CPU: Intel EXON E5-2650
内存:>16GB
硬盘:>1TB
操作系统:CentOS 7.4 X64
出口带宽:>100Mb/s
应用软件:低延时流媒体直播服务系统
3.3 低延时CDN分发服务器
用来组建CDN内容分发网络,从而为终端用户提供更好的服务质量。
CDN服务器主要用来实现直播数据流的转发和直播负载发布功能,它一端连接低延时直播服务器源站,接收源站直播服务器分发过来的节目源;一端连接终端用户,为终端用户提供实时的直播内容服务。因此,该服务器上部署有CDN内容分发软件系统和低延时流媒体直播服务系统。同时,(Q,1918098288)多台分布式部署的CDN服务器组成一个CDN内容分发网络,多台服务器之间可以实现负载均衡,共同为分布在各地的用户提供更可靠的服务。
低延时CDN服务器配置要求:
CPU: Intel EXON E5-2650
内存:>16GB
硬盘:>1TB
操作系统:CentOS 7.4 X64
出口带宽:>100Mb/s
应用系统:低延时流媒体直播CDN系统
3.4 低延时播放终端
用于实现多终端上的视频回放功能。这部分是一套软件系统,以按需加载方式在多终端上运行,无需事先安装。
第4章 平台的技术指标
4.1 直播延时指标
在同一电信运营商网络环境下,端到端的直播延时通常在500ms以内;
在跨国电信运营商网络环境下,端到端的直播延时通常在800ms以内;
经过实际测试,我们的低延时直播服务器软件系统的并发性能指标如下:
服务器硬件配置环境:
CPU:Intel E5-2650
内存:16GB
硬盘:120GB固态硬盘
网卡:Intel X520-SR2 万兆光纤网卡x5
服务器操作系统:
CentOS x64 7.4
直播码流:2Mb/s
图像分辨率:1280x720
视频编码格式:H.264 Main Profile
并发性能指标:3500并发直播接收
峰值CPU占用率:42%
平均CPU占用率:35%
平均内存占用率:36%
5.1 平台建设周期
本着节省投资,逐步投入,按需扩容的原则,前期规模较小的情况下,我们主要完成基础功能模块的搭建,不进行CDN系统的建设,这种情况下平台建设的主要工作内容如下:
选择好直播场地以后,准备好直播信号源。如果需要用摄像机采集画面,需要将摄像机采用三脚架、吊顶或者壁挂方式进行安装,调整好方位和焦距。
可以自行采购i7以上的PC机或者工控机,以及服务器,然后根据直播的信号源数量采购相应的高清视频采集卡,安装好Windows 7 64位以上版本的操作系统,装好采集卡驱动程序。
购买或者租用硬件服务器,将服务器托管到电信机房,安装好服务器端操作系统环境,并且配置好网络。
用户准备好服务器硬件环境以后,我们为其部署应用系统软件,安装和调试的时间在1天以内。
安装和部署直播发布管理平台和在线实时文字聊天互动系统,安装和调试的时间在2天以内。
平台部署好以后,我们提供移动端的播放器和节目调用接口,由平台运营方来将其整合到自己开发的专用APP中。
以上工作完成后,进行平台的整体联调和测试工作,对发现的问题进行纠正,这部分工作大概需要2~7天时间。
5.2 平台建设费用
整个平台的建设中,我们主要提供所需的软件部分,费用包括以下几部分:
序号 | 模块名称 | 授权模式 | 单价 | 数量 | 合计 |
1 | 直播工作站采集编码软件 | 买断 | X千元/台 | N台 | X千元xN |
2 | 低延时流媒体直播服务系统 | 买断 | X万元/服务器 | N台 | X万元xN |
租用 | X千元/月 | N台 | X千元xN | ||
3 | 直播CDN服务系统 | 买断 | X万元/服务器 | N台 | X万元xN |
租用 | X千元/月 | N台 | X千元xN | ||
4 | 高并发实时消息系统软件 (用于实时聊天互动) | 买断 | X万元/服务器 | 1台 | X万元 |
租用 | X千元/月 | 1台 | X千元/月 | ||
5 | 直播内容管理和发布系统软件 | 免费提供 | 免费提供 | 1套 | 免费 |
6 | H5端播放器 | 免费提供 | 免费提供 | 免费提供 | |
7 | 移动终端APP定制开发 | 定制开发 | 3000元/人·天 |
技术交流:请发站内信。
以上是关于运营级低延时网络直播平台建设解决方案的主要内容,如果未能解决你的问题,请参考以下文章
转载博客:srt-live-server:一款基于SRT的毫秒级低延时直播服务器