如何降低直播延时?

简介: 按正常情况,RTMP 推流 + FLV 播放的正常延迟在 2-3s 左右,如果太长则是有问题的。如果您发现直播延迟时间特别长,可按照如下思路来排查: 以下方法仅适用于 RTMP 与 FLV 阿里云提供 FLV、HLS、RTMP 三种播放协议,不少用户采用 HLS 的播放协议。

按正常情况,RTMP 推流 + FLV 播放的正常延迟在 2-3s 左右,如果太长则是有问题的。如果您发现直播延迟时间特别长,可按照如下思路来排查:

以下方法仅适用于 RTMP 与 FLV

阿里云提供 FLV、HLS、RTMP 三种播放协议,不少用户采用 HLS 的播放协议。HLS 是苹果研发的协议,对浏览器兼容较好,并且跨终端的支持。是很多用户的首选。但是 HLS 本身机制的问题,是基于大颗粒的 TS 分片的流媒体协议,每个分片都有 5s 以上的时长,分片数量一般为 3-4 个,所以总延迟在 20-30s 左右。很多用户通过设置 TS 切片的时间来减少延时,虽然能有效的减少一些延时,但基于协议本身的特性也无法像 rtmp 与 flv 协议一样将延迟降低到很低。

GOP 帧设置

GOP 帧是视频的关键帧,是一组连续的画面,由一张 I 帧和数张 B / P 帧组成,是视频图像编码器和解码器存取的基本单位,它的排列顺序将会一直重复到影像结束。直播会将每一帧数据打上时序标签后进行在网络上进行传输,减少 GOP 帧的数量,减少播放器加载 GOP 帧所用的时间。一般情况下设置为 1-2s。

服务器缓存设置

一般情况服务器会先缓存一部分直播数据,在将数据通过网络传输至终端。这样能保证数据传输的流畅性,有缓存数据也就会造成一定的直播延时,对直播要求较高的场景就会要求将缓存调小已达到较小的延迟。

当然,相对应的缓存越小,当网络环境不好是,数据无法及时的下载,就会出现卡顿的现象。

确认使用的播放协议

不少用户播放协议采用 HLS(m3u8),并感觉延迟较大,这是正常的。苹果主推的 HLS 是基于 TS 分片文件的流媒体协议,每个分片都有 5s 以上的时长,分片数量一般为 3-4 个,所以总延迟基本都在在 20-30s。

换用 FLV 作为播放协议即可解决这个问题。但是要注意,如果您要在手机浏览器上观看直播视频,只有 HLS (m3u8) 这一种播放协议可以选择,其它的直播协议在苹果的 Safari 浏览器上都是不支持的。

0.1元开启直播之旅

image
开年采购季,为了让更多用户能够体验和享受到视频直播云服务的便利,视频产品推出了0.1元体验包,配置清单如下:
image

点击了解活动详情

目录
相关文章
|
9月前
|
人工智能 编解码 芯片
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
不会向ai提问,不知道怎么提问的 可以看看
20950 1
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
|
缓存 JavaScript UED
|
缓存 应用服务中间件 Apache
HTTP 范围Range请求
HTTP范围请求是一种强大的技术,允许客户端请求资源的部分内容,提高了传输效率和用户体验。通过正确配置服务器和实现范围请求,可以在视频流、断点续传下载等场景中发挥重要作用。希望本文提供的详细介绍和示例代码能帮助您更好地理解和应用这一技术。
823 19
|
人工智能 小程序 UED
【一步步开发AI运动小程序】十六、AI运动识别中,如何判断人体站位?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,本地引擎无需后台支持,具备快速、体验好、易集成等优势。本文介绍如何利用插件的`camera-view`功能,通过检测人体站位视角(前、后、左、右),确保运动时的最佳识别率和用户体验。代码示例展示了如何实现视角检查,确保用户正或背对摄像头,为后续运动检测打下基础。
|
机器学习/深度学习 人工智能 算法
【AI系统】AI 编译器后端优化
AI编译器采用多层架构,首先通过前端优化将不同框架的模型转化为统一的Graph IR并进行计算图级别的优化,如图算融合、内存优化等。接着,通过后端优化,将优化后的计算图转换为TensorIR,针对单个算子进行具体实现优化,包括循环优化、算子融合等,以适应不同的硬件架构,最终生成高效执行的机器代码。后端优化是提升算子性能的关键步骤,涉及复杂的优化策略和技术。
640 3
拜耳中国和阿里云达成战略合作
拜耳在第七届进博会上宣布,其中国处方药事业部将全面采用“阿里云上的Salesforce”解决方案,推出OPERA 2.0客户互动平台。
|
Java 应用服务中间件 Spring
记录SpringCloudGateway的一个隐藏问题
线上生产环境中,一个SCG接口偶发性出现“Connection reset by peer”错误。排查发现问题是由于Netty的HTTP客户端连接池保持了已由服务端关闭的连接。解决方案是配置连接池以在超时后回收连接(超时时间应小于Tomcat的连接超时时间),并考虑将连接池获取策略从FIFO改为LIFO,以减少使用无效连接的可能性。通过修改Spring Cloud Gateway的HTTP客户端连接池配置和添加JVM启动参数可以实现这一修复。
4219 1
|
数据处理 索引 Python
Pandas常见问题与解决方案:避开数据处理中的坑
【4月更文挑战第16天】本文总结了Pandas数据处理中的常见问题及解决方案:1) 数据类型不匹配,使用`astype`转换;2) 缺失值处理,用`dropna`删除或`fillna`填充;3) 内存占用过大,通过选择性加载列、指定`dtype`和使用`chunksize`分块处理;4) 合并数据问题,确保键匹配和正确合并方式;5) 排序和分组聚合错误,使用`sort_values`/`sort_index`和`groupby`配合聚合函数。掌握这些技巧可提高数据处理效率。
|
Linux 数据安全/隐私保护 Android开发
哪家好用?四款国内外远程桌面软件横测:ToDesk、向日葵、TeamViewer、AnyDesk
远程桌面软件对于职场人来说并不陌生,可以说是必备的办公软件之一。在经历过新冠疫情后,大家对于远程办公的认识越来越深入,也就在这段期间,远程桌面软件大范围的应用起来,真正走进大众视野并融入我们的工作和生活。 为了方便远程办公协作,国内外出现了很多远程桌面软件,结合功能实用性和价格优势,我总结了目前主流的四款:ToDesk、向日葵、TeamViewer、AnyDesk,逐个测评下它们的功能和使用感受,用最直白的话告诉你实际的体验,帮助你找到最适合你的远控软件。
|
XML JSON 前端开发
你知道 XHR 和 Fetch 的区别吗?
你知道 XHR 和 Fetch 的区别吗?
1743 1