2022
我们一起努力

直播云服务器搭建,云直播怎么搭建

作者:Pasca

来源:蛋蛋团(ID:dandan_tuan)

申明:部分图片来源于网络,侵删

本文为蛋蛋团直播云知识讲解两篇中的第一篇,更多精彩,请关注公众号:蛋蛋团(ID:dandan_tuan)

大纲

一、直播科普

1、直播是什么

2、视频编码压缩

3、视频直播的准确定义

二、常见直播技术梳理

1、直播业务逻辑

2、直播技术栈

三、直播协议的区别以及应用场景

1、推流

2、拉流

3、开源推拉流软件推荐

四、借助直播云快速搭建直播

1、简要流程

2、产品框架

一、直播科普

1、直播是什么?

在讲直播之前,我们先来了解下常见的视频结构。理解视频的结构有助于我们更好的去理解直播。

从本质上讲,直播就是一帧帧的数据加上时序标签流式传输。这里有个悖论:一个容器封装好后的视频是“结构化”的,即不可变的。

那直播又是怎么产生的呢?或者说,怎么去打破这个已经产生的“结果”,从而还往里面加上时序标签流式传输的呢?

很简单,那就是“边生产边传输边播放”。至于如何达到这种效果,我们继续往下看。

2、视频编码压缩

前文讲直播,怎么又突然讲到视频了呢?

很简单,视频和直播息息相关,就如两个相通的编码压缩。那这里讲的编码压缩又是什么呢?

这里我们举个简单的例子,假设采集设备(摄像机等)采集一帧图像会生成无损的.bmp文件格式的图片文件,一个6M通过有损压缩得到200kb的JPEG文件,压缩比就是1/30。

但是视频不需要单独传输一张张压缩图,只需要记录每帧之间的差别即可。

于是,根据I帧(200K原始图像)生成差异文件P帧,通过I帧和P帧再生成B帧。这,就是H.264编码。

如上图所示,编码压缩就像魔术一般,一段视频,如果经过编码压缩后,可以大幅度的缩小体积。而各种不同的压缩算法就是编码格式,如今主流的音视频编码格式就是H.264+AAC,也是各大平台兼容性最好的编码格式方案。

视频内容经过编码压缩大幅度的减少体积后,有利于存储和压缩。但是相应的,传输时也是被压缩算法所“加密”的视频。所以,在播放端也需要一个“解密”的过程。

在编码和解码之间,显然需要一个编码器和解码器都可以理解的约定,就图像而言:生产端的编码器将多张图像进行编码后生成一段端的GOP(Group of pictures), 播放端的解码器则是读取一段段的GOP解码后读取画面再渲染显示。

编码过程如下图所示:

一个公式:

GOP = I(帧内编码帧) + B(双向预测帧) + P(前向预测帧)

其中I帧也叫关键帧,是一副完整的画面,而P帧则是记录I帧的变化(H.264中通过补偿算法根据I帧得到的差异文件),B帧类似。

再简单点说,如果没有I帧,P帧和B帧也无法解码。这也很好理解,没有原始对比文件,只有差异文件是无法渲染画面的。

GOP结构一般两个数字,如M=1,N=2。M指定I帧和P帧之间的距离,N指定两个I帧之间的距离,其他都是B帧填充。如M=1,N=2这里的例子是IDR PB I排序。

有些地方会讲IDR帧,其实就是GOP的第一个I帧,这个帧很重要,因为关于首开优化基本上都在去尽可能减小IDR帧的大小。

总结一下。

编码后的视频(video) = 一组 GOP 画面 = 一组 I帧 +B帧 +P帧。

如果用物理学上的概念来类比,仅为了更好理解,Video就是“物体”, GOP好比“分子”,I/P/B帧的图像就是“原子”。而直播,就是利用video的“原子”传输。

3、视频直播的准确定义

到这里,我们终于可以来尝试来给直播表述较为准确的一个定义。

直播就是将每帧数据(Video/Audio/Data Frame),打上时序标签后进行流式传输的过程。

发送端源源不断的采集音视频数据,经过编码、封包、推流,再经过中继分发网络进行扩散传播。播放端则源源不断的下载数据并按时序进行解码播放。这样就完成了“边生产、边传输、边播放”的直播过程了。

简而言之,视频直播技术,就是将视频内容的最小颗粒(I/P/B帧),基于时序标签,以流式传输的一种技术。

划重点:

GOP越长,所包含的B帧和P帧越多,响应的压缩比也会更高。

GOP越短,I帧比例增高,压缩比增加,同码率下视频质量会下降。

二、常见直播技术梳理

1、直播业务逻辑

直播也分为两种,一种就是直播服务,一种叫互动直播。

打个比方,如果直播 服务是个信号发射塔,那互动直播 就是个带舞台的剧院。

今天我们这里主要讲述的主要是前一种,也就是“信号塔”式直播。

相比较“舞台式”互动直播,“信号塔”式直播只要知道发射塔的信号频率(即频道号或链接)就能收看它发送的节目,但是并不能很好的去实时交互动。

而对于互动直播来说,“舞台上”的演员可以很多个,观众也可能被邀请到舞台上面对面交流,所以互动直播的延时会比直播更低,甚至达到了毫秒级(100ms)。

当然,互动直播经过旁路转推也可以经过“发射塔”播出去,这就是“旁路转推”功能。

常见直播业务逻辑如下:

划重点:

推流:指的是把采集阶段封包好的内容传输到服务器的过程

拉流:即将服务器封包好的内容拉取到播放端解码播放的过程

2、直播技术栈

下面是一个如今主流的直播泳道,非常直白的表述了从主播端采集视频到观看端播放直播的数据流向,下面我们根据其中主要的几大模块一一详解。

数据采集→数据预处理→数据编码→数据传输(流媒体服务器)→解码数据→直播播放

1、数据采集(主播端)

采集设备:手机、电脑、摄像机

2、数据预处理

涉及功能:美颜、滤镜涉及技术:SDK内置算法或第三方特效

3、数据编码

编码器主要流程:

  • 上图为帧内编码(I 帧),帧间编码(P帧)类似。
  • 编码方式:CBR(静态码率)和VBR(动态码率)
  • 视频编码格式:H.265、H.264、MPEG-4等
  • 音频编码格式: Opus、G711、AAC、Speex、3A等
  • 视频封装容器:封装容器有TS、MKV、AVI、MP4等
  • 音频封装容器:MP3、OGG、AAC等

4、数据传输

传输协议:

  • 推流:RTSP、RTMP、QUIC
  • 拉流:RTMP、HTTP-FLV、HLS控制信令:SIP、SDP、SNMP

5、解码数据

涉及技术:编码器自带解码器

6、数据播放(播放端)

播放渠道:移动端(手机、平板等)、客户端(PC等)、网页端(各终端)

赞(0)
文章名称:《直播云服务器搭建,云直播怎么搭建》
文章链接:https://www.fzvps.com/109777.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!