6.2 SDK的选择和前期准备
上一节我们介绍了要实现视频直播一共分为七个步骤,其中采集、编解码可以直接调用iOS的SDK,相对比较简单,而前期处理、推拉流是相对比较复杂的操作,这里如果你有底层编码经验,可以直接针对不同协议开发。如果你是初学者或者对底层开发不是很了解,也可以直接选择一些开源库进行开发。这里经过我们多方对比,也为大家选择了比较成熟的一些开源库,在此也对这些提供开源SDK的作者表示感谢。
SDK选择
1.GPUImage
GPUImage是一款强大的图像处理框架,它是基于OpenGL ES的开源框架,提供了各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜,还能够自定义图像滤镜。我们可以利用这个框架对我们的视频做前期处理。
2.LFLiveKit
LFLiveKit是优酷土豆旗下直播开源的iOS推流框架,我们可以利用这个框架进行推流操作。
3.IJKplayer
ijkplayer是B站提供的开源拉流框架,它同时支持iOS和Android两个客户端,我们可以利用这个框架进行拉流操作。
前期准备
在正式开发之前,我们还需要做一些准备工作。
1.安装 yasm
下载最新版本yasm-1.3.0.tar
http://yasm.tortall.net/Download.html
打开压缩包,在终端依次执行如下命令:
cd yasm-1.3.0
./configure
make
sudo make install
输入密码 执行
执行完命令会出现图6-1的效果
图6-1
2.gas-preprocessor
下载gas-preprocessor.pl
https://github.com/libav/gas-preprocessor
3.安装 Brew
终端输入如下命令:
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
4.编译FFmpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案.我们在完成前面3项准备工作后就可以编译FFmpeg了,FFmpeg的编译是个比较耗时的过程,而且必须先完成上面3项,以免出现各种错误。编译效果如图6-2所示:
图6-2
编译成功后的文件夹,如图6-3所示
图6-3