我以前在不少文章中分享过咱们流媒体服务器如何优化直播体验,详细讲解了各部分形成低延迟和卡顿的缘由和相应的优化原理。实际上,音视频的直播系统是一个复杂的工程系统,要作到很是低延迟的直播,须要复杂的系统工程优化和对各组件很是熟悉的掌握。这里面咱们再分享几个简单而经常使用的调优技巧,你们要是遇到相似的问题能够先对照解决。缓存
一、编码器通常都会有码控形成的延迟,通常也叫作初始化延迟或者视频缓存检验器 VBV 的缓存大小,把它当成编码器和解码器比特流之间的缓存,在不影响视频质量的状况下能够将其设置得尽量小也能够下降延迟。服务器
二、确保 Codec 开启了最低延迟的设置。Codec 通常都会有低延迟优化的开关,对于 H.264 来讲其效果尤为明显。若是你的视频不是使用 H.264 来编码压缩的,确保没有使用到 B 帧,它对延迟也会有较大的影响,由于视频中 B 帧的解码依赖于先后的视频帧,会增长延迟。优化
三、不要使用视频 MJPEG 的视频压缩格式,至少使用不带 B 帧的 MPEG4 视频压缩格式(Simple profile),甚至最好使用 H.264 baseline profile(X264 还有一个「-tune zerolatency」的优化开关)。这样一个简单的优化能够下降延迟,由于它可以以更低的码率编码全帧率视频。编码
以咱们现有的科技水平,延迟的状况是不可避免的,咱们流媒体服务器也在尽力解决这个问题,目前以上的两种延迟优化方法均可以在咱们流媒体服务器上尝试解决。spa