码迷,mamicode.com
首页 > 其他好文 > 详细

直播工作原理——直播流

时间:2019-09-20 16:58:10      阅读:836      评论:0      收藏:0      [点我收藏+]

标签:传输过程   移动端   加密   协议   时长   不用   多个   直播   tps   

第一次接触这个东西,都是不断百度搜索出来总结的一些东西,大佬勿喷!!!

直播过程:视频采集——>视频剪辑(压缩编码(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:一般点播需要用到,告诉浏览器不用像直播一样不断去请求数据

直播工作原理——直播流

标签:传输过程   移动端   加密   协议   时长   不用   多个   直播   tps   

原文地址:https://www.cnblogs.com/ChinaIT/p/11557828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!