开发一个直播产品涉及到很多技术,主要有音视频采集,美颜,编码和解码(软编和硬编),封包,推流,拉流,播放,聊天,礼物等。
虽然技术点多且复杂,不过现在已经有成熟的框架可以让我们使用,省去了很多的麻烦和时间。下面介绍几个最常用的框架。
1、GPUImage,一个强大的美颜框架,基于OpenGL ES,它集成了音视频采集,美颜功能。
2、LFLivekit,一个rtmp推流框架,它集成了编码,封包,推流,需要注意的是如果使用了这个框架,就不需要再集成GPUImage,因为LFLiveKit已经集成了GPUImage。
3、IJKPlayer,一个直播播放框架,它集成了拉流,解码和播放。
4、Socket.IO-Client-Swift,一个webSocket协议框架,这个是iOS端,还有服务器端用于服务器开发,在直播中如果我们用webSocket协议开发IM系统就可以使用这个框架。
如果要看代码,我写了一个直播的demo可供学习。