前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何实现低延时直播——支持多终端H5播放的超低延时直播方案

如何实现低延时直播——支持多终端H5播放的超低延时直播方案

原创
作者头像
用户7045070
修改于 2021-03-05 02:06:11
修改于 2021-03-05 02:06:11
2.6K0
举报

【摘要】

随着互联网视频应用的普及,各行各业对直播的应用需求越来越多,作为一名流媒体行业的从业者,亲眼目睹了视频行业的发展轨迹。

当前,全球遭受新冠疫情的冲击,导致视频通信的需求量大增,视频直播、视频会议成了人际交流的必备手段,各种视频云平台如雨后春笋般地成长起来。

但是,当前有很多对实时性和交互性要求高的应用场景,现有的直播云平台仍然无法满足用户需求,比如在线游戏云游戏、在线博彩、互动游戏等),在线教学互动课堂、VR直播课堂),手术直播(多地联动),应急指挥(抢险救灾、指挥作战),远程控制(无人驾驶车辆控制、机器人控制)等。

对于这类应用来说,它对于视频的延时是非常敏感的,往往差之毫厘,失之千里。所以,这些应用场景下必须采用低延时的直播解决方案。

然而,当前主流的直播云平台主要采用如下几种技术实现方式:

1. 源端采用RTP/RTSP/RTMP等协议推流给流媒体服务器,流媒体服务器再通过RTMP/HTTP/HLS/UDP等协议进行分发,终端通过RTMP/HTTP/HLS等协议接收。在这种情况下,端到端延时比较低的方案是端到端采用RTMP协议(延时在3秒左右),然而不支持终端以H5方式播放。因此,行业内普遍采用HLS协议在终端接收(多终端兼容),但是延时通常在10~30秒。

2. 源端采用RTP/RTSP/RTMP等协议推流给流媒体服务器,流媒体服务器再通过RTMP/HTTP/HLS/UDP等协议进行分发,终端通过WebSocket协议接收,然后自主实现H5端的软件播放器解码。这种方案比第一种方案延时更低,端到端可以控制在1秒以内。缺点是终端需要采用软件播放器解码,对于CPU性能比较高的PC终端来说,最高只能实时解码720P的视频,视频编码方式只能采用MPEG-2或者H.264 Baseline,无法支持更高的编码标准。对于手机终端来说,最高只能实时解码540P的视频,而且工作时手机功耗很大,电池使用时间大大缩短。

基于以上情况,我们经过多年研发完成了一套适用性更广的解决方案,该方案的实现方式如下:

源端:

采用H.264/AAC的视频编码技术,基于硬件编码器进行实时编码,然后基于UDP协议进行直播推流,最大程度降低编码延时;

服务器端:

基于可靠的UDP协议进行数据分发,最大程度降低数据分发的延时,同时基于异步I/O模式来有效提升服务器端的并发负载能力。

流媒体服务器程序采用C语言编码实现,支持多核多线程,同时采用异步I/O模式,因此具有很高的运行效率,单颗Intel E5系列 10核CPU可以支持2000并发用户访问。

终端:

基于H5标准自主实现低延时播放器,有效控制缓冲区大小,通常只缓冲一帧的图像数据,并调用本地的硬件解码器进行视频解码,从而实现快速实时播放的目标。

由于终端播放器完全符合H5规范,因此可以在PC、Android终端、iOS终端上正常运行。

综合以上设计,该方案在现有的互联网环境中运营的实际表现如下:

1. 在高带宽低延时的专网环境中(网络延时低于1ms),该直播平台的端到端延时在300ms以内;

2. 在单一运营商的广域网环境中(网络延时低于10ms),该平台的端到端延时在500ms以内;

3. 在高带宽的混合网络环境中(跨运营商的网络延时低于20ms),该平台的端到端延时在800ms以内;

当前,该技术已经在云游戏、在线教学、应急指挥、实时监控等多个领域得到了大规模应用检验,非常稳定。

然而,在有些应用场景下用户端带宽受限(比如用户使用4G等移动网络),因此后期还需要对该方案做进一步优化升级,主要技术方向是采用可伸缩编码技术和H.265/AV1等更高效的视频编码技术,从而给消费者带来更好的收视体验。

技术交流:

QQ(860861001)

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

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

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

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

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
目前直播技术汇总及低延时直播的方案汇总
HLS:延迟主要来自编码解码时产生延迟、网络延迟、CDN 分发延迟。由于它是切片协议,延迟分两大块,一个是服务端有切片缓冲延迟,另一个是在播放端防抖缓冲会有延迟。切片的大小和数量都会 HLS 影响延迟大小,一般在十秒以上。
码客说
2021/01/20
6.6K0
目前直播技术汇总及低延时直播的方案汇总
SkeyeVSS综合安防视频云服务H5无插件直播点播实现HEVC H265低延迟播放
SkeyeVSS视频云支持HEVC/H265编码格式的摄像机直接接入,同时不需要后台转码,直接在WEB网页前端采用H5直接进行无插件播放;
Openskeye
2023/03/30
1.2K0
SkeyeVSS综合安防视频云服务WEB H5无插件播放RTSP摄像机解决方案,拒绝插件,拥抱H5,Windows PC、 Liunx、 Android
视频流媒体监控行业已经进入了互联网时代,浏览器承载了绝大多数的互联网访问流量,如何在网页上播RTSP流,将RTSP转成互联网直播协议RTMP或者HLS?
Openskeye
2023/03/30
1.5K0
直播延时是如何产生的?4G摄像头无插件播放视频流媒体服务器EasyDSS超低延时直播的实现方案
随着直播的越来越普及,我们作为用户,对直播的要求也越来越高,比如超低延时直播,且支持手机和PC端直接播放,不安装任何播放插件。那么问题来了,如何实现低延迟、秒开的直播?
EasyNVR
2020/05/08
1K0
Easy系列开源与免费流媒体音视频方案汇总(持续更新)
Easy系列从开源到SDK组件,再到产品、解决方案、硬件,从2012年EasyDarwin开始,专注于流媒体音视频这一领域已经非常多年了,积累了丰富的行业经验,同时也积累了众多的产品,产品的名称非常多,为了让更多的同学能更好地了解Easy系列的方案,今天TSINGSEE青犀视频汇总了一下EasyDarwin开源社区提供的开源与免费的项目与产品:
EasyNVR
2020/09/01
1.2K0
流媒体及直播相关知识
本文主要讲解流媒体及其直播相关知识,所涉及的知识内容比较浅显,主要是做个简单的了解。
Gnep@97
2023/09/23
7280
流媒体及直播相关知识
视频直播之基础原理
SDK(Software Development Kit): 软件开发工具包 CDN(Content Delivery Network):内容分发网络
全栈程序员站长
2022/09/15
3.2K0
视频直播之基础原理
视频直播基础知识
视频云,是以Paas服务模式,向开发者提供音视频编解码SDK和开放API,助力移动APP接入音视频功能,用户不需要后台开发和运维人员,就可以开发自己的视频网站或者移动APP应用。视频云主要使用的是流媒体技术,下面就来给大家介绍一下视频云相关的技术。
视频云直播helper
2019/02/22
8.3K0
视频直播基础知识
视频直播技术大全、直播架构、技术原理和实现思路方案整理
原文链接:https://blog.csdn.net/zgpeace/article/details/108552358
全栈程序员站长
2022/09/15
5.1K0
视频直播技术大全、直播架构、技术原理和实现思路方案整理
视频直播| 基础原理篇
一、直播难与易 `直播难`:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多, 视频/音频处理,图形处理, 视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。 `直播易`:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架, 就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。 二、直播相关概述 1.一个完整直播app功能 1、`聊天` 私聊、聊天室、点亮、推送、黑名单
進无尽
2018/09/12
7.3K0
视频直播| 基础原理篇
快直播-基于WebRTC升级的低延时直播
随着直播行业的快速发展,直播带货秒杀和在线教育答题等应用场景对直播延时的要求越来越严苛。今天的技术解码就由费伟老师为大家带来腾讯云在快直播方面的一些分享! 随着直播行业的快速发展,特别是在今年疫情的影响下,各种低延时的直播场景得到了爆发性发展。最典型的应用就是直播带货秒杀和在线教育答题。这些应用场景的核心需求就是实时音视频互动,而传统直播技术基于HLS、FLV/RTMP协议具有秒级别的延时,高延时是制约互动效果的关键因素。快直播就是针对传统直播协议高延时的痛点,基于WebRTC技术实现毫秒级延
腾讯云音视频
2020/12/14
6.9K0
腾讯云低延时直播系统架构设计与弱网优化实践
http://scrmtech.gensee.com/webcast/site/vod/play-6ced83f94af24094b6d8329948addb09
LiveVideoStack
2020/06/11
3.7K0
腾讯云低延时直播系统架构设计与弱网优化实践
一文说透RTMP、RTSP、RTP、HLS、MPEG-DASH
常与RTSP一起用于音视频流传输,确保媒体数据能够准确、高效地传输到目标终端并进行解码播放。
音视频牛哥
2024/09/24
7.4K0
一文说透RTMP、RTSP、RTP、HLS、MPEG-DASH
FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
​音视频技术的一个主要用途是直播,包括电视直播、电脑直播、手机直播等等,甚至在线课堂、在线问诊、安防监控等应用都属于直播系统的范畴。由于直播系统不仅涉及到音视频数据的编解码,还涉及到音视频数据的实时传输,因此直播领域采用的网络技术标准比较高,实现起来也比一般的WEB系统复杂。
aqi00
2024/08/18
3050
FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
干货 | 携程移动直播探索
鹏程,携程 Android 开发工程师,Android google jetpack和kotlin语言的拥护者。
携程技术
2020/11/19
1.1K0
干货 | 携程移动直播探索
全面进阶 H5 直播(上)
如果我们想要理解 HTML5 视频,首先需要知道,你应该知道,但你不知道的内容?那怎么去判断呢? ok,很简单,我提几个问题即可,如果某些童鞋知道答案的话,可以直接跳过。 你知道 ogg,mp4,flv,webm(前面加个点 .)这些叫做什么吗? 那 FLV,MPEG-4,VP8 是啥? 如果,基友问你要片源,你会说我这是 mp4 的还是 MPEG-4 的呢? 当然,还有一些问题,我这里就不废话了。上面主要想说的其实就两个概念:视频文件格式(容器格式),视频编解码器(视频编码格式)。当然,还有另外一种,叫做
腾讯IVWEB团队
2018/01/15
9.8K1
全面进阶 H5 直播(上)
【Dev Club 分享】H5 视频直播那些事
Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。 本期,我们邀请了腾讯SNG Web前端开发工程师——吕鸣,为大家分享《H5 视频直播那些事》。 分享内容简介: 目前视频直播,尤其是移动端的视频直播已经火到不行了,基本上各大互联网公司都有了自己的直播产品,所以对于直播的一些基本知识和主要技术点也要有所了解,本次分享就向大家介绍一下其中的奥秘。 内容大体框架: 怎样利用H5来播放直播视频 怎样录制直播视频 怎样实时上传
腾讯Bugly
2018/03/23
1.8K0
腾讯云快直播低延时播放质量的优化实践
直播已经潜移默化成为许多人日常生活密不可分的一部分。无论是紧张刺激的比赛直播,还是垂涎欲滴的美食直播,亦或者自卖自夸的购物直播,大家都不希望在观看时出现长时间的加载和卡顿,对一些需要观众及时反馈的直播场景,过高的延时也是用户不希望出现的。如何保证直播的快速、清晰、低延时成为各大厂商必须直面的难题。我们很荣幸地邀请到了腾讯云音视频的费伟老师来到LiveVideoStackCon 2022北京站介绍他们的解决办法。 文/费伟 编辑/LiveVideoStack 大家下午好,很高兴能参加LiveVideoStac
LiveVideoStack
2023/04/12
3.7K0
腾讯云快直播低延时播放质量的优化实践
基于WebRTC的开源低延时播放器实践
  //   编者按:随着互联网的发展、流量咨询费用的下降,直播互动越来越多的呈现在大众面前。直播带货、游戏主播,亦或者是大型网课,在直播中良好的网络环境与低延时是优质交互体验的关键。在这个各家云服务厂商标准不统一的年代,如何让低延时直播更加便捷稳定呢?本次LiveVideoStackCon 2022音视频技术大会上海站邀请到了毕伟老师为我们介绍网易云信的解决方案。 文/毕伟 整理/LiveVideoStack 大家下午好!我是网易云信资深音视频引擎研发工程师毕伟,今天为大家介绍云信开源低延时播放器的相关
LiveVideoStack
2022/08/31
3.6K0
基于WebRTC的开源低延时播放器实践
RTSP和RTMP协议有什么区别?RTSP为什么常用于安防监控摄像头行业,而视频直播却只使用RTMP推流?
RTSP(Real Time Streaming Protocol)是一种用于控制实时流媒体传输的网络协议。它允许客户端与服务器进行交互,控制流媒体的播放、暂停、停止、倒放、快进等操作。RTSP协议可以用于音频、视频等多种流媒体数据的传输。
csdn博主eguid_1
2024/01/25
5.6K0
推荐阅读
相关推荐
目前直播技术汇总及低延时直播的方案汇总
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档