前言
最近会研究很多东西,并分享,这几年移动直播行业的兴起,诞生了一大批网红,甚至明星也开始直播了,因此不得不跟上时代的步伐,由于第一次接触的原因,因此花了很多时间了解直播,整理了直播的原理,当前只是原理篇
,后续会持续发布实战篇
,教你从零开始搭建一个完整的iOS直播app
,希望能帮助到更多的人更快的了解直播。
一、个人见解(直播难与易)
直播难
:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。
直播易
:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。
二、了解直播
热门直播产品
映客,斗鱼,熊猫,虎牙,花椒等等
直播效果图
直播效果.jpeg
1.一个完整直播app功能(来自落影loyinglin分享)
-
1、
聊天
-
私聊、聊天室、点亮、推送、黑名单等;
-
-
2、
礼物
-
普通礼物、豪华礼物、红包、排行榜、第三方充值、内购、礼物动态更新、提现等;
-
-
3、
直播列表
-
关注、热门、最新、分类直播用户列表等;
-
-
4、
自己直播
-
录制、推流、解码、播放、美颜、心跳、后台切换、主播对管理员操作、管理员对用户等;
-
-
5、
房间逻辑
-
创建房间、进入房间、退出房间、关闭房间、切换房间、房间管理员设置、房间用户列表等;
-
-
6、
用户逻辑
-
普通登陆、第三方登陆、注册、搜索、修改个人信息、关注列表、粉丝列表、忘记密码、查看个人信息、收入榜、关注和取关、检索等;
-
-
7、
观看直播
-
聊天信息、滚屏弹幕、礼物显示、加载界面等;
-
-
8、
统计
-
APP业务统计、第三方统计等;
-
-
9、
超管
-
禁播、隐藏、审核等;
-
2.一个完整直播app原理
直播原理
:把主播录制的视频,推送到服务器,在由服务器分发给观众观看。
直播环节
:推流端(采集、美颜处理、编码、推流)、服务端处理(转码、录制、截图、鉴黄)、播放器(拉流、解码、渲染)、互动系统(聊天室、礼物系统、赞)
3.一个完整直播app实现流程
1.采集、2.滤镜处理、3.编码、4.推流、5.CDN分发、6.拉流、7.解码、8.播放、9.聊天互动
直播流程.png
4.一个完整直播app架构
直播架构.png
5.一个完整直播app技术点
WeChat_1472043345.jpeg
三、了解流媒体(直播需要用到流媒体)
-
流媒体开发
:网络层(socket或st)负责传输,协议层(rtmp或hls)负责网络打包,封装层(flv、ts)负责编解码数据的封装,编码层(h.264和aac)负责图像,音频压缩。 -
帧
:每帧代表一幅静止的图像<