直播都使用什么流媒体协议?

下面就大体谈下这种直播的过程大概是个什么样的逻辑吧。

视频

要说直播的话,肯定首要了解的是视频的相关知识。大家都知道视频的很多后缀,例如AVI、MPEG、RMVB、MP4、MOV、FLV、WebM、H.261等等的吧,其实简单的介绍视频的话,就是一组连续播放的图片,想象下幻灯片自动播放速度如果快的话是不是就像一个视频了。其中快速播放的每一张图片,我们称之为帧,每秒图片播放速度,我们称之为帧率(FPS),播放速度快些的话,我们就不会感觉它是一张张图片了。

但是这会引出一个问题,那就是如果那是一张张图片的集合的话,那这种高清的视频会多大,咱们一张按照700K来计算的话,每秒30帧,那一个小时的视频将会达到1200多G,这就很恐怖来,尤其是在网络上想要看一个高清视频的话,简直是绝望。那么改如何解决呢?那就是编码。

之所以能够通过编码进行视频压缩,是因为视频和图片有以下几个特点。

 1. 空间冗余:图像的相邻像素之间有较强的相关性,一张图片相邻像素往往是渐变的,不是突变的,没必要每个像素都完整地保存,可以隔几个保存一个,中间的用算法计算出来。
 2. 时间冗余:视频序列的相邻图像之间内容相似。一个视频中连续出现的图片也不是突变的,可以根据已有的图片进行预测和推断。
 3. 视觉冗余::人的视觉系统对某些细节不敏感,因此不会每一个细节都注意到,可以允许丢失一些数据。
 4. 编码冗余::不同像素值出现的概率不同,概率高的用的字节少,概率低的用的字节多,类似霍夫曼编码的思路。

当前主流的编码套路:

套路一:ITU(International Telecommunications Union)的 VCEG(Video Coding Experts Group),这个称为国际电联下的 VCEG。他们最初做视频编码,主要侧重传输。
套路二:ISO(International Standards Organization)的 MPEG(Moving Picture Experts Group),这个是ISO 旗下的 MPEG,本来是做视频存储的。例如,编码后保存在 VCD 和 DVD 中。当然后来也慢慢侧重视频传输了。
后来,ITU-T(国际电信联盟电信标准化部门,ITU Telecommunication Standardization Sector)与 MPEG 联合制定了 H.264/MPEG-4 AVC。经过编码后的视频就比之前体积小了很多,编码后的二进制文件也就以我们最开始说的那几种格式分别存储。这些二进制通过某些协议的封装就可以在网络中传播了。

具体视频是怎么进行编码的,我就不做说明了,因为我也不太清楚。

链接:https://www.jianshu.com/p/fd4ccacd44bc

你可能感兴趣的:(流媒体协议相关)