/KSYMediaPlayer_iOS

金山云iOS播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds)

Primary LanguageObjective-CApache License 2.0Apache-2.0

金山云KSYMediaPlayer iOS SDK使用手册

Apps UsingDownloads

CocoaPods version CocoaPods platform CocoaPods doc

Source Type: Binary SDK
Charge Type: free of charge

阅读对象

本文档面向所有使用金山云播放SDK的开发、测试人员等, 要求读者具有一定的iOS编程开发经验,并且要求读者具备阅读wiki的习惯。

|vod_1.png|vod_2.png|

|vod_3.png|vod_4.png|

1. 概述

金山云播放内核涵盖Android、iOS、Flash和浏览器插件四个平台,基于FFmpeg自主研发音视频媒体播放内核,作为一款全平台兼容的软件播放方案,金山云播放内核提供了跨终端平台的播放器SDK,以及开放的音视频播放、控制接口和完整的开源调用示例,不仅极大降低开发门槛,同时支持客户快速在多个平台发布产品。
KSYMediaPlayer iOS SDK是金山云播放内核官方推出的iOS平台上使用的软件开发工具包(SDK),为iOS开发者提供简单、快捷的接口,帮助开发者实现iOS平台上的多媒体播放应用。

简要说明:

  • 金山云播放SDK提供了iOS平台直播播放、点播播放能力,不限制用户的拉流地址。用户可以只使用金山云直播SDK而不使用金山云的云服务。
  • 金山云播放SDK不收取任何授权使用费用(免费使用),不含任何失效时间或者远程下发关闭的后门。同时金山云播放SDK也不要求ak/sk等鉴权,没有任何用户标识信息。
  • 金山云播放SDK同时内建了业内一流的H.265解码能力,H.265能力也是免费使用,欢迎集成使用。
  • 金山云播放SDK当前未提供开源代码,如果需要其他定制化开发功能,请通过金山云商务渠道联系。

1.1 版本信息

LICENSE和版本信息:LICENSE

1.2 关于热更新

金山云SDK保证,提供的KSYMediaPlayer iOS播放SDK未使用热更新技术,例如:RN(ReactNative)、weex、JSPatch等,请放心使用。

1.3 关于费用

金山云SDK保证,提供的KSYMediaPlayer iOS播放SDK可以用于商业应用,不会收取任何SDK使用费用。但是基于KSYMediaPlayer iOS播放SDK的其他商业服务,会由特定供应商收取授权费用,大致包括:

  1. 云存储
  2. CDN分发

2. KSYMediaPlayer SDK 功能说明

功能特性

  • 与系统播放器MPMoviePlayerController接口一致,可以无缝快速切换至KSYMediaPlayer;
  • 本地全媒体格式支持, 并对主流的媒体格式(mp4, avi, wmv, flv, mkv, mov, rmvb 等 )进行优化;
  • 支持广泛的流式视频格式, HLS, RTMP, HTTP Rseudo-Streaming 等;
  • 低延时直播体验,配合金山云推流sdk,可以达到全程直播稳定的4秒内延时;
  • 实现快速满屏播放,为用户带来更快捷优质的播放体验;
  • 支持画面旋转,音量调节等各种功能;
  • 版本适配支持iOS 7.0以上版本;
  • 业内一流的H.265解码;
  • 2M大小的超轻量级直播sdk;
  • 提供了支持直播和点播两个静态库,相比直播,点播支持了更丰富的封装格式和音视频编解码格式,二者支持的具体功能如下:
直播 点播(完整包含直播所有功能)
流协议 HLS, RTMP, HTTP, FILE, HTTPS, RTSP HLS, RTMP, HTTP, FILE, RTSP, HTTPS
封装格式 FLV, TS, MPEG, MOV, M4V, MP3 FLV, TS, MPEG, MOV, M4V, MP3, GIF, AVI, ASF, MKV, WAV, WEBM, RM
视频编码格式 H264, H265, MPEG4 H263, H264, H265, MPEG2, MPEG4, MJPEG, VC-1, WMV, RV40, PNG, JPEG, YUV, WEBP, TIFF
音频编码格式 AAC, MP3, NELLYMOSER, SPEEX AAC, MPEG(MP1/MP2/MP3), AMR, APE, DTS, FLAC, PCM, OGG, WMA, COOK, NELLYMOSER, SPEEX

直播静态库位于:framework/live
直播动态库位于:framework/live_dy
点播静态库位于:framework/vod ,vod库包括live库所有功能。
点播动态库位于:framework/vod_dy ,vod库包括live库所有功能。

功能列表

3. 运行环境

KSYMediaPlayer iOS SDK可运行于 iPhone/iPod Touch/iPad,支持 iOS 7.0 及以上版本; 支持 armv7/arm64以及虚拟机运行。

4.下载工程

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

  • 从github下载;
  • 从bitbucket下载;
  • 使用Cocoapods安装;

更新日志查看地址:https://github.com/ksvc/KSYMediaPlayer_iOS/releases;

4.1 github下载

从github下载:https://github.com/ksvc/KSYMediaPlayer_iOS;

$ git clone https://github.com/ksvc/KSYMediaPlayer_iOS.git --depth 1

如果获取到zip格式的压缩包,解压缩后包含demo、doc、framework、README.md四个部分, 目录结构如下所示:

  • domo/ 目录存放KSYPlayerDemo,执行pod install命令后,双击打开KSYPlayerDemo.xcworkspace即可使用iOS示例工程,用于帮助开发都快速了解如何使用SDK。
  • doc/ 目录存放接口参考文档,双击打开html/index.html即可看到相关appledoc风格的接口说明,也可以查看在线版
  • framework/ 目录存放了KSYMediaPlayer.framework,该库支持armv7/arm64/x86_64和i386四种体系结构。
  • README.md 即本文档。

4.2 bitbucket下载

对于部分地方访问github比较慢的情况,可以从bitbucket下载,获取的库内容和github一致。

$ git clone https://bitbucket.org/ksvc/ksymediaplayer_ios.git --depth 1

4.3 Cocoapods安装

通过Cocoapods能将静态库framework下载到本地,只需要将如下语句加入你的Podfile:

   pod 'KSYMediaPlayer_iOS'

执行pod install或者pod update后,将SDK加入工程。

为满足不同用户的需求,本SDK提供了两个不同的子模块

  • KSYMediaPlayer_live : 用于直播的静态库
  • KSYMediaPlayer_vod : 用于点播的静态库(从2.7.0版本开始支持pod引用点播静态库)

KSYMediaPlayer_iOS默认的子模块是KSYMediaPlayer_live,也就是说Podfile中直接填写

 pod 'KSYMediaPlayer_iOS'

等同于

 pod 'KSYMediaPlayer_iOS/KSYMediaPlayer_live'

如果您希望通过pod方式引用点播库,那么需要在podfile这样写:

 pod 'KSYMediaPlayer_iOS/KSYMediaPlayer_vod'

由于cocoapod的问题,目前暂不支持pod方式引用动态库

Pod依赖进阶
  • 本地开发版 (sdk clone或下载到本地后)
pod 'KSYMediaPlayer_iOS/KSYMediaPlayer_live', :path => '../'  
  • 直接指定SDK的github仓库地址和版本号
pod 'KSYMediaPlayer_iOS/KSYMediaPlayer_live', :git => 'https://github.com/ksvc/KSYMediaPlayer_iOS.git', :tag => 'v2.7.0'
  • 从cocoapod官方库Trunk获取spec, 从github下载sdk
pod ''KSYMediaPlayer_iOS/KSYMediaPlayer_live'
  • 如果pod install 时出现无法找到specification的提示, 请先更新repo
pod repo update
  • 注意1: 不能将以上语句都加入Podfile, 他们作用是一样的, 只是Podspec读取位置不同.

5. 快速集成

快速集成中提供了集成金山云播放SDK的基本方法。 具体可以参考demo工程中的相应文件。

6. 注意事项

  • 推流的SDK中已经包涵了本framework,如需要推流功能,请直接下载推流SDKhttps://github.com/ksvc/KSYLive_iOS,并参考其中的使用手册。本文所介绍的仅限于iOS播放SDK。
  • 本framework可能与其他使用了FFmpeg的静态库冲突。
  • 本framework为静态库,虽然库的大小为20M+,但是最后链接后,对app的增量只有2M+。

7. 详细介绍

关于集成本SDK更详细的介绍请参考:https://github.com/ksvc/KSYMediaPlayer_iOS/wiki
主要接口说明请参考:http://ksvc.github.io/KSYMediaPlayer_iOS/doc/html/index.html

8. 反馈与建议

8.1 反馈模板

类型   描述
SDK名称 KSYMediaPlayer_iOS
SDK版本 v2.5.0
设备型号 iphone7
OS版本 iOS 10
问题描述 描述问题出现的现象
操作描述 描述经过如何操作出现上述问题                    
额外附件 文本形式控制台log、crash报告、其他辅助信息(界面截屏或录像等)

8.2 联系方式

金山云计算