前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >低延迟直播的实现方法

低延迟直播的实现方法

原创
作者头像
tenrail
修改于 2020-12-29 10:06:30
修改于 2020-12-29 10:06:30
4.6K0
举报

前言

近些年直播行业可谓是越来越火,英雄联盟的赛事直播、罗老师的直播带货、电商平台的购物节这些动辄就是几千万的流量,都是大家可以在日常生活中接触到的。可是无论哪种类型的直播,延时是直播过程中需要重点关注的一个点。直播实现低延迟,是对大部分直播产品的要求,也是提升直播产品用户体验最有效的一个方法。特别是体育赛事、直播互动、在线答题等场景对低延迟要求更高。今天简单跟大家介绍下如何直播如何实现低延迟。

如何判断直播延迟

我们判断直播延迟最简单的方法就是在推流端推一个标准时间的时钟画面,用推流端推流画面的时间减去拉流端播放画面的时间,这样就可以粗略的计算出直播延迟的大小。

播放端

推流端

直播延迟问题分析

首先,我们一起了解下直播产品的架构,来看看哪些模块可能会产生延迟,这里以腾讯云为例说明。

通过架构图可以看出直播经过的流程:画面采集→数据编码→视频处理→数据解码→播放

可能产生延迟的过程有:

①数据传输过程中的网络延迟

数据流的编码/解码耗时

③对直播流智能处理,如转码、水印、混流等产生的延迟

④直播推流、CDN缓存和播放器缓存带来的延迟

数据流的编码/解码延迟和智能处理耗时都是毫秒级的延迟,直播延迟主要还是来源于网络传输和业务缓存。

1、传输和访问延时

我们都知道数据在网络中传输,经过不同的地域不同的物理设备难免会造成延迟,如果在相同带宽环境下播放端距离推流端距离越近延迟就会越小,传输延迟不可避免。为优化访问延迟问题腾讯云在全球布置了1300+加速节点,通过海量加速节点,结合腾讯自研 GSLB 调度系统,使其用户可就近获取所需资源,避免网络拥堵、地域、运营商等因素带来的访问延迟问题,降低响应时间,提供流畅的用户体验。

2、直播缓存带的的延迟

为了保证直播的流畅度,推流端和拉流播放端都会缓存一些数据,当的网络质量不好时,直播流的数据推送拉取就会变慢产生阻塞,这时候数据就会积累到缓冲区导致延迟。

3、协议延时

目前常见的直播协议有三种:RTMP、 FLV 和 HLS。通常RTMP/FLV协议延迟在1~3秒,这两种协议延迟的主要因素是上面说的网络传输延迟和GOP的大小,三种协议的比较如下:

直播协议

优点

缺点

播放延迟

FLV

成熟度高、高并发无压力

需集成 SDK 才能播放

2s - 3s

RTMP

优质线路下理论延迟最低

高并发情况下表现不佳

1s - 3s

HLS(m3u8)

手机浏览器支持度高

延迟非常高

10s - 30s

FLV延迟一般在2-10秒左右,主要受GOP大小和TCP弱网传输积压影响。RTMP延迟和FLV差不多,服务器性能、客户端的缓存区长度、GOP这些指标会影响延迟,基于TCP传传输不会丢包,但当网络差的时候,服务器会将包缓存起来,导致累积的延迟。HLS的延迟更大,一般是几秒到几十秒,导致的因素主要是GOP大小和TS大小。HLS的工作原理是把整个流分成一个个小的TS文件,根据文件索引下载TS文件进行播放,每个TS文件的大小限制了它的延迟,很多播放器要等3个TS才播放,而3个TS可能就有几十秒了,所以HLS在标准直播中延迟最高。三种标准直播协议都是基于TCP的,TCP协议的特性(建立连接的三次握手、ACK机制、丢包重传等)导致了其延迟明显要基于UDP的私有协议,尽管当前QUIC的引入对弱网带来的延迟有一定的改善,但QUIC没有流媒体特性,就注定它不是低延迟直播的最佳解决方案。

直播延迟排查思路

如果想从本质上解决直播延时问题,还是要换成基于 UDP 的私有协议来传输数据。

正常情况下,使用 RTMP 协议推流并通过 FLV 协议播放,延迟在2秒 - 3秒左右,如果太长一般是有问题的。如果发现直播延迟时间特别长,可以按照如下思路来排查。

检查播放协议

如果播放协议采用的是 HLS(m3u8)协议,并感觉延迟较大,这个是正常的。 HLS 协议是苹果主推的基于大颗粒的 TS 分片的流媒体协议,每个分片的时长通常在5秒以上,分片数量一般为3个 - 4个,所以总延迟在20秒 - 30秒左右。

如果必须要使用 HLS(m3u8)协议,只能通过适当减少分片个数或者缩短每个分片的时长来降低延迟,但需要综合考虑对卡顿指标可能造成的影响。

尽量在客户端打水印

腾讯云直播支持在云端打水印,但是打水印会引入额外的1秒 - 2秒的延迟,所以如果使用的是腾讯云移动直播 SDK,可以选择直接在主播端 App 打上水印,这样就不需要在云端来打,从而减少水印造成的延迟。

检查推流端设置

如果发现在播放端延迟比较大,注意把关键帧间隔设置为1秒或2秒,也可以换用腾讯云的推流Demo对比下,排查看是不是推流端的编码缓存导致的延迟。

接入快直播

如果以上建议都不能满足您对延迟的要求,可以考虑接入腾讯云快直播,快直播比标准直播延迟更低,可以提供毫秒级的极致直播观看体验。能够满足一些对延迟性能要求更高的特定场景需求,例如在线教育、体育赛事直播、在线答题等。

腾讯云快直播

腾讯云快直播采用 UDP 协议将传统直播中3-5秒延迟降低至1秒以内 ,同时兼顾秒开、卡顿率等核心指标,给用户带来超低延迟直播体验。只需要升级播放端就可以从标准直播接入快直播,Web/H5端调用浏览器WebRTC接入快直播,App接入需要集成SDK。兼容了标准直播包括推流、转码、录制、截图、鉴黄、播放等全功能,支持客户能够从现有的标准直播业务平滑迁移。采用标准协议,对接简单,在 Chrome 和 Safari 浏览器中无需任何插件即可进行播放。播放协议默认加密,更加安全可靠。

接入入口:https://cloud.tencent.com/product/leb

Web Demo :http://webrtc-demo.tcdnlive.com/httpDemo.html

Android SDK及 Demo : https://github.com/tencentyun/leb-android-sdk

iOS SDK及Demo :https://github.com/tencentyun/leb-ios-sdk/

1、快直播延迟测试

我们可以登陆腾讯云控制台,在云直播的直播工具箱里有地址生成器,先生成一个推流地址,然后用腾讯云的推流工具直接扫码推流。

继续生成一个播放地址,播放地址类型选择UDP

最后我们就可以拿到WebRTC的播放地址去进行拉流测试了,下图是延迟测试的结果,可以看到延迟只有120ms比起标准直播的延迟可是低了太多了,极限延迟可以做到43ms,这个极限方案主要是给云游戏提供的,通过硬件编码的边缘编码处理的方式得以实现。

小结

今天给大家介绍了如何判断直播延迟、延迟产生的原因、排查方法以及腾讯云快直播低延迟解决方案,相信在这个过程中大家已经对直播延迟有一定的理解,以后遇到直播延迟问题也知道从哪里入手。关注小编让我们一起来学习更多的音视频知识吧!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
目前直播技术汇总及低延时直播的方案汇总
HLS:延迟主要来自编码解码时产生延迟、网络延迟、CDN 分发延迟。由于它是切片协议,延迟分两大块,一个是服务端有切片缓冲延迟,另一个是在播放端防抖缓冲会有延迟。切片的大小和数量都会 HLS 影响延迟大小,一般在十秒以上。
码客说
2021/01/20
6.6K0
目前直播技术汇总及低延时直播的方案汇总
腾讯云快直播——超低延迟直播技术方案及应用
随着直播业务的发展,在线教育,连麦直播、赛事直播等高实时性直播场景的出现,用户对于直播流畅度、低延迟等性能的要求愈加严苛。腾讯云直播技术高级工程师陈华成 从5G时代未来直播产品的发展趋势、直播行业业务新需求出发,分享腾讯云快直播(超低延迟直播)的建设方案、应用以及技术优势与优化实践。 文 / 陈华成 整理 / LiveVideoStack 大家好,我是腾讯云直播技术高级工程师陈华成,这次和大家分享的主题是腾讯云快直播——超低延迟直播技术方案及应用。主要涵盖以下四个方面:直播行业的背景;直播行业的现状
腾讯云音视频
2020/10/30
9.1K0
快直播-基于WebRTC升级的低延时直播
随着直播行业的快速发展,直播带货秒杀和在线教育答题等应用场景对直播延时的要求越来越严苛。今天的技术解码就由费伟老师为大家带来腾讯云在快直播方面的一些分享! 随着直播行业的快速发展,特别是在今年疫情的影响下,各种低延时的直播场景得到了爆发性发展。最典型的应用就是直播带货秒杀和在线教育答题。这些应用场景的核心需求就是实时音视频互动,而传统直播技术基于HLS、FLV/RTMP协议具有秒级别的延时,高延时是制约互动效果的关键因素。快直播就是针对传统直播协议高延时的痛点,基于WebRTC技术实现毫秒级延
腾讯云音视频
2020/12/14
6.9K0
视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等
本文由蘑菇街前端开发工程师“三体”分享,原题“蘑菇街云端直播探索——启航篇”,有修订。
JackJiang
2022/05/31
5.4K1
视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等
从0到1打造直播 App
概要 分享内容: 互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——…….。从直播1.0秀场时代(YY),2.0游戏直播(斗鱼、虎牙、熊猫)到如今全民直播3.0泛生活娱乐时代(映客、花椒),国外直播app(Meerkat 、Periscope),随着VA/AR/MR提出的沉浸式视听体验,直播4.0时代很快就能到来。 在这个全民娱乐的时代,直播已经火得不要不要的,各大公司都有自己的直播产品。本文主要从直播的一些基本知识,一步步打造直播app。直播那么火的背后有什么样的技术支撑呢? 先将这些A
腾讯Bugly
2018/03/23
3K2
视频直播基础知识
视频云,是以Paas服务模式,向开发者提供音视频编解码SDK和开放API,助力移动APP接入音视频功能,用户不需要后台开发和运维人员,就可以开发自己的视频网站或者移动APP应用。视频云主要使用的是流媒体技术,下面就来给大家介绍一下视频云相关的技术。
视频云直播helper
2019/02/22
8.3K0
视频直播基础知识
新知 | 流媒体源流常见问题与延迟分析处理
新知系列课程第二季来啦!去年的系列课,我们为大家介绍了直播、RTC、IM、媒体处理等音视频通信技术,这一次,我们将继续为大家带来全真互联时代下新的行业趋势、新的技术方向以及新的应用场景分享。今天,我们邀请到了腾讯云音视频技术导师——付秋平,他将结合实际案例,为大家介绍流媒体源流中常见的问题,以及延迟分析处理的方法。 今天的内容分为播放器播放流程、直播源流常见问题、直播延迟的产生与处理、WebRTC快直播四个部分。 播放器的播放流程,基本上是推流的逆向过程。推流端基于同一个时钟源进行音频和视频的采集,得
腾讯云音视频
2022/07/04
1.9K0
新知 | 流媒体源流常见问题与延迟分析处理
新知2023 | 打造“爆款”直播,音视频技术赋能直播时移、云端导播等“新玩法”
泛娱乐直播场景,一直是云直播的重要赛道之一。泛娱乐直播的兴起,也为更多人创造了施展自身才华的舞台。越来越多的人参与到直播当中,让直播成为了普遍的信息传播载体,深入到日常的生产生活之中,也直接推动了整个直播行业的发展。
腾讯云音视频
2023/11/11
7210
新知2023 | 打造“爆款”直播,音视频技术赋能直播时移、云端导播等“新玩法”
腾讯云快直播低延时播放质量的优化实践
直播已经潜移默化成为许多人日常生活密不可分的一部分。无论是紧张刺激的比赛直播,还是垂涎欲滴的美食直播,亦或者自卖自夸的购物直播,大家都不希望在观看时出现长时间的加载和卡顿,对一些需要观众及时反馈的直播场景,过高的延时也是用户不希望出现的。如何保证直播的快速、清晰、低延时成为各大厂商必须直面的难题。我们很荣幸地邀请到了腾讯云音视频的费伟老师来到LiveVideoStackCon 2022北京站介绍他们的解决办法。 文/费伟 编辑/LiveVideoStack 大家下午好,很高兴能参加LiveVideoStac
LiveVideoStack
2023/04/12
3.7K0
腾讯云快直播低延时播放质量的优化实践
腾讯视频云流媒体技术探索
  //   编者按:赛事直播场景与普通直播场景有一定差异,赛事直播场景对码率、画质、延时等性能要求更高。LiveVideoStackCon 2022 音视频技术大会上海站邀请到了腾讯专家工程师,媒体直播负责人——吴昊老师,为我们分享《腾讯视频云流媒体技术探索——赛事直播场景的技术优化》,他将介绍如何利用多路径传输、QoS控制,以及跨区调度和加速的能力,优化端到端的传输质量。在媒体处理和封装上,他将介绍通过多码率自适应、低延迟、多音轨、广告插入等技术,提升终端的播放体验,同时满足国内及海外不同场景的需求。
LiveVideoStack
2022/08/26
3.2K0
腾讯视频云流媒体技术探索
超低延时快直播快速升级&接入指引
随着直播行业的快速发展,直播带货秒杀和在线教育答题等应用场景对直播延时的要求越来越严苛,为了应对这种需求,腾讯云推出了快直播,快直播就是针对传统直播协议高延时的痛点,基于WebRTC技术实现毫秒级延时的直播产品方案。当前,快直播终于上线。快直播除电商带货和在线教育外,还能满足体育直播、游戏直播等各种能融合实时互动的直播场景需求。 现在直播行业大多数用的是标准直播,它的直播协议主要是FLV、HLS、RTMP。FLV延时一般在2-10秒左右,它的延时因素主要是GOP大小和TCP弱网传输积压。HLS的延时更
腾讯云音视频
2021/06/07
4K0
视频直播| 基础原理篇
一、直播难与易 `直播难`:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多, 视频/音频处理,图形处理, 视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。 `直播易`:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架, 就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。 二、直播相关概述 1.一个完整直播app功能 1、`聊天` 私聊、聊天室、点亮、推送、黑名单
進无尽
2018/09/12
7.3K0
视频直播| 基础原理篇
腾讯云低延时直播系统架构设计与弱网优化实践
http://scrmtech.gensee.com/webcast/site/vod/play-6ced83f94af24094b6d8329948addb09
LiveVideoStack
2020/06/11
3.7K0
腾讯云低延时直播系统架构设计与弱网优化实践
世界杯直播技术揭秘及视频云直播回源系统的应用
近些年,视频直播应用蓬勃发展,带宽也是日渐新高,腾讯云旗下的视频云直播为斗鱼、快手、虎牙、龙珠、CNTV广大的企业客户提供了很大的支持,在行业内起到了引领的作用。
用户2951495
2018/08/27
1.5K0
做一套像映客的直播App?看我就够了
本文来自简书JIAAIR,点击阅读原文查看完整文章! 一、直播现状简介 1.技术实现层面 技术相对都比较成熟,设备也都支持硬编码。IOS还提供现成的 Video ToolBox框架,可以对摄像头和流媒体数据结构进行处理,但Video ToolBox框架只兼容8.0以上版本,8.0以下就需要用x264的库软编了。 github上有现成的开源实现,推流、美颜、水印、弹幕、点赞动画、滤镜、播放都有。技术其实不是很难,而且现在很多云厂商都提供SDK,七牛云、金山云、乐视云、腾讯云、百度云、斗鱼直播伴侣推流端,功能
时见疏星
2018/06/01
1.4K0
新知 | 广电级媒体数字化转型直播技术及应用
新知系列课程第二季来啦!我们将为大家带来全真互联时代下新的行业趋势、新的技术方向以及新的应用场景分享。本期我们邀请到了腾讯云音视频技术导师——吴昊,为大家分享广电级媒体数字化转型中的一些直播技术及应用。 我们将结合赛事活动线上化的背景,分享如何提高赛事直播稳定性,并介绍播放端用户协议以及我们遇到的一些问题。最后还将简单介绍一些场景化的创新应用。 2020年以来,疫情改变了人们的生活和工作方式,越来越多的线下活动被搬到了线上。与此同时,人们对娱乐体育赛事的关注度也逐年增长。线上制作和直播成为了很多企业的
腾讯云音视频
2022/09/13
7890
新知 | 广电级媒体数字化转型直播技术及应用
企鹅电竞直播关键技术大揭秘
16年壮观的直播百团大战相信大家历历在目,至19年初所剩无几的直播寡头,来去如风的直播战场,离不开背后强大的直播技术支撑,本文通过直播基础技术介绍、剖析企鹅电竞直播构架、关键技术、常见问题排查、带领大家了解直播技术细节。 直播基础技术扫盲 分辨率 分辨率是度量位图图像内数据量多少的一个参数。通常表示成每英寸像素(Pixel per inch, ppi)和每英寸点(Dot per inch, dpi),包含的数据越多,图形文件的长度就越大,也能表现更丰富的细节。但更大的文件需要耗用更多的计算机资源,更多的内
腾讯移动品质中心TMQ
2019/05/31
5.3K0
企鹅电竞直播关键技术大揭秘
RTSP?不存在的 -> 前端实时流探索记
传送门:https://segmentfault.com/a/1190000022994032
ConardLi
2020/07/07
3.2K0
视频直播之基础原理
SDK(Software Development Kit): 软件开发工具包 CDN(Content Delivery Network):内容分发网络
全栈程序员站长
2022/09/15
3.2K0
视频直播之基础原理
移动直播技术知多少:基础原理解析 & 腾讯云直播接入
2020 年,由于新型冠状病毒疫情的爆发,视频直播互动更是一飞冲天,在网购、游戏、教育、金融等等方面都呈现爆发式发展。
开发的猫
2020/05/04
5.3K0
推荐阅读
相关推荐
目前直播技术汇总及低延时直播的方案汇总
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档