按正常情况,RTMP 推流 + FLV 播放的正常延迟在 2-3s 左右,如果太长则是有问题的。如果您发现直播延迟时间特别长,可按照如下思路来排查:
一、协议选择
直播播放提供 FLV、HLS、RTMP 三种播放协议,不少用户采用 HLS 的播放协议。
HLS 是苹果研发的协议,对浏览器兼容较好,并且跨终端的支持。是很多用户的首选。
但是 HLS 本身机制的问题,是基于大颗粒的 TS 分片的流媒体协议,每个分片都有 5s 以上的时长,分片数量一般为 3-4 个,所以总延迟在 20-30s 左右。
很多用户通过设置 TS 切片的时间来减少延时,虽然能有效的减少一些延时,但基于协议本身的特性也无法像 rtmp 与 flv 协议一样将延迟降低到很低。
二、GOP 帧设置
GOP 帧是视频的关键帧,是一组连续的画面,由一张 I 帧和数张 B / P 帧组成,是视频图像编码器和解码器存取的基本单位,它的排列顺序将会一直重复到影像结束。
直播会将每一帧数据打上时序标签后进行在网络上进行传输,减少 GOP 帧的数量,减少播放器加载 GOP 帧所用的时间。一般情况下设置为 1-2s。
三、服务器缓存设置
一般情况服务器会先缓存一部分直播数据,在将数据通过网络传输至终端。这样能保证数据传输的流畅性,有缓存数据也就会造成一定的直播延时,对直播要求较高的场景就会要求将缓存调小已达到较小的延迟。
当然,相对应的缓存越小,当网络环境不好是,数据无法及时的下载,就会出现卡顿的现象。
网友回复
阿里云ESA、cloudflare worker、腾讯云EdgeOne网站代理托管哪家更好?
剪映能打开.fcpxml格式的文件吗?
增量式编码器与绝对式编码器的区别是啥?
有没有开源的单张照片或者序列帧图片或视频就能重建4d场景动画项目?
chrome网页突然报错:错误代码:RESULT_CODE_KILLED_BAD_MESSAGE
openai的codex如何全程无需手动确认自动修改文件?
阿里云oss前端上传文件直传如何限制文件类型?
阿里云oss前端获取policy签名直传oss上传文件回调如何传?
如何将根据三维物体通过提示词变成可交互的4d场景动画?
浏览器中实时摄像头离线视觉ai模型有吗?


