前言
当前app最火的几个技术专题无非就是直播、手游、跨平台,只要精通其中任何一个,那工资都是爽的不要不要的,很多人想学苦于无法入门,这里就带大家来了解下直播技术。
直播难,难在专业技术点多,专业概念也多,涉及到音视频压缩算法处理、CDN分发、即时通讯等,单个技能就够你学个好几年了。怎样快速搭建一个直播呢?当然是站在大神的肩膀上!
效果图
IMG_3797.PNG完整的直播功能
根据效果图猜猜产品设计的功能:
聊天
- 聊天、表情、弹幕、排行榜、贵宾榜、房间增删查改切换、黑名单等
送礼
- 普通礼、豪华礼、普通🐯粮、特权、包裹、充值、提现等
直播
- 录制、美颜、推流、解码、实时播放、历史播放、转播、禁播、超管、鉴黄等
个人
- 登录、注册、搜索、关注、粉丝、收入等
平台
- 个人统计、主播统计、收入统计、业务埋点等
完整直播app流程
图片.png1.音视频采集
从设备(手机)的摄像头、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-音视频采集
网友评论