分辨率 360P 540p 720p 1080p 4k

RTMP和HLS的比较

https://blog.csdn.net/caoshangpa/article/details/79543916

HLS 直播协议m3u8详解

https://blog.csdn.net/aoshilang2249/article/details/82012187

摘记:

HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。

它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些,当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。

RTMP指Adobe的RTMP(Realtime Message Protocol),广泛应用于低延时直播,也是编码器和服务器对接的实际标准协议,在PC(Flash)上有最佳观看体验和最佳稳定性。

 

HLS指Apple的HLS(Http Live Streaming),是Apple平台的标准流媒体协议,本身就是Live(直播)

 

HLS主要的应用场景

跨平台:PC主要的直播方案是RTMP,也有一些库能播放HLS,譬如jwplayer,基于osmf的hls插件也一大堆。所以实际上如果选一种协议能跨 PC/Android/IOS,那就是HLS。Android/IOS原生播放器就支持播放HLS

 

IOS上苛刻的稳定性要求:IOS上最稳定的当然是HLS,稳定性不差于RTMP在PC-flash上的表现。

 

友好的CDN分发方式:目前CDN对于RTMP也是基本协议,但是HLS分发的基础是HTTP,所以CDN的接入和分发会比RTMP更加完善。能在各种CDN之间切换,RTMP也能,只是可能需要对接测试。

 

简单:HLS作为流媒体协议非常简单,apple支持得也很完善。Android对HLS的支持也会越来越完善。至于DASH/HDS,好像没有什么特别的理由,就像linux已经大行其道而且开放,其他的系统很难再广泛应用。

 

总之,SRS支持HLS主要是作为输出的分发协议,直播以RTMP+HLS分发,满总各种应用场景。点播以HLS为主。

 

m3u8结构以及hls协议简单解析

https://blog.csdn.net/weixin_38890593/article/details/96965164

摘记:

HLS(Http Live Streaming): 用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。

HLS的优势就是:可以自适应调整播放码流,即网络畅通时选择高码流,网络繁忙时选择低码流,二者可以随意自行切换,以保证视频流的流畅度。当然该方法需要服务器提供多码流视频数据了,还需在列表文件中注明,播放形式会根据用户实际情况来调整。

 

直播的方式最好用hls的方式,因为它自己做了独立的功能模块,专门适用直播流

 

视频中常用的HLS(m3u8)协议分析

https://blog.csdn.net/ffffffff8/article/details/84949775

摘记:

HLS 对言的文件格式是 .m3u8 文件及对应的 .ts 播放文件,即服务器端会有一份 .m3u8 文件和其它很多的 .ts 文件,说得简单好理解一些是这样,m3u8文件是一个索引文件,ts为实际的播放内容。

 

 

流媒体(m3u8)的下载

https://blog.csdn.net/m0_38055718/article/details/79317162

M3U8简介

首先我们需要了解几个概念:

 

M3U: 本质上是音频文件的列表,纯文本格式。播放软件根据它的记录找到网络地址进行在线播放

M3U8: 是M3U中的一种,编码格式为UTF-8格式

TS片段:Apple 为了提高流播效率开发的技术,将流媒体切分成若干TS片段,然后通过一个m3u列表文件将这些TS片段集中起来供客户端播放器播放

HLS:HTTP Live Streaming是Apple的动态码率自适应技术。包括一个m3u8索引文件,TS媒体分片文件和key加密串文件。

HLS的优势:自适应码率流播。就是客户端会根据网络状况自动选择不同码率的视频流,条件允许的情况下使用高码率,网络繁忙的时候使用低码率,并且自动在二者间随意切换。

 

TS文件选择原因:因为两个 TS 片段可以无缝拼接,播放器能连续播放。