1、开发者如何调用直播SDK或API接入直播功能趣看云视频直播点播服务视频直播推流SDK iOS开发指南版本:1.02016.05SDK 概述趣看IOS视频直播推流 SDK 是一个强大的实时直播推流引擎,可用于构建直播互动、美女秀场、远程教育等产品。SDK 提供了构建直播推流所需要的所有核心技术,包括:音视频管理、音视频采集、编码、网络传输、显示等功能。SDK 支持 iOS 7.0 及以上系统。开发准备 在趣看后台生成账号,获取到账号对应的APPKEY 下载视频直播推流 iOS SDK 解压下载的视频直播推流 SDK 开发包,将头文件和静态库都导入工程。 添加 IPCameraSDK依赖库o UI
2、Kit.frameworko CoreImage.frameworko QuartzCore.frameworko AVFoundation.framworko OpenGLES.frameworko CoreMedia.frameworko CoreVideo.frameworko CoreGraphics.frameworko Security.frameworko Foundation.frameworko CFNetwork.framework 在 Other Linker Flags 中添加 -ObjC 在需要使用 SDK 的地方 import IPCameraSDK.h直播流程展示
3、图 IOS接口函数调用图趣看直播使用接入非常简易,只需要接入SDK后,实现流程图中的5个方法,即可实现实时视频直播。SDK 类说明SDK 所有功能都封装在 IPCameraSDK类中,下面详细介绍下 IPCameraSDK类的功能。初始化Appkey+(int)initAppkey:(NSString*)appkey;此接口提供用户只需要设置账户的Appkey,即可开通直播权限。设置后,sdk会发送一个通知Notification,通知中携带Appkey验证信息。初始化SDK委托+(void)initSDKDelegate:(id)delegate;此接口初始化IPCameraSDK接口,并设
4、置错误消息的回调接口;如果设置了代理,后面sdk产生了错误的消息,会回调方法IPCameraSDKSupportFun。 错误回调代理-(void)IPCameraSDKSupportFun:(UInt16)type ErrorString:(NSString*) error根据返回的错误信息,判断Appkey的验证、直播中错误信息、推流情况。 直播结束后,清除委托+(void) cleanupDelegate;直播参数设置IPCameraSDK中直播相关的参数为:视频的清晰度、视频的码率、视频的帧率,还可以设置设备朝向,主要用于纠正用户直播中,设备旋转导致的画布显示也旋转的问题。设置RTMP
5、重连时间,用于在推流连接断开后,进行重连: 设置视频清晰度-( BOOL) setCameraEncodeType:(NSInteger)encodeType; 设置视频码率+( BOOL)setCameraVideoBitRate:(NSInteger)videobitrate; 设置视频帧率+(BOOL)setVideoFrame:(int)videobitrate; 设置设备朝向+(void)setAppOrientation:(UIInterfaceOrientation)orientation;目前支持:竖屏 UIInterfaceOrientationPortrait,横屏 UII
6、nterfaceOrientationLandscapeRight 设置RTMP重连时间+(void)setRtmpReConnectTime:(int)iTime;设置rtmp重连时间,默认为500毫秒重连一次,可以手动更改,参数必须要大于或等于500毫秒摄像头开关(startCamera与stopCamera)IPCameraSDK提供用户开启和关闭摄像头的操作: 直播前开启摄像头+(int) startCameraNoEncodeType:(UIView *)view VideoPath:(NSString*) videoPath GainValue:(float)gain_value
7、Orientation:(AVCaptureVideoOrientation)Orientation Camera:(NSInteger)cameraValue;view:摄像头采集到的画面,所显示的画布。VideoPath:选录像文件,在documents下保存的相对路径,不需要录像可以填nil。GainValue:声音增大效果 范围 0 1.Oreintation:竖屏拍摄还是横屏拍摄,AVCaptureVideoOrientationPortrait竖拍 AVCaptureVideoOrientationLandscapeRight横拍.CameraValue:摄像头。0:前置摄像头 1
8、、后置摄像头。 直播完成后关闭摄像头-(void)stopCamera;开始和断开推送视频数据IPCameraSDK提供视频推送数据开启和关闭的接口,方便用户控制那些数据需要推送,那些数据不需要: 开始推送视频数据+(int) startRtmp :(NSString *)rtmp_server_address;开启推送视频数据的线程,与中断数据推送相配对。 中断数据推送+(int) stopRtmp;中断数据推送,中断后,只要摄像头没关闭,还可以调用startRtmp,重新开启视频推送。开启美颜功能IPCameraSDK提供接口,开启美颜功能:+(int)setEffect:(BOOL)va
9、lue;参数Value:YES开启美颜,NO 关闭美颜,返回值0 表示成功,1 表示无美颜功能权限,2表示机器不支持该功能开启或者关闭音频IPCameraSDK在开启摄像头后,提供任意时刻的开关音频的功能:+(void) switchAudio :(int) audioType;参数 0 关闭音频,1 开启音频。直播中修改声音增益的效果IPCameraSDK在开启摄像头后,提供任意时刻的修改声音增益属性:+(void) changeGainValue : (float)gain_value;参数gain_value范围0-1,声音增益的幅度,0最小 1最大。切换摄像头IPCameraSDK在开
10、启摄像头后,提供在任意时刻的前后摄像头切换功能:+(BOOL) switchChangeCamera : (int) cameraValue;返回切换摄像头成功或者失败,参数 0:启动前置摄像头 1:启用后置摄像头。摄像头闪光灯的开启和关闭IPCameraSDK在开启摄像头后,可以开启或者关闭闪光灯。+(BOOL) switchFlash:(int)flashFlag;返回开启闪光灯成功或者失败,参数: 0:关闭闪光灯。 1:开启闪光灯。摄像头聚焦模式改变IPCameraSDK在开启摄像头后,可以改变其聚焦模式。+(BOOL) switchFocusMode : (int) focusType
11、;返回改变聚焦模式成功或者失败,参数: 0:自动聚焦。 1:手动聚焦。 手动聚焦设置焦点+(void) manualFocus:(CGPoint) touchPoint TouchView:(UIView *)view;在调用switchFocusMode(1)后,切换到手动聚焦的模式,就可以调用该函数使手机的摄像头修改聚焦的焦点位置。摄像头焦距改变IPCameraSDK在开启摄像头并且你的设备系统高于IOS7,设备型号为Iphone5及以上设备,你可以在任意时刻实时改变摄像头的焦距:+(void) zoomOut : (float) scale;在开启摄像头后,就可以设置摄像机焦距,参数范围
12、:1-10,1 物体正常大小 10 物体被放大多倍。设置和清除水印IPCameraSDK提供设置水印的接口,用于给视频添加Logo,在初始化SDK后可以调用: 设置水印+(void)setUserImage:(UIImage*)logoimg Transparent:(int)transparent Offset:(int) offset;参数transparent logo图片的透明度 0-10之间,0完全透明,10不透明,参数offset logo图片的位置 0 表示设置logo在左上角 1表示设置logo在右上角。每次设置logo前,先调用clearUserImage 清除已有logo。
13、Logo要针对分辨率进行设置,其中,所有16:9的图像 logo 标准按照 1280*720来的,640*480 与352*288的logo需单独设置。 清除水印+(void)clearUserImage;清除已有logo水印。直播健康状况、实时流量以及总流量的统计IPCameraSDK提供设置查询直播健康状况、实时流量、总流量的接口,还能清空当前总流量的统计。 查询视频健康状况+(int)getNetPercent;该函数用于检测当前直播时网络数据发送的状态。如果数据发送不流畅,比如返回值大约为2或3,那么视频观看可能会发现略微有些卡顿;如果网络状态为0或1,那么视频可能会非常的卡,或者网络
14、不通。用户可以根据这个值,考虑如何改善现场的网络情况。 查询视频实时流量+(double)getNowFlow;获取用户直播时候前一秒消耗的流量 查询视频总流量+(double)getAllFlow;获取用户直播总流量,总流量数据不手动清空,会在本次APP运行中一直叠加 清空总流量统计+(void)clearAllFlow;清空总流量消耗统计直播sdk版本号IPCameraSDK提供接口,获取当前 sdk 版本号:+(NSString*)getVersion;=API文档IPCameraSDK.h+(int)initAppkey:(NSString*)appkey; 初始化appkey+(vo
15、id)initSDKDelegate:(id)delegate; 设置错误回调通知代理+(void) cleanupDelegate; 清除代理+(int) startCameraNoEncodeType:(UIView *)view VideoPath:(NSString*) videoPath GainValue:(float)gain_value Orientation:(AVCaptureVideoOrientation)Orientation Camera:(NSInteger)cameraValue; 开启摄像头+(void) stopCamera; 关闭摄像头+(BOOL)set
16、VideoFrame:(int)videoframe; 设置帧率+(BOOL)setCameraEncodeType:(NSInteger)encodeType; 设置视频清晰度+(BOOL)setCameraVideoBitRate:(NSInteger)videobitrate; 设置视频码率+(void)setAppOrientation:(UIInterfaceOrientation)orientation; 设置设备朝向,目前支持:竖屏 UIInterfaceOrientationPortrait,横屏 UIInterfaceOrientationLandscapeRight+(vo
17、id)setRtmpReConnectTime:(int)iTime; rtmp的重连的时间,单位毫秒+(int) startRtmp :(NSString *)rtmp_server_address; 开启rtmp发送 需要传入rtmp的地址 0正常 -1 启动非正常 -2APPKEY验证未能正常进行,常为网络不佳情况导致 -3 地址不和法或者云端地址配置错误 -4 APPKey是无效的+(void) stopRtmp; 关闭rtmp发送+(void)setUserImage:(UIImage*)logoimg Transparent:(int)transparent Offset:(int
18、) offset; 添加logo,transparent为logo所占的透明度,参数 0 -10,offset目前支持kImageLeftOffset左边和kImageRightOffset右边+(void)clearUserImage; 清空所有logo/ +(BOOL) switchFlash:(int)flashFlag; 开启或关闭闪光灯:0 关闭 1 开启+(void) switchAudio :(int) audioType; 音频开关:0 关闭音频 , 1 打开音频+(BOOL) switchChangeCamera : (int) cameraValue; 摄像头切换:0 前置
19、摄像头 , 1 后置摄像头 +(BOOL) switchFocusMode : (int) focusType; 设置聚焦:0 自动聚焦 , 1 手动聚焦+(void) manualFocus:(CGPoint) touchPoint TouchView:(UIView *)view; 手动聚焦的聚焦点+(void) zoomOut : (float) scale; 摄像头焦距设置+(void) changeGainValue : (float)gain_value; 声音增益,参数float 0-1+(int) setEffect:(BOOL) value; 开启美颜效果,返回: 0 表示成功 , 1 表示无美颜功能权限 , -2 表示机器不支持该功能+(int) getNetPercent; 直播健康状况+(double)getAllFlow; 获取直播总流量消耗+(double)getNowFlow; 获取直播前一秒流量消耗+(void)clearAllFlow; 清空总流量消耗统计+(NSString*)getVersion; 获取版本号
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1