Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >低延迟直播的实现方法

低延迟直播的实现方法

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

前言

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

如何判断直播延迟

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

播放端

推流端

直播延迟问题分析

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

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

可能产生延迟的过程有:

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

数据流的编码/解码耗时

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

④直播推流、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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
腾讯云快直播——超低延迟直播技术方案及应用
随着直播业务的发展,在线教育,连麦直播、赛事直播等高实时性直播场景的出现,用户对于直播流畅度、低延迟等性能的要求愈加严苛。腾讯云直播技术高级工程师陈华成 从5G时代未来直播产品的发展趋势、直播行业业务新需求出发,分享腾讯云快直播(超低延迟直播)的建设方案、应用以及技术优势与优化实践。 文 / 陈华成 整理 / LiveVideoStack 大家好,我是腾讯云直播技术高级工程师陈华成,这次和大家分享的主题是腾讯云快直播——超低延迟直播技术方案及应用。主要涵盖以下四个方面:直播行业的背景;直播行业的现状
腾讯云音视频
2020/10/30
9.4K0
视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等
本文由蘑菇街前端开发工程师“三体”分享,原题“蘑菇街云端直播探索——启航篇”,有修订。
JackJiang
2022/05/31
5.5K1
视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等
视频直播技术大全、直播架构、技术原理和实现思路方案整理
原文链接:https://blog.csdn.net/zgpeace/article/details/108552358
全栈程序员站长
2022/09/15
5.2K0
视频直播技术大全、直播架构、技术原理和实现思路方案整理
腾讯视频云流媒体技术探索
  //   编者按:赛事直播场景与普通直播场景有一定差异,赛事直播场景对码率、画质、延时等性能要求更高。LiveVideoStackCon 2022 音视频技术大会上海站邀请到了腾讯专家工程师,媒体直播负责人——吴昊老师,为我们分享《腾讯视频云流媒体技术探索——赛事直播场景的技术优化》,他将介绍如何利用多路径传输、QoS控制,以及跨区调度和加速的能力,优化端到端的传输质量。在媒体处理和封装上,他将介绍通过多码率自适应、低延迟、多音轨、广告插入等技术,提升终端的播放体验,同时满足国内及海外不同场景的需求。
LiveVideoStack
2022/08/26
3.3K0
腾讯视频云流媒体技术探索
快直播-基于WebRTC升级的低延时直播
随着直播行业的快速发展,直播带货秒杀和在线教育答题等应用场景对直播延时的要求越来越严苛。今天的技术解码就由费伟老师为大家带来腾讯云在快直播方面的一些分享! 随着直播行业的快速发展,特别是在今年疫情的影响下,各种低延时的直播场景得到了爆发性发展。最典型的应用就是直播带货秒杀和在线教育答题。这些应用场景的核心需求就是实时音视频互动,而传统直播技术基于HLS、FLV/RTMP协议具有秒级别的延时,高延时是制约互动效果的关键因素。快直播就是针对传统直播协议高延时的痛点,基于WebRTC技术实现毫秒级延
腾讯云音视频
2020/12/14
7.1K0
视频直播| 基础原理篇
一、直播难与易 `直播难`:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多, 视频/音频处理,图形处理, 视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。 `直播易`:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架, 就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。 二、直播相关概述 1.一个完整直播app功能 1、`聊天` 私聊、聊天室、点亮、推送、黑名单
進无尽
2018/09/12
7.4K0
视频直播| 基础原理篇
基于WebRTC的开源低延时播放器实践
  //   编者按:随着互联网的发展、流量咨询费用的下降,直播互动越来越多的呈现在大众面前。直播带货、游戏主播,亦或者是大型网课,在直播中良好的网络环境与低延时是优质交互体验的关键。在这个各家云服务厂商标准不统一的年代,如何让低延时直播更加便捷稳定呢?本次LiveVideoStackCon 2022音视频技术大会上海站邀请到了毕伟老师为我们介绍网易云信的解决方案。 文/毕伟 整理/LiveVideoStack 大家下午好!我是网易云信资深音视频引擎研发工程师毕伟,今天为大家介绍云信开源低延时播放器的相关
LiveVideoStack
2022/08/31
3.7K0
基于WebRTC的开源低延时播放器实践
腾讯云低延时直播系统架构设计与弱网优化实践
http://scrmtech.gensee.com/webcast/site/vod/play-6ced83f94af24094b6d8329948addb09
LiveVideoStack
2020/06/11
3.8K0
腾讯云低延时直播系统架构设计与弱网优化实践
直播弱网优化方法
直播平台纷繁杂多,流量入口逐渐从传统PC端过渡至移动端。直播规 模爆发式增长,2016年更是被誉为“直播元年”。以游戏为代表的泛娱乐直播是这一时期直播生态的重要组成部分。2015-2017年,4G技术普及,手机直播由于不受设备、场景等限制开始迅速普及,推动全民直播的出现;同时,由于直播功能的创新、直播平台以及资本的纷纷入局、政策支持,直播行业一度出现“千播大战”局面。期间,政府出台《电子竞技赛事管理暂行规定》等游戏行业相关政策,进一步推动了游戏直播的发展。
视频云直播helper
2022/02/03
6.2K1
目前直播技术汇总及低延时直播的方案汇总
HLS:延迟主要来自编码解码时产生延迟、网络延迟、CDN 分发延迟。由于它是切片协议,延迟分两大块,一个是服务端有切片缓冲延迟,另一个是在播放端防抖缓冲会有延迟。切片的大小和数量都会 HLS 影响延迟大小,一般在十秒以上。
码客说
2021/01/20
6.8K0
目前直播技术汇总及低延时直播的方案汇总
腾讯云快直播低延时播放质量的优化实践
直播已经潜移默化成为许多人日常生活密不可分的一部分。无论是紧张刺激的比赛直播,还是垂涎欲滴的美食直播,亦或者自卖自夸的购物直播,大家都不希望在观看时出现长时间的加载和卡顿,对一些需要观众及时反馈的直播场景,过高的延时也是用户不希望出现的。如何保证直播的快速、清晰、低延时成为各大厂商必须直面的难题。我们很荣幸地邀请到了腾讯云音视频的费伟老师来到LiveVideoStackCon 2022北京站介绍他们的解决办法。 文/费伟 编辑/LiveVideoStack 大家下午好,很高兴能参加LiveVideoStac
LiveVideoStack
2023/04/12
3.9K0
腾讯云快直播低延时播放质量的优化实践
教你快速搭建一场发布会直播方案
单场次直播是指同时只有一条(或几条)直播流进行直播,直播内容都是官方 PGC 内容,常被客户用于活动直播、领导讲话等直播场景,2017年底非常红火的冲顶在线答题也是单场次直播的典型应用场景。
腾讯视频云终端团队
2018/06/28
6.3K0
教你快速搭建一场发布会直播方案
视频直播之基础原理
SDK(Software Development Kit): 软件开发工具包 CDN(Content Delivery Network):内容分发网络
全栈程序员站长
2022/09/15
3.4K0
视频直播之基础原理
新知 | 直播架构方案解析及趋势探讨
‍‍ 腾讯云音视频的直播最早是基于QQ音视频能力开发出来的产品,至今深耕音视频领域超过20多年,积累了丰富的音视频和海量服务技术。今天的新知系列课,我们邀请到了腾讯云音视频的技术导师 —— 兰玉龙,为大家由浅入深的介绍一下音视频直播的基础概念以及技术趋势,同时和大家分享一些直播相关的技术以及行业应用,以便大家理解和更加方便地使用直播能力。 接下来的几周,每周四晚上7:30,我们都会在腾讯云音视频视频号、开源中国、InfoQ、51CTO、云+社区等多个平台进行课程直播,大家千万不要错过哦~ - 云直
腾讯云音视频
2021/11/26
1.7K0
你想知道的直播技术都在这里了
概述 2016年基本上可以说一个直播年,各大互联网挣相进入直播行业,成就了直播技术的发展。之前我们也对直播连麦技术做了一个简单的分析,但是没有从整体上介绍,今天我们就组一个整体的介绍(本文部分资料来源于网络)。 我们先来看看视频直播的5个关键的流程:录制->编码->网络传输->解码->播放。每个环节对于直播的延迟都会产生不同程度的影响,这里重点分析移动设备的情况。针对移动场景总结出直播延迟优化的4个点:网络、协议、编解码、移动终端,达到UCloud直播云实现低延迟、秒开的技术细节。 直播技术分析 UCl
xiangzhihong
2018/02/06
3.3K0
你想知道的直播技术都在这里了
从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
国标GB28181视频平台LiteCVR可支持的视频流播放协议汇总
RTMP流媒体服务器LiteCVR具备视频融合能力,可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等能力。平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力。
LiteMedia音视频技术
2023/10/24
7270
做一套像映客的直播App?看我就够了
本文来自简书JIAAIR,点击阅读原文查看完整文章! 一、直播现状简介 1.技术实现层面 技术相对都比较成熟,设备也都支持硬编码。IOS还提供现成的 Video ToolBox框架,可以对摄像头和流媒体数据结构进行处理,但Video ToolBox框架只兼容8.0以上版本,8.0以下就需要用x264的库软编了。 github上有现成的开源实现,推流、美颜、水印、弹幕、点赞动画、滤镜、播放都有。技术其实不是很难,而且现在很多云厂商都提供SDK,七牛云、金山云、乐视云、腾讯云、百度云、斗鱼直播伴侣推流端,功能
时见疏星
2018/06/01
1.5K0
解密618背后的技术:亿级直播电商平台架构
年年618,今又618。 如果说今年618跟往年有什么不同?那一定是“直播带货”大火。从明星到店家,都加入这场“直播+电商”的热潮之中。与传统电商相比,直播带货具备更高的转化率,商品展示形式更丰富,体验更真实。由于疫情影响了线下的流量,直播渠道能帮助无数中小企业、个体经营者突破重围,直面客户。 “直播+电商”模式的火爆有一定的技术和用户基础。截止2020年3月,在我国9.04亿网民中,就有2.65亿电商直播用户。 “直播”的需求对承载的电商或直播平台也提出了各种考验,比如:服务可用性、网络攻击、
腾讯云音视频
2020/06/28
2.1K0
新知 | 流媒体源流常见问题与延迟分析处理
新知系列课程第二季来啦!去年的系列课,我们为大家介绍了直播、RTC、IM、媒体处理等音视频通信技术,这一次,我们将继续为大家带来全真互联时代下新的行业趋势、新的技术方向以及新的应用场景分享。今天,我们邀请到了腾讯云音视频技术导师——付秋平,他将结合实际案例,为大家介绍流媒体源流中常见的问题,以及延迟分析处理的方法。 今天的内容分为播放器播放流程、直播源流常见问题、直播延迟的产生与处理、WebRTC快直播四个部分。 播放器的播放流程,基本上是推流的逆向过程。推流端基于同一个时钟源进行音频和视频的采集,得
腾讯云音视频
2022/07/04
1.9K0
新知 | 流媒体源流常见问题与延迟分析处理
推荐阅读
相关推荐
腾讯云快直播——超低延迟直播技术方案及应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档