优势

领先的流媒体实时处理技术

很多直播场景都需要服务器端做实时转码,下面两类场景尤为典型:

  • 为适应不同的播放端能力及播放端网络带宽情况,需要将主播上传的视频流转码成多种码率的视频流;
  • 主播端使用手机推流,由于移动设备有限的计算资源,在上传到服务器后使用服务器强大的多核与集群能力,对视频码流进行二次压缩,以节省带宽和保障下行流畅性。

在服务端转码中,转码算法的优劣直接影响视频质量的高低。但是各种转码工具(B帧数目,参考帧数目,B帧决策策略,去除块效应策略,码率分配策略等)和参数对不同的场景有不同的效果。例如,美女直播与游戏直播就属于两类不同场景内容,应该使用不同的编码工具与码率控制策略。又如,美女直播的内容通过摄像头拍摄,摄像头捕捉时起到低通滤波器的作用,其边缘锐度被一定程度上光滑化,所以在转码时使用的去除块效应策略适当加强;相反,由于游戏视频是计算机合成的(synthesis)内容,其边缘往往非常锐化(比如文本内容),转码时需要适当弱化去除块效应滤波,因为去除块效应是个低通滤波器,较大的去除块效应强度会将游戏视频的边缘模糊化。

LSS基于大量视频数据,针对不同应用场景内容采用不同编码策略,取得了不错的视频提升效果。以下是通过默认编码策略和优化后的编码策略在同一个视频内容上转码效果:

对比可知,优化后的游戏场景编码策略很好的保持了文字及海藻部分的细节;从PSNR的对比来看,在同等码率即同等带宽损耗下,PSNR提高了1.4dB。

全球化的智能接流和分发网络

对于直播而言,流畅性分为两部分:

  • 上传流畅性:主播端实时上传视频到流媒体服务器的流畅性。
  • 下行流畅性:从流媒体服务器经过CDN边缘节点到达播放端的流畅性。

    在网络上,远距离通讯往往存在丢包问题,对于RTMP所使用的TCP/IP协议来说丢包所带来的影响很大,由于TCP/IP协议对网络丢包问题敏感,丢包将严重影响TCP协议发送窗口的变化。甚至在连续丢包重传时,由于重传机制采用指数退避算法,重传间隔时间呈指数上升,传输的数据吞吐量将严重下降。

市面上的直播解决方案都会采用CDN边缘节点来加速下行传输,而百度智能云视频云使用CDN来做下行的加速,同时提供主播端上行内容的加速。主播端通过DNS调度,自动找到离主播网络距离最近,同时处在同一ISP下的CDN节点来接受主播的推流,再通过流媒体服务器处理及CDN节点分发给观众端。

在下行的加速方面,传统的local DNS调度的方式只考虑了用户所设置的DNS的IP地址,容易造成不合理调度。例如,电信用户设置教育网的DNS地址后,播放器端会被调度到一个教育网的边缘节点,这种跨ISP的传输在丢包率和数据吞吐上很难保证。我们采用了HTTP-FLV的播放方式,使用HTTP 302的调度方式,当CDN节点收到播放端的播放请求,我们的服务会根据播放端实际的IP地址使用302返回码的形式将请求重定向到更合理的CDN边缘节点。

首屏秒开和追幀播放技术

首屏秒开是指在极短的时间内呈现直播画面以缩短用户的等待时间。LSS的首屏秒开核心技术有:

  • GOP缓存

    将当前直播帧所在GOP缓存在CDN节点的服务器上,当用户播放器接入该CDN节点上时,GOP数据被快速发送给播放器,播放器拿到GOP的第一个I帧后就可以独立解码并开始播放。

    由于播放器拿到的I帧不是当前最新的视频画面,所以GOP缓存客观上造成了额外的端到端延迟。例如,如果GOP长度是5秒,那么如果用户接入CDN时刚好当前视频帧是GOP的最后一帧,那么GOP缓存可能带来额外5秒的延迟,对于互动体验质量是极大的削弱。针对这一问题,我们发明了追赶播放专利技术解决。

  • HTTP-FLV播放

    FLV的视频格式是:FLV头+ Video/Audio tags,在播放器收到FLV头部数据后,其后续的Video/Audio tag可以边下载边播放,这样的特性也使得FLV格式可以用在视频直播上。

    相比于RTMP播放,FLV播放有两大优点:第一,FLV比RTMP需要更少的启播时间,FLV只需要一次HTTP请求,获得FLV头部数据后即开始下载播放,而RTMP播放要经过3次握手,还有其后connect和createStream等消息的交互后才能开始下载播放;第二,FLV播放使用80端口,对防火墙更加友好,而RTMP默认使用1935端口,在某些网络里会被防火墙屏蔽;第三,FLV播放由于使用HTTP链接,可以使用HTTP 302调度,使得播放端能被更精确地调度,以保障低延迟与高流畅的需求。

  • 追赶帧放降低时延技术

    前面提到GOP缓存会带来额外的端到端延迟。GOP越短,带来的端到端延迟影响越小。然而,短GOP在同等带宽损耗下却很损失视频质量。因为短GOP意味着更多I帧,由于I帧是自包含帧,没有利用帧间的相关性,所以压缩率相比P帧与B帧来说差很多,所以更多的I帧意味着需要的带宽更多。

视频场景 GOP长度为1秒 GOP长度为3秒
游戏视频 34.9 dB 36.5 dB
美女视频 42.6 dB 42.6 dB
电影 44.0dB 44.9dB

上表显示在同等带宽损耗下,不同的GOP长度(1秒和3秒)所取得的视频质量。这里视频质量用PSNR(峰值信噪比)来衡量,PSNR越高,视频的质量也越高。一般来说,在PSNR上0.5 dB的增益可以明显从视觉上看到视频质量的提高。从图上看到,3秒的GOP长度能比1秒的GOP获得大约从0.9 dB~2.0 dB的PSNR增益,从视觉上意味着获得了明显更好的视频质量。

为了在长GOP下保持低延迟,百度智能云发明了追赶播放的专利技术,来追赶播放当前最新帧之前的GOP缓存帧,以达到最小的端到端延迟。该技术利用RTMP/FLV封装协议及H.264/AVC编码标准,修改当前帧之前的GOP缓存的音视频数据,使得这些缓存数据在到达播放器的时候能快进播放,在时间线上赶上当前最新的直播内容。

追赶播放技术不仅用在首屏打开时的快进GOP缓存的数据,还用在RTMP/FLV播放时遇到累积延迟的情况。当CDN节点到用户播放器之间的最后一公里网络受到波动时,音视频帧数据累积在CDN节点上的队列内,当我们的程序探测到视频帧累积时,我们使用追赶播放技术修改队列中的音视频数据,使得当这些数据到达播放器能被快进播放,从而消除累积延迟。

领先的人工智能核心技术

基于百度图像识别、语音识别、自然语言处理、人脸检测、表情迁移和图像融合等人工智能核心技术,提供内容审核、视觉特效和实时美颜能力。

端到端全平台场景化SDK

提供从视频直播采集端到播放端一站式全套SDK及API,您可以根据实际业务需求将直播服务无缝对接到自己的业务平台,支持PC/Android/iOS/Web等各大主流平台。