如何降低ffmpeg推流rtmp的延时

要降低ffmpeg推流RTMP的延时,可以采取以下几种方法:

  1. 减小视频编码延迟:使用更低的视频编码参数(如分辨率、比特率和帧率),可以减小编码延迟,从而降低推流延迟,但是需要注意的是降低编码参数可能会降低视频质量
  2. 使用低延迟编码器:选择支持低延迟的编码器,例如H.264的baseline profile或者H.265的main profile,这些编码器通常具有更低的编码延迟
  3. 调整GOP大小:GOP是一组连续的视频帧,在推流时,较小的GOP大小可以减小视频帧之间的依赖关系,从而减小延迟,可以设置-g参数来调整GOP大小,例如: -g 60:设置 GOP(关键帧间隔)为 60 帧(若帧率 30fps,则每 2s 一个关键帧)
  4. 优化拉流端的缓冲:播放端的jitbuffer设置可以影响延时。如果希望实现低延时,可以适当减小Jtbuffer的大小,以便更快地播放数据,但是减小Jtbuffer可能会增加对网络波动的敏感性

具体参数设置可以参考这个,推流能做到延时1.5s以内