直播时代--IOS直播客户端SDK,美颜直播【开源】
当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC、UGC的视频直播门槛都降低了很多。
本文介绍一个:IOS 客户端直播的SDK,代码完全开源。
直播时代:让IOS普通开发者一天内做出一个RTMP直播客户端,并且带有美艳直播功能。(文章最下面有github源码地址)
包含一下功能:
1, 提供IOS苹果手机的RTMP推流;
填写RTMP服务地址,直接就可以进行推流。
2,美颜直播
美不美都能装的直播,IOS OPENGL美艳加速,手机完全不发烫。
3,前后摄像头随时切换
4,提供RTMP连接状态的回调
一,首先简单扫盲
当前直播都是用RTMP协议,推流到RTMP服务器。
然后RTMP服务器提供RTMP视频服务;
当然通常RTMP服务器也提供HLS,把视音频流切片成ts流,然后用户可以直接播放xxx.m3u8的流媒体。
二,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
最后,如果觉得代码对你有帮助,请在github中帮助“star”,加个小星星。
如果有问题,可以在我的问题区提问,欢迎交流。
直播时代--IOS直播客户端SDK,美颜直播【开源】的更多相关文章
- 直播时代--IOS直播客户端SDK,美艳直播【开源】
看到该文章我非常喜欢,为了方便自己查看和参考所以将其复制过来,源文地址:http://www.cnblogs.com/runner42/p/5241407.html 请支持原作者.原作者如看到请原谅复 ...
- 直播推流端弱网优化策略 | 直播 SDK 性能优化实践
弱网优化的场景 网络直播行业经过一年多的快速发展,衍生出了各种各样的玩法.最早的网络直播是主播坐在 PC 前,安装好专业的直播设备(如摄像头和麦克风),然后才能开始直播.后来随着手机性能的提升和直播技 ...
- 大直播时代,P2P才是降低成本的必杀技
在流媒体传输分发领域,CDN和P2P一直是经常被拿来进行对比和讨论的一大热点,虽然不少大型视频企业目前同时使用着CDN和P2P两套分发机制,但相对于CDN,很多人对于P2P技术知之甚少.整体来说,P2 ...
- 转: 如何选CDN:互联网大直播时代的CDN选择指南
from: http://www.chnvideo.com/blog-classic-cdn.html SRS 编码器 如何选CDN:互联网大直播时代的CDN选择指南 CDN是一个服务型的公司, ...
- 如何选CDN:互联网大直播时代的CDN选择指南
转: 如何选CDN:互联网大直播时代的CDN选择指南 from: http://www.chnvideo.com/blog-classic-cdn.html SRS 编码器 如何选CDN:互联网 ...
- iOS直播集成和问题总结(阿里云直播)
https://www.jianshu.com/p/714ce954e628 最近接手公司的直播项目,对以前遗留的问题做处理和优化, 于是顺便看了下阿里云直播的文档,在下面写下对直播的理解和遇到的问题 ...
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- 基于anyrtc的sdk实现直播连麦互动
基于anyrtc的sdk实现直播连麦互动 前言 1.由于粘贴了较大的代码,造成内容比较长,可能会花费您较长的时间. 2.项目里面没有做权限判断,所以如果发现有页面发生崩溃可能是权限没有打开,请打开权限 ...
- 直播 背景 技术体系 乐视云直播Demo
背景 最近工作需要做一款直播APP,恩是的,从RTMP协议的实现开始到处理服务器高并发.负载均衡.客户端播放器实现等等等..... 估计全部写完我也到而立之年了吧...... BOSS们估计也是发现了 ...
随机推荐
- Windows下Thumbnail的开发总结
一.引言 Windows Thumbnail Handler是Windows平台下用来为关联的文件类型提供内容预览图的一套COM接口.通过实现Thumbnail相关的COM接口,就可以为为自定义的文件 ...
- 纪念品分组 2007年NOIP全国联赛普及组
题目描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格 ...
- Oracle内置函数:时间函数,转换函数,字符串函数,数值函数,替换函数
dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期 ...
- android.view.InflateException: Binary XML file line #34: Error inflating class
问题一般出在xml的第三方View的全类名,你可能是直接粘贴过来的,没有改成自己项目的全类名.
- ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)
要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式,后台开辟一个线程将excel导出到指 ...
- Xdebug文档(二)变量显示特性
Xdebug能替代PHP的var_dump()函数来显示变量值.xdebug的版本包含对不同数据类型作数组元素/对象属性.最大深度和字符串长度以不同颜色标识.这里也有一些功能能很好地处理变量显示. 相 ...
- .NET程序员走向高端必读书单汇总
.NET程序员走向高端必读书单汇总 一.知识树 1. 基本能力 1.1 数学 1.2 英语 1.3 语言表达 2. 计算机组织与体系结构 3. 算法与数据结构 4. 操作系统 5. 计算机网络 6. ...
- CSS3与页面布局学习笔记(七)——前端预处理技术(Less、Sass、CoffeeScript、TypeScript)
CSS不像其它高级语言一样支持算术运算.变量.流程控制与面向对象特性,所以CSS样式较多时会引起一些问题,如修改复杂,冗余,某些别的语言很简单的功能实现不了等.而javascript则是一种半面向对象 ...
- javascript关于继承
上一篇已介绍了组合继承,现在讲讲剩余的几种继承. 原型式继承 调用一个函数,接收这个函数返回来的对象,这个对象的原型就是传入函数的参数对象. 如: function personObject(o){ ...
- jQuery静态方法isFunction,isArray,isWindow,isNumeric使用和源码分析
上一篇随笔中总结了js数据类型检测的几个方法和jQuery的工具方法type方法,本篇要分析几个方法都依赖type方法,所以不了解type方法的请先参看http://www.cnblogs.com/y ...