直播工作原理——直播流
Posted chinait
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了直播工作原理——直播流相关的知识,希望对你有一定的参考价值。
第一次接触这个东西,都是不断百度搜索出来总结的一些东西,大佬勿喷!!!
直播过程:视频采集——>视频剪辑(压缩编码(H.264/AAC) --> 字幕叠加 --> 推流 --> CDN)——>播放器
注意:浏览器厂商不同,一些浏览器对视频格式不兼容。
常用直播协议:
ts文件
第一个ts文件会有PAT、PMT、TS、TS、TS...
根据PAT文件找PMT文件
PMT文件包含TS文件信息,哪个是视频哪个是音频
多个TS组成帧、PES
RTMP
通信是基于TCP协议的,传输过程的视频格式是flv,是专门为流媒体开发的协议,主要用在flash,支持rtmp协议的服务器通信,比HLS复杂,但是实时性好,常用在采集端。
HTTP-FLV
RTMP的升级版,通信基于HTTP协议长连接,视频格式是flv。
优点:
- 可以避免一些防火墙的干扰
- 兼容HTTP 302跳转,灵活调度(某cdn的资源找不到,可以去其他cdn找)
- 可以使用HTTPS加密
- 移动端支持良好
HLS
视频格式是hls,直播点播都可以,文件是.ts
一般用在对实时性要求不高的场合,延时程度可以通过分片大小减轻,对服务器压力不大(并发)
工作原理:会先发送一个m3u8文件,里面包含很多的片段信息,但是时长有限,浏览器会在播放完这些片段前请求新的m3u8文件,就可以一直播
m3u8文件
m3u8是一个文本文件,可以嵌套多个m3u8文件
- 开头会说明HLS协议的版本
- PLAYLIST-TYPE,区分是点播还是直播
动态列表 live playlist,直播
静态列表 event playlist(很少用到)
全量列表 vod playlist,点播 - 片段时长
- ENDLIST:一般点播需要用到,告诉浏览器不用像直播一样不断去请求数据
以上是关于直播工作原理——直播流的主要内容,如果未能解决你的问题,请参考以下文章