iOS - 学习直播前基本知识入门(了解)
2018-10-05 本文已影响46人
麦穗0615
1. 什么是视频?
理性认知视频视频: 1>.有结构的数据 2>.提供了视觉和听觉感受 3>.当成数据、一个个小单元去传
CONTAINER/WRAPPER:容器 (内容元素) METADATA:(元数据) 是指视频的一些信息(时长、格式、作者、简介) IMAGE:图像 (分辨率、色彩、 亮度、帧频率) AUDIO:音频 编码格式: VIdeo:H.264,H.265... Audio:AAC.HE-ACC... 容器封装: MP4,MOV,FLV,RM,RMVB,AVI... 视频形成过程: 1.由图像和音频构成的内容元素 2.图像经过视频编码压缩格式处理(通常是H.264) 3.音频经过音频编码格式处理(例如AAC) 4.最后经过一遍容器Container封装打包(例如MP4),构成一个完整的视频文件。
举例理解:
把视频想象成一瓶蕃茄酱。最外层的瓶子好比容器封装(Container),瓶子上注明的原材料和加工厂地等信息好比元信息(Metadata),瓶子打开后(解封装后),蕃茄酱本身好比经过压缩处理后的编码内容,蕃茄和调料加工成蕃茄酱的过程就好比编码(codec),而原材料番茄和提哦啊聊则好比最原本的内容元素(content)。
2. 什么是视频直播?
1>.边生产、边传输、边消费的一个过程 2>.实时传输的视频
2.1. 怎么传输的?
编码时发生了什么
编码器将多张图像进行编码后生产成一段一段的GOP(Group of Pictures),解码器在播放时则时读取一段一段的GOP进行解码后读取画面在渲染显示。
B、P、I
GOP(Group of Pictures)时一组连续的画面,由一张I帧和数张B\P帧组成,是视频图像编码器和解码器存取的基本单位,它的排列顺序将会一直重复到影像结束。I帧是内部编码帧(也成关键帧),P帧是前向预测帧(前向参考帧),B帧是双向内插帧(双向参考帧)。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。
如果没有I帧,P帧和B帧就无法编码,B/P帧相当于辅助帧。
小结一下,一个视频(Video),其图像部分的数据是一组GOP的集合,而单个GOP则是一组I\P\B帧图像的集合。
简而言之:直播就是将每一帧数据(Video/Audio/Data Frame),打上时序标签(Timestamp)后进行流式传输的过程。发送端源源不断的采集音视频数据,经过编码、封包】推流,再经过中继分发网络进行扩散传播,播放端再源源不断地下载数据并按时序进行解码播放。如此就实现了“边生产、边传输、边消费”的直播过程。
2.2. 什么协议?
直播过程
协议差异
2.3. 延迟?
延迟什么时候产生的
造成卡顿的因素有可能是推流端发送数据中断,也有可能是公网传输拥塞或网络抖动异常,也有可能是终端设备的解码性能太差。卡顿顿次越少或没有,则说明用户体验越好。直播性能指标:延迟、卡顿、首屏耗时
第一个直播性能指标是延迟,延迟是数据从信息源发送到目的地所需的时间。 第二个直播性能指标卡顿,是指视频播放过程中出现画面滞帧,让人们明显感觉到“卡”。 第三个直播性能指标首屏耗时,指第一次点击播放后,肉眼看到画面所等待的时间。
2.4. 完整直播过程
完整直播过程:采集、处理、编码、封包、推流、传输、转码、分发、拉流、解码、播放。