展开

关键词

浅析 HLS 流媒体协议

主要区别如下: 一种是分段渐近下载,一种是基于实时流来实现播放; 协议不同,HTTP 协议的渐近下载意味着可以在一台普通的 HTTP 的应用服务器上就可以直接提供视频点播和直播服务; 延迟有差异,HTTP 三、HLS 协议介绍 HLS 协议是由 Apple 公司提出并推广开来的,以下是来一段维基百科的定义: HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议 HLS只请求基本的 HTTP 报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。 [1] 在网上已经有很多关于 HLS 的资料,本文主要按照我的理解整理下 HLS 流媒体协议基础知识。 HLS 协议优势: 使用标准 HTTP 传输数据,具有较好的网络穿透及防屏蔽性,更易于内容分发网络传输; HLS 协议本身是支持码率自适应的,客户端可以根据实际网络状况切换到合适的码率播放; HLS 内容发布服务更简单

68310

直播协议的选择:RTMP vs. HLS

RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。 上面是这两种协议的简介,那它们在实际应用中会有什么差异呢? HLS 先说说 HLSHLS 的基本原理就是当采集推流端将视频流推送到流媒体服务器时,服务器将收到的流信息每缓存一段时间就封包成一个新的 ts 文件,同时服务器会建立一个 m3u8 的索引文件来维护最新几个 ts 片段的索引 HLS 基于短连接 HTTP,HTTP 是基于 TCP 的,这就意味着 HLS 需要不断地与服务器建立连接,TCP 每次建立连接时的三次握手、慢启动过程、断开连接时的四次挥手都会产生消耗。 正在上传…重新上传取消 RTMP 相对于 HLS 来说,采用 RTMP 协议时,从采集推流端到流媒体服务器再到播放端是一条数据流,因此在服务器不会有落地文件。

1.9K41
  • 广告
    关闭

    《云安全最佳实践-创作者计划》火热征稿中

    发布文章赢千元好礼!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HLS 协议:直播回放首选这个协议?丨音视频基础

    对于 HLS 直播,相对于常见的流媒体直播协议,例如 RTMP 协议、RTSP 协议等,HLS 最大的不同在于直播客户端获取到的并不是一个完整的数据流,而是连续的、短时长的媒体文件(如 MPEG-TS ,所以直播回放通常都会选择 HLS 协议来实现。 HLS 协议的实现是和 M3U8 文件的定义密切相关的,这部分的知识在《M3U8 格式》中已经做了详细介绍。在这里只简单介绍一下 HLS 协议的整体框架。 在这个过程中,MPEG-2 的数据流会被处理为一系列连续的小切片文件(.ts)存储在 Web 服务器上,同时服务器会生成一个索引文件对这些切片文件进行索引,并将这个索引文件发布出去。 -23 (通过上文的介绍,我们了解了 HLS 协议的基础知识,HLS 协议配合 M3U8 和 TS 封装格式可以应用在直播和点播场景。

    17120

    流媒体传输协议:RTMP、HLS和RTSP介绍

    问题背景: 流媒体传输协议经过几十年的发展,越来越丰富。 近期的SRT、DASH、QUIC等都已经在实际中有所应用,但是这些协议里面应用最成熟,最广的协议还是RTSP/RTP/RTCP、HLS和RTMP协议。 同时这些协议背后解决的问题和设计思想大同小异,所以作为流媒体入门可以从这些协议入手,进行学习和实践。同时这些协议的资料丰富,实验环境也容易搭建。 dco4urblvsasc.cloudfront.net/811/81095_ywfZjAuP/game/index.m3u8/2000kbps.m3u8 http://ivi.bupt.edu.cn/hls /cctv1hd.m3u8 海康相机: http://hls.open.ys7.com/openlive/f01018a141094b7fa138b9d0b856507b.hd.m3u8 rtmp://

    85440

    TSINGSEE青犀视频Easy系列视频平台是如何输出HLS流的?HLS协议详解

    关于Easy系列的视频平台都可以输出几种不同的视频流,其中包括FLV、HLS。本文我们来讲一下Easy系列视频平台输出的HLS协议视频流。 ? HLS协议介绍 HLS的工作原理是把整个流分成一个个基于 HTTP 的文件片段来下载,当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。 HLS只请求基本的 HTTP 报文,与实时传输协议(RTP)不同,HLS 可以穿过任何允许 HTTP 数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。 因此,当我们的流媒体服务器视频平台获取 HLS 流文件,主要就是对 m3u8 文件进行解析操作。 那么,下面就简单介绍下 m3u8 文件。 本文给大家简单讲述了HLS协议,同理以上的内容,Easy系列视频平台在播放HLS视频流的时候也是以上操作,所以TS文件的作用就在这里。

    37140

    EasyCVR出现只有HLS协议可播放,其他协议均无法播放是什么原因?

    EasyCVR平台部署轻快、功能灵活拓展,支持多协议接入、多格式视频流分发,包括RTMP、RTSP、WebSoket-FLV、HTTP-FLV、HLS、WebRTC等,可实现全平台、全终端覆盖。 图片有用户反馈,设备接入到EasyCVR平台后,只有HLS协议能播放,其它协议均无法观看,请求我们排查协助。图片图片根据用户的反馈,我们立即排除了设备、平台和内核的异常问题。 HLS播放协议未走内核8080,所以当时只有HLS协议可以播放。于是找到内核配置文件tsingsess.ini,修改http_listen_addr = “:8080”。 修改端口之后,所有播放协议均已经恢复正常播放。

    8310

    EasyNVR播放HLS协议时ts文件报错404是什么问题?

    只要设备支持标准的RTSP/Onvif协议,都可以接入至EasyNVR进行直播、录像、检索与回放服务,并且EasyNVR支持多协议分发,包括RTSP、HTTP-FLV、RTMP、WS-FLV、HLS等格式的视频流 在设备接入EasyNVR平台时候,如果调整为按需播放模式,则播放HLS协议ts文件时会报错404。由于设备第一接入服务器并没有生成m3u8文件,因此出现报错。 第一次播放HLS协议服务器接收到流生成m3u8文件有延迟,所以导致第一次首播时播放器请求的m3u8文件404问题。 所以我们在EasyPlayer做了首播异常的处理: 给播放器加了播放异常处理,并做了延迟重启播放来解决播放HLS首播404的问题。 EasyNVR视频监控综合管理平台支持多种格式视频流的直播播放,包括HLS、FLV、RTSP等,今年我们在此基础上又开发了WebRTC格式的播放,并且将该格式拓展到其他平台,比如EasyGBS,如果大家有兴趣可以直接下载测试

    10120

    Vivado HLS和Vitis HLS什么区别?

    Vivado HLS 2020.1将是Vivado HLS的最后一个版本,取而代之的是VitisHLS。那么两者之间有什么区别呢? 例如,在Vivado HLS下,默认是不会对循环设置Pipeline的,但在Vitis HLS下,只要循环边界小于64,就会对循环设置Pipeline。 在Vivado HLS下,默认Clock Uncertainty是时钟周期的12.5%,但在Vitis HLS下更严格,达到了27%。 ? 对循环而言,在Vivado HLS下,II(Initial Interval)默认的约束值为1,但在Vitis HLS下,II默认值为auto,意味着工具会尽可能达到最好的II。 User Guide Vitis HLS examples: https://github.com/Xilinx/HLS-Tiny-Tutorials

    5.8K20

    开源流媒体服务器SRS学习笔记(2) - rtmp http-flv hls 协议配置 及跨域问题

    对rtmp/http-flv/hls这三种协议不熟悉的同学,强烈建议先看看网友写的这篇文章科普下:理解RTMP、HttpFlv和HLS的正确姿势 。 srs可以同时支持这3种协议,只要修改conf配置文件即可,默认情况下加载的是 /usr/local/srs/conf/srs.conf,参考下图: ? 不太严谨的话,可以理解为播放的是服务器上已经生成好的视频片段,因此就算在obs把实时视频直播源切断,还是可以播放一段时间的。 (实时生成视频切片需要时间,而且每个切片本身是N秒一切割,所以不难理解为啥hls协议延时最大) h5播放hls: 借助video-js项目,可以很容易实现.m3u8的hls播放: <head> 通常h5页面,是通过nginx来访问的,可以在nginx里,把特定视频源路径,转发到后端srs服务器上,参考以下配置: location /srs/ { proxy_pass http://10.2

    3.3K50

    EasyNVR播放hls协议时ts文件报错404是什么问题?

    只要设备支持标准的RTSP/Onvif协议,都可以接入至EasyNVR进行直播、录像、检索与回放服务,并且EasyNVR支持多协议分发,包括RTSP、HTTP-FLV、RTMP、WS-FLV、HLS等格式的视频流 image.png 在设备接入EasyNVR平台时候,如果调整为按需播放模式,则播放HLS协议ts文件时会报错404。由于设备第一接入服务器并没有生成m3u8文件,因此出现报错。 第一次播放HLS协议服务器接收到流生成m3u8文件有延迟,所以导致第一次首播时播放器请求的m3u8文件404问题。 所以我们在EasyPlayer做了首播异常的处理: image.png 给播放器加了播放异常处理,并做了延迟重启播放来解决播放HLS首播404的问题。 EasyNVR视频监控综合管理平台支持多种格式视频流的直播播放,包括HLS、FLV、RTSP等,今年我们在此基础上又开发了WebRTC格式的播放,并且将该格式拓展到其他平台,比如EasyGBS,如果大家有兴趣可以直接下载测试

    16620

    Nginx 搭建RTMP视频点播 直播 HLS服务器

    添加直播服务配置 rtmp { server { listen 8080; chunk_size 4096; application live { #配置直播服务 live on; hls on; #设置回放视频服务 hls_path /usr/local/nginx/html/live; #设置切片视频文件存放位置 wait_key on; #对视频切片进行保护 ,这样就不会产生马赛克了 hls_fragment 10s; #设置HLS 分段长度 hls_playlist_length 60s; #总共可以回看的事件,这里设置的是1分钟 hls_continuous on; #连续模式 hls_cleanup on; #对多余的切片进行删除 hls_nested on; #嵌套模式 } application video { play

    1.6K30

    低延迟HLS

    本文是来自WWDC(苹果全球开发者大会) 2019的演讲,演讲的作者Roger Pantos,HLS的技术主管,本次演讲主题是介绍低延迟HTTP实时流(Low-Latency HLS)的实现和效果以及如何使用低延迟 HLS进行开发。 介绍了低延迟HLS的设计目标是1-2秒,并且具有速率适配、加密、广告、元数据、向后兼容等功能。 然后Roger介绍了低延迟HLS如何实现上述的目标,与之前的HLS相比有5大变化:减少发布延时、优化段发现、消除段往返、减少播放列表传输开销、快速切换层。随后介绍了完成这5项变化的细节。 接着Roger展示了使用低延迟HLS视频通话的延迟,在AppleTV上美国用户与澳大利亚用户在视频通话时的延迟低于2秒。 最后Roger介绍了对于开发者来说,如何使用低延迟HLS进行项目开发。

    85210

    HLS综合策略

    Loop:rolled00 Array: BRAM Struct:被分解为成员变量 操作符:硬件核 优化策略 The Initial Optimization...

    72670

    ntp服务器udp协议,golang实现NTP协议获取服务器时间

    NTP_SERVER_IP = “time.windows.com” /*NTP IP*/

    7320

    HLS IP Library?

    Vivado HLS提供了IP Library,这个C Library使得HLS可以直接由相应的C代码推断出Xilinx的IP,从而保证了高质量的FPGA实现。 首先,在用户头文件中需要添加hls_fft.h,如下图所示。同时,根据设计需求设置相关参数,如输入数据位宽、输出数据位宽、配置位宽、FFT长度等,这些参数的具体含义可参考pg109。 struct config1中的变量都有默认值,如果没有声明,HLS会按默认值处理。 ? 再看函数定义部分,如下图所示。注意代码的第141行,完成了以C语言的方式对FFT IP的实例化。 HLS综合报告接口部分显示的是32位,高16位为实部,低16位为虚部,如下图所示。 ?

    42710

    EasyCVR视频广场扫码直播iOS端只能播放hls协议的流排查

    大家知道今年我们首先在EasyGBS内添加了webrtc的播放协议,随后也逐渐将该协议普及到了EasyCVR、EasyNVR等其他的平台当中,比如EasyCVR平台,目前已经能够输出四种协议的视频流,且不同协议都支持安卓系统及 近期我们发现EasyCVR的iOS端扫码直播问题,即视频广场扫码直播iOS端只能播放hls协议的流,其他协议都播放不了。 这个问题其实跟iOS系统的直播协议有关,苹果系统默认使用video实现hls流的播放,其他协议的视频流苹果系统无法识别,所以无法播放。 因此解决该问题我们需要在分享页面判断iOS端还是Android端的播放请求,将路由传过来的protocol强制改成hls即可,参考代码如下: const u = navigator.userAgent, +Mac OS X/); //ios终端 if (isiOS) { this.query.protocol = 'hls' } 修改后用iOS系统扫码则能实现自动播放hls流,解决效果如下: TSINGSEE

    12310

    时间协议ntp服务器,时间服务器NTP搭建及NTP协议简介

    NTP协议简介 目前在计算机上同步时间采用的NTP协议,我们可以在局域网中搭建NTP服务器来同步时间。 NTP(Network Time Protocol)是用来是计算机时间同步化的一种协议,他可以使计算机对其服务器或时钟源(如石英钟、GPS)做同步化,可以提供高精准度的时间校正。 NTP网络体系如下图,图画的很难看,莫见怪哈~ NTP网络协议体系 在使用时间服务器进行时间同步时,NTP客户端首先发出时间同步请求,与时间服务器交换时间,交换的结果是,客户端计算出时间的延迟,调整与时间服务器同步 要查看详细的NTP报文协议,请点击这里NTP协议分析。 NTP工作模式 以上是NTP协议的简要信息,接下来说说NTP的3种工作模式。 广播模式:一对多的连接,服务器不论客户端工作在那种模式下,主动发出时间信息。 上述的3种工作模式都是采用UDP协议来发送时间信息的,客户端在收到数据包后计算出时间的偏差量与传递资料的时间延迟。

    14720

    HLS 的新特性

    HLS 内容转向规范 内容转向规范为客户端提供了一种可以频繁地从远程服务器获取和更新 CDN 选择的方法。 _HLS_pathway: 当前使用的 pathway 的 ID _HLS_throughput: THROUGHPUT 是每秒的整数位数。 转向服务器可以根据客户端改变 TTL 以分配服务器的负载。 然后是 RELOAD-URI,这是可选的,它指定客户端在下次获得转向清单时必须使用的 URI。 HLS interstitials 规范旨在让广告内容的部署更加便捷,无论是在服务器端还是客户端,它不再需要依赖 SSAI 中的特殊标签。此外,它对 VOD 和直播场景都支持得很好。 图 4:HLS interstitials 规范目标 此规范中,服务器可以插入 EXT-X-DATERANGE 标签来告诉客户端安排插页式播放。它包含许多属性,如下图所示。

    12620

    web服务器与HTTP协议

    将webproject部署到tomcat中 6.HTTP协议 ? HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。 HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。 4xx 客户端错误 5xx 服务器错误 200 正确 302 重定向 304 页面没有改变 404 未找到页面 500 服务器出错. 4.启动服务器 5.在浏览器中访问web资源.

    1.1K60

    相关产品

    • 云服务器

      云服务器

      云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。 腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券