HLS协议 苹果提出的直播协议 HTTP、M3U8、TS
动态列表 live playlist
静态列表 event playlist [几乎见不到]
全量列表 vod playlist
M3u8纯文本文件
动态列表
单码率适配流
#EXTM3U 标明m3u8版本
#EXT-X-VERSION:6 版本声明
#EXT-X-TARGETDUATION 所有切片的最大时长
#EXT-X-MEDIA-SEQUENCE 序号
#EXTINF ts 切片的实际时长
http://xxx.com/x.ts 切片的路径
全量列表
#EXTM3U 标明m3u8版本
#EXT-X-VERSION:6 版本声明
#EXT-X-TARGETDUATION 默认时长
#EXT-X-MEDIA-SEQUENCE 序号
#EXT-X-PLAYLIST-TYPE:VOD
TS文件
ts 文件为传输流文件,视频编码主要格式为 H264/MPEG4,音频为 AAC/MP3。
分为三层:
- ts 层:Transport Stream,是在 pes 层的基础上加入数据流的识别和传输必须的信息。
- pes 层: Packet Elemental Stream,是在音视频数据上加了时间戳等对数据帧的说明信息。
浏览器播放视频需要解析 视频帧 音频帧
PAT包告诉你要找一个PMT的包,PMT告诉哪些TS包是音频哪些是视频 - es 层:Elementary Stream,即音视频数据。
EXTINF 下面片段时长是多少
http://xxx.com/x.ts
#EXT-X-ENDLIST
RTMP协议 实时消息传输协议
基于TCP
Flash、air平台和支持RTMP协议的流媒体/交互服务器之间进行音视频交流
http-flv协议
不需要处理应答机制,实时性差一些
一定程度上避免防火墙干扰
兼容http302跳转
可使用https做加密通道
很好支持移动端