HLS直播与延迟时长的来源与超低延迟直播

news2025/1/17 3:10:29

1.HLS直播延迟时长(HTTP Live Streaming)

HTTP Live Streaming(简称 HLS)是一个基于 HTTP 的视频流协议,由 Apple 公司实现,Mac OS 上的 QuickTime、Safari 以及 iOS 上的 Safari 都能很好的支持 HLS,高版本 Android 也增加了对 HLS 的支持。一些常见的客户端如:MPlayerX、VLC 也都支持 HLS 协议。

HLS 协议基于 HTTP,非常简单。一个提供 HLS 的服务器需要做两件事:

  • 编码:以 H.263 格式对图像进行编码,以 MP3 或者 HE-AAC 对声音进行编码,最终打包到 MPEG-2 TS(Transport Stream)容器之中;
  • 分割:把编码好的 TS 文件等长切分成后缀为 ts 的小文件,并生成一个 .m3u8 的纯文本索引文件;

浏览器使用的是 m3u8 文件。m3u8 跟音频列表格式 m3u 很像,可以简单的认为 m3u8 就是包含多个 ts 文件的播放列表。播放器按顺序逐个播放,全部放完再请求一下 m3u8 文件,获得包含最新 ts 文件的播放列表继续播,周而复始。整个直播过程就是依靠一个不断更新的 m3u8 和一堆小的 ts 文件组成,m3u8 必须动态更新,ts 可以走 CDN。一个典型的 m3u8 文件格式如下:

#EXTM3U 
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=200000 
gear1/prog_index.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=311111 
gear2/prog_index.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=484444 
gear3/prog_index.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=737777 
gear4/prog_index.m3u8 

可以看到 HLS 协议本质还是一个个的 HTTP 请求 / 响应,所以适应性很好,不会受到防火墙影响。但它也有一个致命的弱点:延迟现象非常明显。如果每个 ts 按照 5 秒来切分,一个 m3u8 放 6 个 ts 索引,那么至少就会带来 30 秒的延迟。如果减少每个 ts 的长度,减少 m3u8 中的索引数,延时确实会减少,但会带来更频繁的缓冲,对服务端的请求压力也会成倍增加。所以只能根据实际情况找到一个折中的点。

对于支持 HLS 的浏览器来说,直接这样写就能播放了:

<video src="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"
 height="300" width="400"></video>  

2.RTC无延时直播/超低延迟直播

无延时直播/超低延时常见应用场景:

  • 在线教学、企业培训、MR直播、教学场景下视频连麦互动
  • 支持基于纯html5页面的web直播
  • 支持PC端谷歌浏览器、360浏览器等
  • 支持微信观看、手机各类观看浏览器
  • 无延时直播以毫秒计,画面同频性非常好

上阿酷TONY的实测图片:

  图1:无延时直播/超低延时直播(实测组图)

  图2:无延时直播/超低延时直播(实测组图)

 

  图3:无延时直播/超低延时直播(实测组图)

视频延时与画面同步性验证

延时时间:延迟超低。如上图中可以看出,直播延迟超低,毫米级;普通直播的延迟基本在3-15秒左右;

画面同步性:采集端与三个观看终端同步;

无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能、使用操作界面,有兴趣的朋友可以加联系我实际测试哦~~~ 

MR虚拟直播

  • MR直播实例(混合现实直播)高品质企业直播
  • 企业年会直播来个虚拟舞台场景如何?
  • MR直播(混合现实直播)做一场高品质企业培训
  • MR场景直播-帮助企业高效开展更有意思的员工培训
  • 企业多会场视频直播(主会场、分会场直播)实例效果
  • 虚拟直播(虚拟场景直播)要怎么做?

无延迟直播

  • 无延时直播/超低延时直播画面同步性测试(实测组图)
  • 搞定企业视频直播:硬件设备、直播网络环境和设备连接说明
  • 无延时/无延迟视频直播实例效果案例
  • OBS无延迟视频直播完整教程(组图)
  • 毫秒级超低延时直播产品实测(PRTC直播/webRTC直播)

视频加密与安全

  • 企业培训视频如何防止被下载和盗用?
  • 在线教育机构视频加密防下载和防盗用的方法有哪些可以借鉴
  • 上新:视频加密功能增加防录屏(随机水印)功能
  • 两种实现视频倍速播放的方法(视频播放器倍速1.5x/2x)
  • 教育培训机构教学课程内容视频加密是如何做的?

在线导播台

  • 在线导播台(网页导播台)混流效果
  • OBS Studio导播台多画面使用实测
  • 软件导播台多画面切换支持多人连麦实测(实测组图)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/501101.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kmeans++ 算法对随机数据样本聚类

一、算法简介 K-means算法是一种常见的无监督学习聚类算法&#xff0c;其基本思想是将n个样本划分为k个簇&#xff0c;每个簇内的样本之间的相似度要尽可能的大&#xff0c;而不同簇之间的相似度要尽可能的小&#xff0c;通过最小化各个簇内点与该簇中心点的距离和来实现。 二…

API接口对程序员的帮助有哪些,参考值简要说明

API接口对程序员的帮助有哪些 提高开发效率&#xff1a;通过API接口&#xff0c;程序员能够在不用重复编写代码的情况下&#xff0c;直接获取其他应用程序提供的服务或数据&#xff0c;极大地提高了开发效率。 减少错误率&#xff1a;使用API接口可以避免手动输入数据容易出现…

(LDR6020)双USBType-C口快充头适配器方案(PD快充 支持功率动态分配,只需要一颗芯片完成所需功能)

6月7日&#xff0c;欧盟公布了“在欧盟境内统一使用USB Type-C接口用于移动设备充电”的法规。在同一天&#xff0c;苹果公司发布了自己的35W双USB Type-C口充电器。可以看到&#xff0c;多USB Type-C口&#xff08;下文简称:C口&#xff09;快充充电器将成为市场趋势。LDR6020…

thinkphp+vue+html高校固定资产管理系统维修 租借4h80u

本高校资产管理系统采用的数据库是Mysql&#xff0c;使用thinkphp框架开发。在设计过程中&#xff0c;充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框…

经验总结:(Nginx 快速入门)

为什么需要Nginx 一个普通web项目刚刚上线不久时,用户使用的少,并发度低,所以在一个服务器上用一个jar包启动应用就可以了,然后内部Tomcat返回内容给用户。但是慢慢的,用户量上来了,并发量逐渐增大,这时候一台服务器就满足不了我们的需求了。于是采用横向扩展,即增加服务器的数…

MySQL调优系列(三)——存储引擎的选择

一、什么是存储引擎 关系型数据库的数据是存在表里的&#xff0c;可以将表理解为由行和列组成的表格&#xff0c;类似于Excel的电子表格的形式&#xff0c;每个表格就是一个数据。 表是在存储数据的同时&#xff0c;还要组织数据的存储结构&#xff0c;而这些数据的组织结构就…

tomcat启动web项目报错汇总

tomcat启动web项目报错汇总 前言问题java: 找不到符号 符号: 方法 getType() 位置: 类型为com.mtwl.vehicle.carflow.p背景解决方案 java: -source 7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)背景问题解决 前言 简单记录一下tomcat部署web项…

【刷题记录】关于二叉树的OJ题

文章目录 1.根据二叉树创建字符串2.二叉树的层序遍历3.二叉树的最近公共祖先4.二叉搜索树与双向链表5. 从前序与中序遍历序列构造二叉树6.二叉树的遍历 1.根据二叉树创建字符串 题目链接&#xff1a;606. 根据二叉树创建字符串 - 力扣&#xff08;LeetCode&#xff09; 题干&…

DS200TCQCG1BKG什么是控制模式,控制模式如何分类?

​ DS200TCQCG1BKG.什么是控制模式&#xff0c;控制模式如何分类&#xff1f; 控制回路的功能是在受控变量偏离该值时将其恢复到其设定值&#xff0c;从而将过程保持在所需条件下。实现这一点的动作称为控制模式。 控制方式分为两类 连续模式包括比例、积分和微分模式。 什么…

企业短信遭疯狂盗用,可能是没配置验证码

手机短信作为一种快捷的通讯方式被广泛应用。不仅在个人日常生活中&#xff0c;企业也习惯使用手机短信来进行验证和提醒&#xff0c;以保证业务的正常进行。随着数字化的发展&#xff0c;手机短信也成为了不法分子滥用的目标之一&#xff0c;给个人和企业带来不同经济损失。 个…

百度AI,和“吴文俊奖”同行的十二年、千丈山、万里路

今天&#xff0c;AI正作为一个科技发展周期的轴心&#xff0c;成为万众瞩目的焦点。与历史上数次技术革命和AI浪潮所不同的是&#xff0c;这次AI的全球领先阵营里&#xff0c;有了中国的身影。 从一个学术灵感&#xff0c;到一项全球领先的专利技术&#xff0c;从一篇顶会论文到…

MySQL基础(十)创建和管理表

1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步。只有正确地把数据存储起来&#xff0c;我们才能进行有效的处理和分析。否则&#xff0c;只能是一团乱麻&#xff0c;无从下手。 那么&#xff0c;怎样才能把用户各种经营相关的、纷繁复杂的数据&#xff0c…

关于如何对VS的C++项目进行完全重命名

很多人一个开始在VS编写C项目的时候&#xff0c;第一个项目名称都是系统默认名称或者HelloWorld这类的名字&#xff0c;一看就比较小白。 一段时间以后&#xff0c;项目已经进行了一段时间了&#xff0c;这时候想要对项目名称进行重命名。但是&#xff0c;偏偏VS的重命名功能做…

【homeassistant中ESPHome无法正常添加新设备指导操作】

【homeassistant中ESPHome无法正常添加新设备指导操作】 1. 在ESPHome添加设备1.1 问题显示1.2 添加NEW DEVICE1.3 烧录初始化固件2. 编辑主板的代码并录入3. 进行设备编译4. 编译完成后尝试亮灯5. ip地址的设置1. 在ESPHome添加设备 1.1 问题显示 点击添加设备,然后continu…

【网络】传输层协议-UDP协议

文章目录 传输层TCP/UDP预备知识:端口号的理解端口号的范围 关于端口号的相关问题netstat命令pidof命令 UDP协议所处的位置UDP协议格式UDP的特点UDP的缓冲区基于UDP的应用层协议 传输层TCP/UDP 回忆数据发送到网络的过程 之前在学习HTTP等应用层协议时为了方便理解:我们简单的认…

液晶显示控制驱动器HD61202介绍

液晶显示控制驱动器HD61202的特点 HD61202液晶显示控制驱动器是一种带有驱动输出的图形液晶显示控制器&#xff0c;它可直接与8位微处理器相连&#xff0c;它可与HD61203配合对液晶屏进行行、列驱动。HD61202是一种带有列驱动输出的液晶显示控制器&#xff0c;它可与行驱动器HD…

Docker 进阶实战:数据管理、网络

文章目录 Docker 进阶实战&#xff1a;数据管理、网络数据管理Volume创建数据卷挂载数据卷共享数据卷删除数据卷 Bind mountstmpfs mounts 网络端口映射容器互联Docker 内部网络Docker linkDocker Networking Docker 进阶实战&#xff1a;数据管理、网络 数据管理 默认情况下…

基于simulink使用麦克风阵列的声波束成形

一、前言 此示例演示如何对麦克风阵列接收到的信号进行波束化&#xff0c;以在嘈杂环境中提取所需的语音信号。 二、模型的结构 该模型模拟在 10 元件均匀线性麦克风阵列 &#xff08;ULA&#xff09; 上接收来自不同方向的三个音频信号。在接收器处添加热噪声后&#xff0c;应…

如何利用 Playwright 对已打开的浏览器进行爬虫!

大家好&#xff0c;我是安果&#xff01; 之前写过一篇关于如何利用 Selenium 操作已经打开的浏览器进行爬虫的文章 如何利用 Selenium 对已打开的浏览器进行爬虫&#xff01; 最近发现很多人都开始摒弃 Selenium&#xff0c;全面拥抱 Playwright 了&#xff0c;那如何利用 Pla…

经典文献阅读之--Point-LIO(鲁棒高带宽激光惯性里程计)

0. 简介 在我们之前接触的算法中&#xff0c;基本上都是要处理帧间雷达畸变的&#xff0c;类似于VSLAM系统&#xff0c;频率固定&#xff08;例如10Hz), 而实际上&#xff0c;激光雷达点是按照不同的时间瞬间顺序采样的&#xff0c;将这些点累积到帧中会引入人工运动畸变&…