视频流媒体服务器中怎么下降直播出现的延迟现象?

我以前在不少文章中分享过咱们流媒体服务器如何优化直播体验,详细讲解了各部分形成低延迟和卡顿的缘由和相应的优化原理。实际上,音视频的直播系统是一个复杂的工程系统,要作到很是低延迟的直播,须要复杂的系统工程优化和对各组件很是熟悉的掌握。这里面咱们再分享几个简单而经常使用的调优技巧,你们要是遇到相似的问题能够先对照解决。缓存

EasyNVRAI智能云终端分析.png

编码优化

一、编码器通常都会有码控形成的延迟,通常也叫作初始化延迟或者视频缓存检验器 VBV 的缓存大小,把它当成编码器和解码器比特流之间的缓存,在不影响视频质量的状况下能够将其设置得尽量小也能够下降延迟。服务器

二、确保 Codec 开启了最低延迟的设置。Codec 通常都会有低延迟优化的开关,对于 H.264 来讲其效果尤为明显。若是你的视频不是使用 H.264 来编码压缩的,确保没有使用到 B 帧,它对延迟也会有较大的影响,由于视频中 B 帧的解码依赖于先后的视频帧,会增长延迟。优化

三、不要使用视频 MJPEG 的视频压缩格式,至少使用不带 B 帧的 MPEG4 视频压缩格式(Simple profile),甚至最好使用 H.264 baseline profile(X264 还有一个「-tune zerolatency」的优化开关)。这样一个简单的优化能够下降延迟,由于它可以以更低的码率编码全帧率视频。编码

传输协议优化

  1. 在服务端节点和节点之间尽可能使用 RTMP 而非基于 HTTP 的 HLS 协议进行传输,这样能够下降总体的传输延迟。这个主要针对终端用户使用 HLS 进行播放的状况。
  2. 若是终端用户使用 RTMP 来播放,尽可能在靠近推流端的收流节点进行转码,这样传输的视频流比原始视频流更小。
  3. 若是有必要,可使用定制的 UDP 协议来替换 TCP 协议,省去弱网环节下的丢包重传能够下降延迟。它的主要缺点在于,基于 UDP 协议进行定制的协议视频流的传输和分发不够通用,CDN 厂商支持的是标准的传输协议。

以咱们现有的科技水平,延迟的状况是不可避免的,咱们流媒体服务器也在尽力解决这个问题,目前以上的两种延迟优化方法均可以在咱们流媒体服务器上尝试解决。spa

NVR10.png

相关文章
相关标签/搜索