iOS直播类APP开发流程解析(内附源码详解)

2018-06-22  本文已影响0人  胖子爱吃素

前言

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

如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会进行修改,
联系我时,请备注iOS直播类APP开发流程解析(技术交流群:656315826)
最后:
祝大家学习愉快~谢谢~

一个完整直播APP原理

一个完整直播APP实现流程

1.采集视频、音频

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

视频处理的框架

3.音视频编码解码

视频压缩编码标准:对视频进行压缩(视频编码)或者解压缩(视频解码)的编码技术,比如MPEG,H.264,这些视频编码技术是压缩编码视频的

音频编码技术
AAC,mp3:这些属于音频编码技术,压缩音频用
码率控制
多码率:观众所处的网络情况是非常复杂的,有可能是WiFi,有可能4G、3G、甚至2G,那么怎么满足多方需求呢?多搞几条线路,根据当前网络环境自定义码率。
视频封装格式

4.推流

推流,就是将采集到的音频,视频数据通过流媒体协议发送到流媒体服务器。

5.流媒体服务器
常用服务器

6.拉流

直播协议选择:

HLS:由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。可实现流媒体的直播和点播,主要应用在iOS系统

7.解码

使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像/声音
涉及技术或协议:
一般对应的编码器都会带有相应的解码器,也有一些第三方解码插件等

8.播放

ijkplayer:一个基于FFmpeg的开源Android/iOS视频播放器

9.聊天互动

第三方SDK
腾讯云:腾讯提供的即时通讯SDK,可作为直播的聊天室
融云:一个比较常用的即时通讯SDK,可作为直播的聊天室

项目代码获取

想要获取案例源码可以加我技术交流群:656315826 最近我在研究这一块,如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会进行修改,共同学习进步。
祝大家学习愉快

直播APP流程思维导图
上一篇 下一篇

猜你喜欢

热点阅读