License | Custom |
ReleasedLast Release | Nov 2017 |
Maintained by yulin, caoxiaoliang, shixuemei, JIANGDONG, yuyang.
Depends on: | |
libksygpulive/libksygpulive | >= 0 |
CocoaAsyncSocket | >= 0 |
金山魔方是一个多媒体能力提供平台,通过统一接入API、统一鉴权、统一计费等多种手段,降低客户接入多媒体处理能力的代价,提供多媒体能力供应商的效率。 本文档主要对录屏功能说明。
金山云录屏直播SDK是金山云提供的直播解决方案的一部分,完成了iOS端全屏录制的功能,主要实现思路是本SDK内实现了一个Airplay的接收端, 开始录屏时iOS系统与SDK建立连接, SDK收到画面后, 编码发送到直播服务器. 其中编码和推流功能使用金山云直播SDK实现.
可以用于手游等直播录制场景。
iOS8/9/10 支持
录屏支持
根据Apple的政策, 含有Airplay功能的APP无法通过App Store审查, 请注意.
SDK在使用时需要用token进行鉴权后方可使用,token申请方式见接入步骤部分;
token与应用包名为一一对应的关系;
鉴权错误码见:https://github.com/ksvcmc/KMCAgoraVRTC_Android/wiki/auth_error
安装包分为三部分:
目前sdk支持pod导入.
/**
@discuss 申请得到的tokeID
@param completeSuccess 完成回调
@param completeFailure 失败回调
*/
- (void)authorizeWithTokeID:(NSString *)tokeID
onSuccess:(void (^)(void))completeSuccess
onFailure:(void (^)(AuthorizeError iErrorCode))completeFailure;
/**
获取屏幕画面的回调
*/
property(nonatomic, copy) void(^videoProcessingCallback)(CVPixelBufferRef pixelBuffer, CMTime timeInfo );
/**
录制过程的通知代理
*/
@property(nonatomic, weak) id<KSYAirDelegate> delegate;
/**
airplay 录制状态
*/
@property(nonatomic, readonly) KSYAirState airState;
/**
启动服务
@param cfg 服务的配置信息
*/
- (BOOL) startServerWithCfg:(KSYAirTunesConfig*)cfg;
/**
停止服务
*/
- (void) stopServer;
@interface KSYAirTunesConfig : NSObject
/// AirPlay 设备的名字
@property(nonatomic, copy) NSString *airplayName;
/// 接收设备的尺寸(竖屏时高度为videoSize, 宽度根据屏幕比例计算得到,横屏时反之)
@property(nonatomic, assign) int videoSize;
/// 希望接收到ios发送端的视频帧率 默认30
@property(nonatomic, assign) int framerate;
/// 设置airtunes 服务的监听端口, 0 表示系统自动分配
@property(nonatomic, assign) short airTunesPort;
/// 设置视频数据的接收端口,默认是7100, 当7100被占用时, 会尝试+1 尝试10次, 如果仍然失败报告端口冲突
@property(nonatomic, assign) short airVideoPort;
/// 设备的mac地址, 默认随机生成,(长度为6字节)
@property(nonatomic, copy) NSData *macAddr;
@end
/**
airplay 镜像成功开始了
@param server airplay服务对象
*/
- (void)didStartMirroring:(KSYAirTunesServer *)server;
@required
/**
airplay 镜像 遇到错误了
@param server airplay服务对象
@param error 遇到的错误, code 参见 KSYAirErrorCode的定义
*/
- (void)mirroringErrorDidOcccur:(KSYAirTunesServer *)server withError:(NSError *)error;
@required
/**
airplay 镜像成功结束了
@param server airplay服务对象
*/
- (void)didStopMirroring:(KSYAirTunesServer *)server;
1.登录金山云控制台,选择视频服务-金山魔方
4.待申请审核通过后,金山云注册时的邮箱会收到邮件及试用token。
6.参照文档和DEMO填写TOKEN,就可以Run通项目了。
7.试用中或试用结束后,有意愿购买该服务可以与我们的商务人员联系购买。
(商务Email:[email protected])
主页:金山魔方
邮箱:[email protected]
QQ讨论群:574179720 [视频云技术交流群]