直播工作原理——直播流

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。

 

优点:

    1. 可以避免一些防火墙的干扰
    2. 兼容HTTP 302跳转,灵活调度(某cdn的资源找不到,可以去其他cdn找)
    3. 可以使用HTTPS加密
    4. 移动端支持良好

HLS

视频格式是hls,直播点播都可以,文件是.ts
一般用在对实时性要求不高的场合,延时程度可以通过分片大小减轻,对服务器压力不大(并发)

工作原理:会先发送一个m3u8文件,里面包含很多的片段信息,但是时长有限,浏览器会在播放完这些片段前请求新的m3u8文件,就可以一直播

m3u8文件
m3u8是一个文本文件,可以嵌套多个m3u8文件

    1. 开头会说明HLS协议的版本
    2. PLAYLIST-TYPE,区分是点播还是直播
      动态列表 live playlist,直播
      静态列表 event playlist(很少用到)
      全量列表 vod playlist,点播
    3. 片段时长
    4. ENDLIST:一般点播需要用到,告诉浏览器不用像直播一样不断去请求数据

以上是关于直播工作原理——直播流的主要内容,如果未能解决你的问题,请参考以下文章

手把手带你入坑H5与小程序直播开发视频课程直播的工作原理教程

直播技术原理讲解

直播HLS协议

直播HLS协议

直播HLS协议

直播HLS协议