HLS直播取流过程演示

1 篇文章 0 订阅
1 篇文章 0 订阅

一、HLS是什么(第一部分为转载)
转载地址如下:
https://langyastudio.blog.csdn.net/article/details/82012187

HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。 它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。

在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U (m3u8)playlist文件,用于寻找可用的媒体流。HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。

HLS协议规定:视频的封装格式是TS。视频的编码格式为H264,音频编码格式为MP3、AAC或者AC-3。除了TS视频文件本身,还定义了用来控制播放的m3u8文件(文本文件)。

HLS协议说明:
HLS的m3u8,是一个ts的列表,也就是告诉浏览器可以播放这些ts文件,譬如:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:13
#EXT-X-MEDIA-SEQUENCE:430
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:11.800
news-430.ts
#EXTINF:10.120
news-431.ts
#EXT-X-DISCONTINUITY
#EXTINF:11.952
news-430.ts
#EXTINF:12.640
news-431.ts
#EXTINF:11.160
news-432.ts
#EXT-X-DISCONTINUITY
#EXTINF:11.751
news-430.ts
#EXTINF:2.040
news-431.ts
#EXT-X-ENDLIST

上述SDP信息中字段含义如下
EXTM3U:
每个M3U文件第一行必须是这个tag,提供标示作用

EXT-X-VERSION
用以标示协议版本。这里是3, 那么这里用的就是HLS协议第三个版本,此标签只能有0或1个,不写代表使用版本1

EXT-X-TARGETDURATION
所有切片的最大时长,有些Apple设备这个参数不正确会无法播放。

EXT-X-MEDIA-SEQUENCE
切片的开始序号。每一个切片都有唯一的序号,相邻之间序号+1。这个编号会继续增长,保证流的连续性。

EXTINF
ts 切片的实际时长。duration : 媒体持续时间

#EXTINF ,<br/> 1<br/> EXT-X-PLAYLIST-TYPE<br/> 类型,vod 表示点播。

EXT-X-ENDLIST
文件结束符号。表示不再向播放列表文件添加媒体文件。

二:HLS实际场景演示:

  1. 客户端向服务端发起GET请求: 在这里插入图片描述
    可以看到上述请求为:https://cctvalih5c.v.myalicdn.com/live/cdrmcctv1_1md.m32u8,GET方式。
    服务端response为:
    在这里插入图片描述
    具体回复见下图:
    在这里插入图片描述
    可以清楚的看到服务器回复的是一个ts文件列表。EXTINF为视频的实际时长,大约为10s中,比较稳定的长度。但是要注意的是,我们第一次播放,尽可能的选择列表中后面部分的ts文件,防止出现延时过大的问题。
  2. 通过获得的ts列表信息重新组装需要请求的url
    在这里插入图片描述
    具体url图片见下方:
    在这里插入图片描述
    此次请求服务端回复的就是客户端想要的直播流文件,客户端收到该response中的ts流,直接送播放库,或者dsp,进行视频的解封装,之后进行解码,即可播放。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一款免费的媒体直播软件,主要用于媒体直播,视频直播,视频点播,视频录制等应用,与FMS、WOWZA、RED5一道,作为用户媒体直播应用的可选方案。 1、支持Windows/Linux等多种操作系统; 2、采用开发的媒体协议,而非私有协议,可以与主系统对接,至少支持RTMP推,RTMP拉,RTSP拉三种方式获取直播,支持对获取的直播再按照TS组播或者单播,RTMP,RTSP,HLS,TS OVER HTTP,FLV OVER HTTP等标准媒体协议的方式进行对外直播转发; 3、支持录制,可定时录制或手动录制,能录制MP4或者FLV格式文件,录制时支持生成新文件或者追加文件两种方式,支持录制超过4G的文件; 4、单台服务器可支持1000个以上并发用户,直播延时小于2秒; 5、支持RTMP转发功能,能够把AMS上的直播转发给其它AMS服务器或者第三方的RTMP服务器,例如RED5,FMS,WOWZA媒体服务器; 6、 支持PC/手机/平板电脑等多终端访问,无论是windows,linux,或者andriod以及IOS系统访问收看直播时都无需下载插件,直接观看; 7、响应点播时间控制在100ms以内,支持暂停、拖动等特技操作; 8、支持文件直播,可把硬盘上存在的FLV文件编目后,按设定好的任务和顺序进行直播; 9、内置Web应用系统,无需复杂配置,可直接部署到用户服务器使用,也可以选配更复杂的媒资管理系统,完成类似优酷土豆的应用模式; 10、开放的系统架构,提供二次开发接口,可轻松的融入到用户已有的平台或网站平台中、或在此基础上进行二次开放等 ------------------------------------------------------------------------- 使用说明: 1、关于安装运行:软件解压到硬盘上后,执行AokuMServiceManager,即可完成AMS服务的安装,安装完成后,在Windows系统服务中会出现一个AokuMService服务; 2、关于端口:AMS默认的管理端口是9001,可通过浏览器登陆http://127.0.0.1:9001/main.html进行管理;AMS默认的RTMP端口是1935,默认的rtsp端口是5554,默认的flv over http端口是7000,默认的ts over http端口是8008,默认的hls端口也是9001; 3、关于推:使用直播你需要有一个支持rtmp推的编码器,建议用奥酷全接口高清编码器,当然你也可以通过FME进行软编码来实现; 4、关于接收直播:AMS正常启动并发布上直播后,你可以在网络内的任一电脑上打开http://ip:9001,通过浏览器观看直播,若开启了hls功能,通过iphone或者ipad登陆http://ip:9001即可观看直播。 5、若开启了TS组播,请确认防火墙是否允许组播,另外您网络内的路由器是否支持组播,接收组播是需要用VLC播放器来完成; 6、接收flv over http也是通过VLC播放器或者支持类似协议的播放器来测试。 7、若使用中出现问题,你可以查看logs目录下的rtmpserver.log文件,里面有详细的错误日志描述。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值