直播APP主要实现的流程
1.采集、2.滤镜处理、3.编码、4.推流、5.CDN分发、6.拉流、7.解码、8.播放、9.聊天互动
直播APP架构
直播APP技术点
已有框架的支撑
1、视频采集端
LFLiveKit:一个OC写的可读性非常好的开源推流框架
2、视频处理框架
GPUImage:一个基于OpenGL ES的一个强大的图像/视频处理框架,封装好了各种滤镜同时也可以编写自定义的滤镜,其本身内置了多达120多种常见的滤镜效果。
美颜功能也可以直接使用的是BeautifyFace,它可以很快速的实现美颜功能,效果不错,它的底层还是基于的GPUImage
3、视频播放端
ijkplayer:一个基于FFmpeg的开源Android/iOS视频播放器
把ijkplayer编译成对应使用的平台,最好把IJKMediaPlayer打包成静态库,然后倒入到项目中,有直播的拉流地址就可以播放啦
映客主播url:http://116.211.167.106/api/live/aggregation?uid=133825214&interest=1
FFmpeg:是一个跨平台的开源视频框架,能实现如视频编码,解码,转码,串流,播放等丰富的功能。其支持的视频格式以及播放协议非常丰富,几乎包含了所有音视频编解码、封装格式以及播放协议。
4、配置流媒体服务器尝试
在Mac上搭建nginx+rtmp服务器
nginx:免费开源web服务器,用它来做hls或者rtmp流媒体服务器是非常不错
5、聊天互动
使用网易云信、腾讯云、融云等第三方SDK