KSYGPULive_iOS 1.6.0

KSYGPULive_iOS 1.6.0

许可 自定义
发布最新发布2016年8月

pengbinsNoiledFranken Zeng 维护。



  • 作者
  • Peng Bin

KSY Live iOS SDK

功能特性

推流功能

  • [x] AAC 音频编码
  • [x] H.264 视频编码(软硬编同时支持)
  • [x] 多分辨率编码支持
  • [x] 摄像头控制(朝向,闪光灯,前后摄像头)
  • [x] 摄像头控制(可以调用原生的系统api)
  • [x] 用户可自由设定音视频码率
  • [x] 根据网络带宽自适应调整视频的码率
  • [x] 支持 RTMP 协议直播推流
  • [x] 提供两种层次的 API:简单易用的 kit 类 API 和灵活的组件化 API
  • [x] 能够与 GPUImage 无缝集成
  • [x] 提供GPU实现的美颜滤镜
  • [x] 支持背景音乐播放和混音
  • [x] 在线 API 文档支持
  • [x] Apple Doc 文档支持

播放特点

  • [x] 与系统播放器 MPMoviePlayerController 接口一致,可以无缝快速切换至 KSYMediaPlayer;
  • [x] 本地全媒体格式支持,并对主流的媒体格式 (mp4, avi, wmv, flv, mkv, mov, rmvb 等) 进行优化;
  • [x] 支持广泛的流式视频格式,HLS, RTMP, HTTP Rseudo-Streaming 等;
  • [x] 低延时直播体验,配合金山云推流 sdk,可以达到全程直播稳定的 4 秒内延时;
  • [x] 实现快速满屏播放,为用户带来更快捷优质的播放体验;
  • [x] 版本适配支持 iOS 7.0 以上版本;
  • [x] 业内一流的 H.265 解码;
  • [x] 小于 2M 大小的超轻量级直播 SDK;

SDK 集成方法介绍

系统要求

  • 最低支持 iOS 版本:iOS 7.0
  • 最低支持 iPhone 型号:iPhone 4
  • 支持 CPU 架构: armv7, armv7s, arm64(和 i386, x86_64 模拟器)
  • 含有 i386 和 x86_64 模拟器版本的库文件,推流功能无法在模拟器上工作,播放功能完全支持模拟器。

下载工程

本 SDK 提供如下两种获取方式

  • github 克隆或下载 zip 格式的压缩包,目录结构如下所示
  • demo: demo 工程为 KSYLive,演示本 SDK 的主要接口的使用
  • doc/docset: Apple Doc 风格的接口文档,安装后可在 Xcode 中直接看到方法和属性的文档
  • doc/html: Apple Doc 风格的网页版接口文档,也可查看 在线版
  • framework/livegpu/libksygpulive.framework: 本 SDK 的静态库 framework,集成时需要将该 framework 添加到项目中
$ git clone https://github.com/ksvc/KSYLive_iOS.git KSYLive_iOS
  • 使用 Cocoapods 进行安装
    通过 Cocoapods 能将本 SDK 的静态库 framework 下载到本地,只需将如下语句加入您的 Podfile:
pod 'KSYGPULive_iOS', :git => 'https://github.com/ksvc/KSYLive_iOS.git'

执行 pod install 或 pod update 后,将 SDK 添加到工程。

将 framework 添加到工程中

  • SDK 压缩包 将压缩包中 framework 下的 libksygpulive.framework 添加到 XCode 的工程,具体步骤为:
  • 选中应用的 Target,进入项目配置页面
  • 切换到 Build Phases 标签页
  • 在 Link Binary With Libraries 一栏中加入 libksygpulive.framework 和第三方依赖库 GPUImage.framework

  • SDK Cocoapods 在 Podfile 中本 SDK 的条目,并执行了 pod install 之后,本 SDK 就已经加入工程中,打开工程的 workspace 即可。

将头文件添加到需要使用本 SDK 的文件中

#import <GPUImage/GPUImage.h>
#import <libksygpulive/libksygpulive.h>
#import <libksygpulive/libksygpuimage.h>

以上三个头文件都是需要引入的:

  • GPUImage.h 是因为依赖第三方 framework 需要引入的
  • libksygpulive.h 是本 SDK 中不依赖 GPUImage 部分的头文件
  • libksygpuimage.h 是依赖 GPUImage 部分的头文件
  • 当自定义 GPUImage 时,GPUImage 的版本要求是 0.1.7

SDK版本号查询

本SDK的版本号主要通过核心类查询

NSLog(@"version: %@", [streamerBase getKSYVersion]);
NSLog(@"version: %@", [kit getKSYVersion]);

集成时的注意事项

  • 本框架已包含播放SDK
    且会与播放SDK冲突,在集成前,请先将之前集成的KSY播放SDK移除
  • 本框架可能与其他使用了FFmpeg的静态库冲突
  • 本框架为静态库,尽管库的大小为20M+,但最终链接后,对app的增量只有4M+

参考文档

播放器使用示例

请见github库:https://github.com/ksvc/KSYMediaPlayer_iOS.git

反馈与建议