视频直播 > 最佳实践 > 如何降低延时
如何降低延时?
更新时间:2020-09-17 18:51:14
本页目录
- GOP 帧设置
- 服务器缓存设置
- 确认使用的播放协议
按正常情况,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 浏览器上都是不支持的。
上一篇:鉴权代码示例
视频直播 > 最佳实践 > 如何降低延时相关推荐
- 《程序员》9月:视频直播技术实践 分布式数据库华山论剑
本期<程序员>封面报道,带来了以下实践分享: 视频直播技术实践 视频直播服务如何平稳应对热门节目带来的瞬时大流量访问?提升直播体验的互动功能具体如何实现?手机与服务器端各有哪些技术难点?熊 ...
- 实现延迟低于500毫秒的1080P实时音视频直播的实践分享
1.前言 实时视频直播是很多技术团队及架构师关注的问题,在实时性方面,大部分直播是准实时的--存在 1-3 秒延迟.本文分享将1080P高清实时视屏直播延迟控制在 500ms 的背后的技术挑战以及实践 ...
- 视频直播点播平台EasyDSS降低视频流直播延迟的2种方法
视频直播点播平台EasyDSS支持一站式的上传.转码.直播.回放.嵌入.分享等功能,在推流上,可支持手机推流短视频.音乐等音视频文件,提供多种上传方式,支持批量上传.大文件上传.平台视频功能具备超低延 ...
- 基于WebRtc在H5视频聊天、视频教学、视频会议、视频直播、白板互动低延时方案
随移动互联应用加快,4G,5G网络上马,低延时网络视频应改越来越走近生活,在教学,会议,在线医疗,招聘交友及时视频要求高等场景需求越来越大,传统基于rtmp直播应用已经大量应用在各个方向,由于rtmp ...
- 打造极致体验:字节跳动亿级 DAU 背后的音视频技术最佳实践
点击[阅读原文]也可报名哦-
- 阿里云发布行业首个「视频直播技术最佳实践图」!
2022阿里云直播峰会于7月8日落下帷幕,多位直播产业领域技术专家与行业先行者,共同探讨超视频化时代直播技术的演进趋势与未来发展. 此次大会,重磅发布了行业首个「视频直播技术最佳实践图」,将直播技术归 ...
- 视频直播网站开发的最佳实践
随着互联网技术的不断发展,视频直播成为了网络世界中的一股热潮.无论是企业还是个人,都可以通过搭建自己的视频直播网站来实现自己的目标.但是,对于很多企业来说,视频直播网站的开发是一项复杂的任务.因此,本 ...
- 边缘计算在视频直播场景的应用与实践
9月24日,火山引擎开发者社区第九期 Meetup 圆满落幕,来自腾讯云.七牛云.火山引擎的技术专家从抖音同款 RTC 能力.直播系统架构.边缘计算服务.视频云存储等方面为大家详细介绍直播创新玩法下的 ...
- 深度解读:阿里云视频直播功能升级
2022年注定是体育超级大年,冬奥.亚运会.大运会.世界杯等各类大型体育赛事应接不暇.随之而来便是各类赛事直播,客户对直播服务要求变得越来越高,视频直播技术创新显得格外重要.如何利用直播技术创新降低线 ...
- 视频直播技术分享:一文读懂主流视频直播系统的推拉流架构、传输协议等
本文由蘑菇街前端开发工程师"三体"分享,原题"蘑菇街云端直播探索--启航篇",有修订. 1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方 ...
最新文章
- CStringArray序列化处理
- Hyperledger Fabric 1.2 --- Chaincode Operator 解读和测试(一)
- Java服务框架分析
- [AX]AX2012 SSRS报表使用Report Data Method
- 交大计算机学硕往年录取情况,上海交通大学2020年考研报录情况汇总及分析
- matlab编写识别手写数字_使用PYNQ搭建手写数字识别工程小白级说明(完整版)
- python三种等待方式_Python selenium 三种等待方式详解
- 集合数组集合ArrayList
- redis 内存碎片清理
- 维纳滤波及其简单实现
- 原生js实现多语言切换
- jetbrains验证服务器,搭建个人jetbrains授权服务器
- 关于华为应用市场审核App无法启动的问题
- linux cenos7搭建lvs,CentOS7 搭建LVS+keepalived负载均衡
- HtmlEditor在线编辑器V3.0提供
- 【问题解决】HOST_JUJU_LOCK_PERMISSION 。。
- Java程序猿搬砖笔记(七)
- Python数据分析学习系列 十一 时间序列
- 【密码专栏】动手计算双线性对(下)
- C#与三菱PLC以太网通讯程序上位机源码 通过3E帧SLMP MC协议与三菱FX5U Q系列PLC通讯
热门文章
- python getattr函数_python中getattr函数 hasattr函数
- 解析 URL Params 为对象
- 本人薛广涛,2004年毕业于上海交通大学计算机系软件与理论专业,上海交通大学计算机科学与工程系(CSE)...
- html导入有道云笔记,有道云笔记批量导入到showdoc(一)
- mysql linux 用户_Linux mysql添加用户,删除用户,以及用户权限
- linux es数据库 head,centos7安装Elasticsearch及Es-head插件详细教程(图文)
- oracle 中WITH AS,oracle的with as用法
- mysql连接池源码_一个JAVA数据库连接池实现源码
- java foreach多线程_java关键字(一)
- scrapy python下载图片_使用Scrapy自带的ImagesPipeline下载图片,并对其进行分类。