【如何快速的开发一个完整的iOS直播app】(原理篇)

发布于 2019-08-24 | 作者: 袁峥 | 来源: 简书 | 转载于: 简书

目录

前言

大半年没写博客了,但我一直关注着互联网的动向,最近会研究很多东西,并分享,今年移动直播行业的兴起,诞生了一大批网红,甚至明星也开始直播了,因此不得不跟上时代的步伐,由于第一次接触的原因,因此花了很多时间了解直播,整理了直播的原理,当前只是原理篇,后续会持续发布实战篇,教你从零开始搭建一个完整的iOS直播app,希望能帮助到更多的人更快的了解直播。
如果喜欢我的文章,可以关注我微博:袁峥Seemygo

一、个人见解(直播难与易)

直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。

直播易:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。

二、了解直播

热门直播产品

映客,斗鱼,熊猫,虎牙,花椒等等

直播效果图

1、一个完整直播app功能(来自落影loyinglin分享)

2、一个完整直播app原理

直播原理:把主播录制的视频,推送到服务器,在由服务器分发给观众观看。

直播环节:推流端(采集、美颜处理、编码、推流)、服务端处理(转码、录制、截图、鉴黄)、播放器(拉流、解码、渲染)、互动系统(聊天室、礼物系统、赞)

3、一个完整直播app实现流程

(1)、采集
(2)、滤镜处理
(3)、编码
(4)、推流
(5)、CDN分发
(6)、拉流
(7)、解码
(8)、播放
(9)、聊天互动

4、一个完整直播app架构

5、一个完整直播app技术点

三、了解流媒体(直播需要用到流媒体)

四、直播基础知识介绍:

1、采集视频、音频

1.1、采集视频、音频编码框架

1.2、视频、音频硬件设备

2、视频处理(美颜,水印)

视频处理框架

3、视频编码解码

3.1、视频编码框架

3.2、视频编码技术

3.3、音频编码技术

3.4、码率控制

3.5、视频封装格式

4、推流

4.1、数据传输框架

librtmp:用来传输RTMP协议格式的数据

4.2、流媒体数据传输协议

5、流媒体服务器

5.1、常用服务器

5.2、数据分发

6、拉流

7、解码

7.1、解封装

7.2、音频编码框架

7.3、解码介绍

8、播放

9、聊天互动

五、如何快速的开发一个完整的iOS直播app

1、利用第三方直播SDK快速的开发

七牛云:七牛直播云是专为直播平台打造的全球化直播流服务和一站式实现SDK端到端直播场景的企业级直播云服务平台.
* 熊猫TV,龙珠TV等直播平台都是用的七牛云

网易视频云:基于专业的跨平台视频编解码技术和大规模视频内容分发网络,提供稳定流畅、低延时、高并发的实时音视频服务,可将视频直播无缝对接到自身App.

2、第三方SDK公司为什么要提供SDK给我们?

3、直播功能:自研还是使用第三方直播SDK开发?

第三方SDK开发: 对于一个初创团队来讲,自研直播不管在技术门槛、CDN、带宽上都是有很大的门槛的,而且需要耗费大量的时间才能做出成品,不利于拉投资。

自研:公司直播平台大,从长远看,自研可以节省成本,技术成面比直接用SDK可控多了。

4、第三方SDK好处

结束语

后续还会有讲解视频采集,美颜,聊天室,礼物系统等更多功能,敬请关注!!!