原文地址:http://www.cnblogs.com/runner42/p/5241407.htmlhtml
本文介绍一个:IOS 客户端直播的SDK,代码彻底开源。ios
直播时代:让IOS普通开发者一天内作出一个RTMP直播客户端,而且带有美艳直播功能。(文章最下面有github源码地址)git
包含一下功能:github
填写RTMP服务地址,直接就能够进行推流。服务器
美不美都能装的直播,IOS OPENGL美艳加速,手机彻底不发烫。网络
一,首先简单扫盲session
当前直播都是用RTMP协议,推流到RTMP服务器。iphone
而后RTMP服务器提供RTMP视频服务;async
固然一般RTMP服务器也提供HLS,把视音频流切片成ts流,而后用户能够直接播放xxx.m3u8的流媒体。ide
二,SDK使用简介
1,初始化
[LiveVideoCoreSDK sharedinstance]:全局独立的SDK实例,你不用管理对象的申请和释放;
初始化RTMP链接和视频参数,很是简单:
[[LiveVideoCoreSDK sharedinstance] LiveInit:RtmpUrl Preview:self.view VideSize:LIVE_VIEDO_SIZE_CIF BitRate:LIVE_BITRATE_500Kbps FrameRate:LIVE_FRAMERATE_20];
参数:
RtmpUrl: rtmp服务器地址参数,如rtmp://192.168.30.191/live/123456
Preview: IOS本地预览显示的UIVIEW对象,如今都喜欢全屏直播模式,这里直接用self.view
VideSize: 视频分辨率。这里提供了几种视频分辨率,CIF(320*640),D1(540*960),720P(720*1280)
BitRate: 视频码率。有500kbps对应CIF,800kbps对应D1, 2Mbps对应720p,怎么配置就看你手机当前的带宽状况了。
FrameRate: 视频帧率。这个决定视频流畅程度,帧率越高越流畅。这里提供:15帧/s,20帧/s,25帧/s,20帧/s
2,链接RTMP视频服务器
[[LiveVideoCoreSDK sharedinstance] connect];
调用这个接口后,开始打开iphone本地手机预览,而且开始链接RTMP服务器。
若是网络没有问题,RTMP服务器没有问题,直播就开始了,简单吧!
3,设置滤镜:提供美艳效果
- (void)setFilter:(LIVE_FILTER_TYPE) type;
当前提供了美白效果,设置一个LIVE_FILTER_BEAUTY这个参数,看看你有多美白。
4,设置先后摄像头
- (void)setCameraFront:(Boolean)bCameraFrontFlag;
先后摄像头随时动态切换,想怎么拍就怎么拍。
5,设置RTMP链接状态回调
[LiveVideoCoreSDK sharedinstance].delete = self;
在你的viewcontroller中实现协议:LIVEVCSessionDelegate,以下,这样你能够随时知道RTMP链接的状态了。
//rtmp status delegate:
- (void) LiveConnectionStatusChanged: (LIVE_VCSessionState) sessionState{
dispatch_async(dispatch_get_main_queue(), ^{
switch (sessionState) {
case LIVE_VCSessionStatePreviewStarted:
_RtmpStatusLabel.text = @"RTMP状态: 预览未链接";
break;
case LIVE_VCSessionStateStarting:
_RtmpStatusLabel.text = @"RTMP状态: 链接中...";
break;
case LIVE_VCSessionStateStarted:
_RtmpStatusLabel.text = @"RTMP状态: 已链接";
break;
case LIVE_VCSessionStateEnded:
_RtmpStatusLabel.text = @"RTMP状态: 未链接";
break;
case LIVE_VCSessionStateError:
_RtmpStatusLabel.text = @"RTMP状态: 错误";
break;
default:
break;
}
});
}
6,直播结束,断开rtmp链接
[[LiveVideoCoreSDK sharedinstance] disconnect];简单吧,不解释了。
GitHub地址: https://github.com/runner365/LiveVideoCoreSDK