6.1 iOS视频直播流程介绍

在介绍如何实现iOS视频直播之前,我们首先要先了解视频直播是通过哪些流程步骤实现的。

1.手机端和服务器端的交互

我们自己开启直播向服务器传输数据的过程叫做推流。我们向服务器获取视频数据的过程叫做拉流,

2.手机端视频直播流程

视频直播,可以大体分为采集,前期处理,编码,推流和传输,服务器处理,解码拉流,播放直播七个步骤。

1.采集

采集是整个视频直播推流过程中的第一个环节,它是从设备中获取原始视频和音频数据,将其输出到下一个环节。视频的采集涉及两方面数据的采集:音频采集和图像采集,它们分别对应两种完全不同的输入源和数据格式。

2.前期处理

现在的直播不单单是简单的录制视频,一般还需要对视频做一些美化处理,比如美颜,模糊效果, 水印等等都是在这个环节做. 目前iOS端在这方面最著名开源框架就是GPUImage.其中内置了125种渲染效果, 还支持各种脚本自定义等等,让我们可以对视频做更多的处理。

3.编码

对流媒体传输来说,编码是比较重要的,它的编码性能、编码速度和编码压缩比会直接影响整个流媒体传输的用户体验和传输成本.重难点在于要在分辨率,帧率,码率,GOP等参数设计上找到最佳平衡点。iOS8之后, Apple开放了VideoToolbox.framework, 可以直接进行硬编解码, iOS端硬件兼容性比较好, 可以直接采取硬编码,常用的编码有:H265等。

4.推流和传输

这里取决于服务器端的性能,发送端和接收端的网络连接抖动缓存还是要自己实现的.目前的主要传输协议一般是RTMP,HLS,FLV等。

5.服务器处理

服务器对推来的视频流做一些流处理工作, 适配各种不同协议,比如:RTMP,HLS,FLV等。

6.解码拉流

我们知道编解码是相对存在的,推流需要编码,同样拉流就需要解码.

7.播放直播

通过播放器对流进行播放。

results matching ""

    No results matching ""