iOS视频编辑SDK
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代码会稍有延迟):
功能试用:
您可以在Appstore搜索“秀拍客”,我们使用本SDK整合的app。目前很多国内外软件企业已经整合到他们的产品中,我们这里不方便进行罗列。
关于授权:
www.rdsdk.com 致力于专业的人做专业的事,降低客户的开发时间和开发成本,你只需要支付很少的费用,花上几个小时就能增加视频编辑功能。
开发文档:
洽谈咨询:
QQ群: 305128688
咨询电话: 4008989105
客服电话: 15313066905 (周一至周五 9:00-18:00)
客服邮箱:2637433751@qq.com
iOS视频编辑SDK的更多相关文章
- iOS/Android 视频编辑SDK
锐动天地为开发者提供短视频编辑.特效.直播.录屏.编解码.视频转换,等多种解决方案,涵盖PC.iOS.Android多平台.以市场为导向,不断打磨并创新技术,在稳定性,兼容性,硬件设备效率优化上千捶百 ...
- RDVECore来自锐动的无UI,高度抽象化API的视频编辑SDK
1 编写目的 预期读者: 有视频编辑开发经验或者无经验的,打算或者正在使用"锐动IOS版RDVECore"的相关工程师. iOS软件工程师. 产品经理. QA 2 名词解释 分辨率 ...
- Android 视频编辑 SDK
Android 视频编辑 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...
- LanSoEditor_common ---android平台的视频编辑SDK
当前版本是LanSoEditor-v1.4 主要使用在音视频的: 裁剪,剪切,分离,合并,转换,拼接,水印,叠加,混合,转码等场合; 我们是针对android平台对ffmpeg做了硬件加速优化,经过多 ...
- 关于视频编辑SDK的接入说明
一.运行环境 Android 4.1(api 16)以上: 处理器:双核 1GHz以上CPU(目前只支持ARM CPU, X86.MIPS暂不支持):推荐四核1.2GHz以上CPU 内存:1 GB以上 ...
- LanSoEditor_advance1.8.0 视频编辑的高级版本
------------------------------------------2017年1月11日11:18:33------------------------------------- 我们 ...
- 视频编辑SDK---我们只提供API,任你自由设计炫酷的功能
面对相对复杂的视频编辑处理技术,你是否束手无策? 在短视频应用中,有一定技术难度的视频编辑技术中,我们提出了一种全新的解决方法:画板和画笔.短视频处理,用画板和画笔,就够了! 我们设计了极其简单易懂的 ...
- Android视频编辑SDK--RDVECore来自锐动的无UI,高度抽象化API
1 RDVECore功能概述 RDVECore是锐动推出的无UI,高度抽象化API的视频编辑SDK,支持以下功能: 1.1 丰富的编辑功能 RDVECore包含了丰富的基础功能,对于编辑中的视频.图片 ...
- 视频直播SDK-ios版
IOS视频直播接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x720,6 ...
随机推荐
- jquery 编写插件入门
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <sc ...
- magento1.x 运行在 php7 优惠券的问题
diff --git app/code/core/Mage/Sales/etc/config.xml index 5bb43d7..7db62ca 100644 --- app/code/core/M ...
- IIS 启用w3wp.exe调试 没有找到w3wp进程
必须条件: 在进程列表的下面,有个show processes in all sessions,把它勾上就能看到了 . VS中附加进程的方式调试IIS页面,以及设置断点无效问题解决 以前调试网站的时候 ...
- loadrunner controller:实时查看VUser的运行情况
1) 如下图,在Run标签页,点击"Vusers..."打开Vuser窗口: 2) 如下图选中一个Vuser点击按钮可以打开Run-Time Vie ...
- HDU2602(背包)
Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- (二)Hololens Unity 开发之 语音识别
学习源于官方文档 Voice input in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (二)Hololens Unity 开发之 语音识别 Hol ...
- Awesome Chrome 插件集锦
子曾曰:"工欲善其事,必先利其器.居是邦也."--语出<论语·卫灵公>:其后一百多年,荀子也在其<劝学>中倡言道:"吾尝终日而思矣,不如须臾之所学 ...
- Swift资料大全
简单看了一下swift的语法,个人感觉相对于object-c很是简单明了.Swift的出现并不能说明iOS开发简单了很多,有可能会变得复杂,你需要学习两门编程语言,因为在程序员的世界里,务实并不是最重 ...
- ubuntu 14.04 中找不到 libgtk-x11-2.0.so
如果ubuntu安装的64位的,在其中安装32位软件时就会碰到缺失libgtk-x11-2.0.so的情况 比如用wine安装qq时 启动qq时就会报这样的错误 error : cannot open ...
- 正则匹配所有的a标签
<a\b[^>]+\bhref="([^"]*)"[^>]*>([\s\S]*?)</a>分组1和分组2即为href和value解释: ...