iOS 直播专题1-直播流程原理

前言

当前app最火的几个技术专题无非就是直播、手游、跨平台,只要精通其中任何一个,那工资都是爽的不要不要的,很多人想学苦于无法入门,这里就带大家来了解下直播技术。
直播难,难在专业技术点多,专业概念也多,涉及到音视频压缩算法处理、CDN分发、即时通讯等,单个技能就够你学个好几年了。怎样快速搭建一个直播呢?当然是站在大神的肩膀上!

效果图

IMG_3797.PNG

完整的直播功能

根据效果图猜猜产品设计的功能:

聊天

  • 聊天、表情、弹幕、排行榜、贵宾榜、房间增删查改切换、黑名单等

送礼

  • 普通礼、豪华礼、普通粮、特权、包裹、充值、提现等

直播

  • 录制、美颜、推流、解码、实时播放、历史播放、转播、禁播、超管、鉴黄等

个人

  • 登录、注册、搜索、关注、粉丝、收入等

平台

  • 个人统计、主播统计、收入统计、业务埋点等

完整直播app流程

图片.png

1.音视频采集

从设备(手机)的摄像头、MIC中采集音频、视频的原始数据

2.前置处理

  • 对视频添加美颜、水印、滤镜等
  • 对音频进行混音、消除环境音、声音特效等

3.音视频编码

原始的音视频数据是很大的,需要进行压缩编码,方便快速传输。
常用的编码类型有:

  • 视频编码:H.264、H.265、VP8、VP9
  • 音频编码:aac、Opus、mp3

编码方式又分为软编码、硬编码

  • 软编码: 使用CPU进行编码
  • 硬编码: 不使用CPU进行编码,使用显卡(GPU)进行硬件加速,专用的DSP、FPGA、ASIC芯片等硬件进行编码

4.推流

将编码好的音视频根据流媒体协议格式封装数据,推送到流媒体服务器。
常用的流媒体协议有:
RTMP、RTSP、HLS、RTP/RTCP、FLV

5.流媒体服务器

接收到音视频流,服务器处理步骤:

  • 鉴黄处理
  • 截屏
  • 录制保存
  • 实时转码,常用的格式为RTMP、RTSP、HLS、FLV,方便iOS、Android、pc等根据自身情况拉取各自符合格式的流
  • CDN缓存分发

常用的流媒体服务器有:
nginx、SRS、BMS

6.拉流

各个客户端根据自身情况拉取流媒体服务器转码的音视频流

7.音视频解码

拉取下来的流都是经过第3步编码后的,需求根据编码协议进行解码才能播放

8.播放

各端根据原生提供的API进行音视频播放

iOS直播技术

图片.png

如果觉得可以就点个吧,欢迎粉丝收藏,土豪打赏,您的关注就是我们创作的动力!

读者有什么想看的相关技术篇章,欢迎评论留言!

QQ交流群:908058499

上一篇:无 目录 下一篇:iOS 直播专题2-音视频采集

你可能感兴趣的:(iOS 直播专题1-直播流程原理)