IOS视频编辑SDK接入说明

一、名词解释

分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率。常见视频分辨率的有1080P即1920x1080,720P即1080x720,640x480等。

宽高比:视频分辨率的宽高比,常见的有16:9,4:3,1:1。锐动视频编辑SDK对各宽高比的视频都支持编辑,导出的默认分辨率是640x360,宽高比是16:9。

帧率:每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数。

码率: 数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。

素材:来自系统相机,其他app,电脑,网络的照片,音乐,视频等。

视频分割: 把视频分割为若干个片段,可用于从视频中截取一个或者多个精彩瞬间,或者删除不喜欢的片段,分割后的多个片段也可以用于重新调整顺序,视频合并等。

视频裁切: 从视频画面中裁切出来仅需要的部分,锐动视频编辑SDK针对手机竖屏拍摄的画面,支持动态调整裁切区域,帮助用户不同时间点选择自己需要的画面。

视频旋转:对视频进行90°,180°,270°旋转,一般用于矫正用户手机上录制的头像横置的视频。

视频镜像:对视频左右镜像。

视频变速:对视频播放速度调整,实现慢镜头或者快镜头效果。

视频配乐:选取本地或者网络音乐作为视频的背景音乐。

视频配音:通过micphone对视频配音。

视频字幕:使用文字标注视频。

视频滤镜:调整视频的画面颜色效果。

视频特效:在视频里面增加特效动画或声音

合并转场:两个视频片段之间的衔接效果。

主题(模版): 应用视频的整体效果方案。

二、XCode集成步骤

(一)、运行环境

sdk支持iOS7.0或更高版本,兼容iPhone、iPad、iPod touch

(二)、 下载并导入SDK

1、申请APPKey 和 APPSecretkey

(1)、 登录http://www.rdsdk.com 注册用户

(2)、 登录注册好的用户

(3)、 进入视频云管理 点击(新增)获取应用的 appkey 、appsecret

2、添加静态库文件和头文件,和资源文件

(1)、直接将 libxpkCoreSdk文件夹下的文件导入工程。

(2)、设置头文件路径:

(3)、设置工程的方向

3、工程设置

添加系统依赖框架

CoreTelephony.framework, MobileCoreServices.framework

CoreGraphics.framework, CoreFoundation.framework,

Foundation.framework,Photos.framework,AssetsLibrart.framework

AVFoundation.framework ,libxml2.2.tbd,libz.1.2.5.tbd,libstdc.tbd

设置photos.frames、CoreFoundation.framework、Foundation.framework的status为Optional; 设置Https协议和Enable Bitcode

升级到10.0以后的系统得在info.plist中添加如下key

(三)、初始化SDK

注意:初始化之前请确定是否添加了libxpkCoreSdk文件夹下的所有文件

1、引入头文件

#import "XpkUISDK.h"//引入头文件

2、初始化

/**

*  初始化对象

*  @param appkey          appkey description

*  @param appsecret       appsecret description

*  @param resultFailBlock 返回错误信息

*  @return

*/

- (id)initWithAPPKey:(NSString *)appkey

APPSecret:(NSString *)appsecret

resultFail:(XpkFailBlock)resultFailBlock;

(四)录制视频

(一)、使用SDK截取录制视频

/**

*  视频录制(制定大小录制)

*

*  @param source        源视图控制器

*  @param postion       前/后置摄像头

*  @param frameRate     帧率

*  @param bitRate       码率

*  @param size          录制视频尺寸

*  @param record_Type   录制还是拍照

*  @param outputPath    视频输出路径

*  @param callbackBlock 完成录制回调

*  @param cancelBlock   取消录制回调

*/

- (void)videoRecordWithSourceController: (UIViewController*)source

cameraPosition: (AVCaptureDevicePosition )postion

frameRate: (int32_t) frameRate

bitRate: (int32_t) bitRate

recordSize: (CGSize) size

Record_Type: (Record_Type)record_Type

outputPath: (NSString*)outputPath

videoPath: (XpkCallbackBlock)callbackBlock

cancel: (XpkCancelBlock)cancelBlock;

/**

*  自动选择录制合适尺寸

*

*  @param source        源视图控制器

*  @param postion       前/后置摄像头

*  @param frameRate     帧率

*  @param bitRate       码率

*  @param record_Type   录制还是拍照

*  @param outputPath    视频输出路径

*  @param callbackBlock 完成录制回调

*  @param cancelBlock   取消录制回调

*/

- (void)videoRecordAutoSizeWithSourceController: (UIViewController*)source

cameraPosition: (AVCaptureDevicePosition )postion

frameRate: (int32_t)frameRate

bitRate: (int32_t)bitRate

Record_Type: (Record_Type)record_Type

outputPath: (NSString*)outputPath

videoPath: (XpkCallbackBlock)callbackBlock

cancel: (XpkCancelBlock)cancelBlock;

/**

*  录制正方形视频

*

*  @param source        源视图控制器

*  @param postion       前/后置摄像头

*  @param frameRate     帧率

*  @param bitRate       码率

*  @param record_Type   录制还是拍照

*  @param outputPath    视频输出路径

*  @param callbackBlock 完成录制回调

*  @param cancelBlock   取消录制回调

*/

- (void)videoRecordWidthEqualToHeightWithSourceController: (UIViewController*)source

cameraPosition: (AVCaptureDevicePosition )postion

frameRate: (int32_t)frameRate

bitRate: (int32_t)bitRate

Record_Type: (Record_Type)record_Type

outputPath: (NSString*)outputPath

videoPath: (XpkCallbackBlock)callbackBlock

cancel: (XpkCancelBlock)cancelBlock;

(五)、编辑视频

1、使用SDK进入开始编辑视频

(1)、实例化XpkUiSDK对象两种方式任选其一

(1.1)设置编辑界面的方向,是否锁定方向

(1.11)(选择视频不需要扫描缓存文件)

/**

*  编辑视频

*

*  @param viewController  源控制器

*  @param assets           数据源(NSMutableArray[AVURLAsset])传nil 进入选择视频界面

*  @param outputVideoPath 视频输出路径

*  @param callbackBlock    完成编辑回调

*  @param cancelBlock     取消编辑回调

*/

- (void)editVideoWithSuperController:(UIViewController *)viewController

assets:(NSMutableArray *)assets

outputPath:(NSString *)outputVideoPath

callback:(XpkCallbackBlock )callbackBlock

cancel:(XpkCancelBlock )cancelBlock;

(1.12)(选择视频需要扫描缓存文件)

/**

*  编辑视频(需扫描缓存文件夹)

*

*  @param viewController    源控制器

*  @param foldertype        缓存文件夹类型 (Documents、Library、Temp)

*  @param appAlbumCacheName 需扫描的缓存文件夹名称

*  @param assets            数据源(NSMutableArray[AVURLAsset])

*  @param outputVideoPath   视频输出路径

*  @param callbackBlock     完成编辑回调

*  @param cancelBlock       取消编辑回调

*/

- (void)editVideoWithSuperController:(UIViewController *)viewController

foldertype:(FolderType)foldertype

appAlbumCacheName:(NSString *)appAlbumCacheName

assets:(NSMutableArray *)assets

outputPath:(NSString *)outputVideoPath

callback:(XpkCallbackBlock )callbackBlock

cancel:(XpkCancelBlock )cancelBlock;

(2)设置视频输出码率;

(3)可以添加水印:(可以省略)

(4)设置片尾:(可以省略)

@property (nonatomic,assign)BOOL endWaterPicDisabled; //是否禁用片尾

@property (nonatomic,assign)NSString *endWaterPicUserName;//设置片尾显示的用户名

(六)自定义相册或是调用系统相册

1、实现代理方法

- (void)selectVideoAndImageResult:(UINavigationController *)nav callbackBlock:(void (^)(NSArray *lists))callbackBlock;//添加视频和图片

- (void)selectVideosResult:(UINavigationController *)nav callbackBlock:(void (^)(NSArray *lists))callbackBlock; //添加视频

- (void)selectImagesResult:(UINavigationController *)nav callbackBlock:(void (^)(NSArray *lists))callbackBlock; //添加图片

以系统相册为例:(需实现以下两个协议:UINavigationControllerDelegate, UIImagePickerControllerDelegate)

进入系统相册:

相册选择完成:

(七)、视频截取

1、调用截取方法之前设置编辑界面的方向,是否锁定方向

/**

*  截取视频(真正的截取,回传截取过后的视频)

*

*  @param viewController  源控制器

*  @param controllerTitle 导航栏标题

*  @param backgroundColor 背景色

*  @param cancelButtonTitle 取消按钮文字

*  @param cancelButtonTitleColor 取消按钮标题颜色

*  @param cancelButtonBackgroundColor 取消按钮背景色

*  @param otherButtonTitle  完成按钮文字

*  @param otherButtonTitleColor  完成按钮标题颜色

*  @param otherButtonBackgroundColor 完成按钮背景色

*  @param assetPath       数据源

*  @param outputVideoPath 视频输出路径

*  @param callbackBlock   截取完成回调

*  @param failback        截取失败回调

*  @param cancelBlock     取消截取回调

*/

- (void)cutVideoWithSuperController:(UIViewController *)viewController

controllerTitle:(NSString *) title

backgroundColor:(UIColor  *) backgroundColor

cancelButtonTitle:(NSString *) cancelButtonTitle

cancelButtonTitleColor:(UIColor  *) cancelButtonTitleColor

cancelButtonBackgroundColor:(UIColor  *) cancelButtonBackgroundColor

otherButtonTitle:(NSString *) otherButtonTitle

otherButtonTitleColor:(UIColor  *) otherButtonTitleColor

otherButtonBackgroundColor:(UIColor  *) otherButtonBackgroundColor

assetPath:(NSString *) assetPath

outputPath:(NSString *) outputVideoPath

callbackBlock:(Xpk_CallbackBlock  ) callbackBlock

failback:(XpkFailBlock       ) failback

cancel:(XpkCancelBlock     ) cancelBlock;

/*

此参数点击自定义弹框的按钮时才会被调用

*/

- (void)cutVideo_withCutType:(RDCutVideoReturnType )type;

如果有自定义的提示框:

设置截取界面的两个截取时间值

(八)、分享视频

开发中

(九)、wifi分享视频

开发中

具体情况

iOS视频编辑SDK集视频拍摄和视频剪辑功能于一体,同时包含视频配音配乐、字幕特效、滤镜、转场等各种功能,全方位满足开发者的需求,并可以快速植入到APP中。编辑预览时支持智能硬件解码,选择视频时不需要转码,减少用户等待时间

SDK功能介绍:

1.拍摄

  • 实时美颜
  • 多段拍摄 一个视频可以分多段次拍摄,并支持回删
  • 多种拍摄模式 支持长按拍摄、快速点击持续拍摄
  • 定时拍 支持5秒内定时拍摄
  • 摄像头切换 前、后摄像头自由切换,中间无卡顿
  • 多比例支持 支持1:1 、9:16、16:9多个比例录制
  • 变焦、对焦 通过相应手势可以缩放摄像头采集画面及清晰度(依赖硬件支持)
  • 滤镜 内置主流滤镜,与编辑滤镜同步,支持扩展更多滤镜
  • 照片 当前摄像头画面保存到图片

 截图

  

2.视频编辑

  • 滤镜 内置主流滤镜,支持扩展更多滤镜
  • 字幕、特效 字幕特效在指定位置,指定时间段显示; 字幕支持设置字体大小和颜色及背景图; 实时预览效果
  • 配音、配乐 支持指定时间段添加配音; 支持配音、配乐与视频原音比例调节; 支持本地添加更多配乐
  • 截取、分割 支持毫秒级截取、分割视频; 支持快速预览截取、分割后视频
  • 调速 调整视频的播放速度,快放或者慢放
  • 转场 支持多种转场; 支持随机转场、指定转场时长等扩展设置
  • 其它编辑功能 支持多种比例裁剪; 支持90、180、270度旋转视频画面; 支持左右镜像、上下镜像; 支持输出比例调整; 支持横屏编辑; 支持文字版; 支持图片时长设置; 支持视频调序等

 截图

   

   

最新SDK下载(以下链接是最新的,github代码会稍有延迟):

SDK下载请单击

功能试用:

您可以在Appstore搜索“秀拍客”,我们使用本SDK整合的app。目前很多国内外软件企业已经整合到他们的产品中,我们这里不方便进行罗列。

关于授权:

www.rdsdk.com 致力于专业的人做专业的事,降低客户的开发时间和开发成本,你只需要支付很少的费用,花上几个小时就能增加视频编辑功能。

单击申请试用

开发文档:

点击查看

洽谈咨询:

QQ群: 305128688

咨询电话: 4008989105

客服电话: 15313066905 (周一至周五 9:00-18:00)

客服邮箱:2637433751@qq.com

iOS视频编辑SDK的更多相关文章

  1. iOS/Android 视频编辑SDK

    锐动天地为开发者提供短视频编辑.特效.直播.录屏.编解码.视频转换,等多种解决方案,涵盖PC.iOS.Android多平台.以市场为导向,不断打磨并创新技术,在稳定性,兼容性,硬件设备效率优化上千捶百 ...

  2. RDVECore来自锐动的无UI,高度抽象化API的视频编辑SDK

    1 编写目的 预期读者: 有视频编辑开发经验或者无经验的,打算或者正在使用"锐动IOS版RDVECore"的相关工程师. iOS软件工程师. 产品经理. QA 2 名词解释 分辨率 ...

  3. Android 视频编辑 SDK

    Android 视频编辑 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...

  4. LanSoEditor_common ---android平台的视频编辑SDK

    当前版本是LanSoEditor-v1.4 主要使用在音视频的: 裁剪,剪切,分离,合并,转换,拼接,水印,叠加,混合,转码等场合; 我们是针对android平台对ffmpeg做了硬件加速优化,经过多 ...

  5. 关于视频编辑SDK的接入说明

    一.运行环境 Android 4.1(api 16)以上: 处理器:双核 1GHz以上CPU(目前只支持ARM CPU, X86.MIPS暂不支持):推荐四核1.2GHz以上CPU 内存:1 GB以上 ...

  6. LanSoEditor_advance1.8.0 视频编辑的高级版本

    ------------------------------------------2017年1月11日11:18:33------------------------------------- 我们 ...

  7. 视频编辑SDK---我们只提供API,任你自由设计炫酷的功能

    面对相对复杂的视频编辑处理技术,你是否束手无策? 在短视频应用中,有一定技术难度的视频编辑技术中,我们提出了一种全新的解决方法:画板和画笔.短视频处理,用画板和画笔,就够了! 我们设计了极其简单易懂的 ...

  8. Android视频编辑SDK--RDVECore来自锐动的无UI,高度抽象化API

    1 RDVECore功能概述 RDVECore是锐动推出的无UI,高度抽象化API的视频编辑SDK,支持以下功能: 1.1 丰富的编辑功能 RDVECore包含了丰富的基础功能,对于编辑中的视频.图片 ...

  9. 视频直播SDK-ios版

    IOS视频直播接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x720,6 ...

随机推荐

  1. JavaScript实用功能代码片段

    把平时网站上常用的一些实用功能代码片段通通收集起来,方面网友们学习使用,利用好的话可以加快网友们的开发速度,提高工作效率. 1.原生JavaScript实现字符串长度截取 function cutst ...

  2. plupload 异步上传插件使用心得

    plupload 可以不依赖jquery,并且提供了 html5,flash,silverlight,html4 多种上传模式,使用起来比较简单,上一篇博客中介绍了其主要参数哈函数 一.简化用法 &l ...

  3. Linux内存布局

    在上一篇博文里,我们已经看到Linux如何有效地利用80x86的分段和分页硬件单元把逻辑地址转换为线性地址,在由线性地址转换到物理地址.那么我们的应用程序如何使用这些逻辑地址,整个内存的地址布局又是怎 ...

  4. ubuntu vi编辑insert时上下左右建为ABCD

    ubuntu  在vi编辑insert时上下左右建不能移动光标而是输出ABCD,backspace也不能起删除作用, 开始我退出insert模式就能够移动和删除了,不过这样太麻烦很不适应, 只要一次执 ...

  5. Java线程:线程中断

    interrupt方法可以用来请求终止线程. 当对一个线程调用interrupt方法时,线程的中断状态被置位.这时每个线程都有boolean标志.每个线程都应该不时的检查这个标志,以判断线程是否被中断 ...

  6. 外部IIS/Apache/Nginx来代理FMS的http服务

    默认FMS在安装的时候,会安装Apache2.2,并监听8134端口,代理http服务器:当如也可以用外部的服务器,此时建立站点,并指向目录:C:\Program Files\Adobe\Flash ...

  7. css3 小图标提示特效

    最近的计划,就是每天来几个特效,当然这里有限制,在什么候选区只能放一个,还每天有限制发布的,哎, 啊 终于写完了,看到一个挺好玩的东西,想到能不能用网页的特效做出来,试试呗!不过,一想肯东有很多的 相 ...

  8. Ubuntu14.04 安装Oracle JDK

    在Ubuntu 14.04 中安装 Oracle JDK6,7 或 8. 准备:添加add-apt-repository工具 #apt-get install python-software-prop ...

  9. 基于UDP协议的socket通信

    服务器端: 1.创建DatagramSocket,指定端口号 2.创建DatagramPacket 3.接收客户端发送的数据信息 4.读取数据 客户端: 1.定义发送信息 2.创建DatagramPa ...

  10. 无限“递归”的python程序

    如果一个函数直接或者间接调用了自己,那么就形成了递归(recursion),比如斐波那契数列的一个实现 def fib(n): if n <= 2: return 1 else: return ...