TXVideoEditer Class Reference
Inherits from | NSObject |
---|---|
Declared in | TXVideoEditer.h |
Other Methods
generateDelegate
生成视频回调的委托对象, 可以获取生成进度与完成时间等
@property (nonatomic, weak) id<TXVideoGenerateListener> generateDelegate
See Also
Declared In
TXVideoEditer.h
previewDelegate
视频预览回调的委托对象,可以获取视频的播放进度等
@property (nonatomic, weak) id<TXVideoPreviewListener> previewDelegate
See Also
Declared In
TXVideoEditer.h
videoProcessDelegate
视频画面处理的委托对象,可以获取视频画面的OpenGL纹理ID [精简版不支持]
@property (nonatomic, weak) id<TXVideoCustomProcessListener> videoProcessDelegate
See Also
Declared In
TXVideoEditer.h
supportsTwoPassEncoding
判断是否支持TwoPass-Encoding [精简版不支持]
@property (nonatomic, readonly) BOOL supportsTwoPassEncoding
Declared In
TXVideoEditer.h
– initWithPreview:
默认初始化方法
- (instancetype)initWithPreview:(TXPreviewParam *)param
Parameters
param |
编辑器画面预览参数 |
---|
See Also
Declared In
TXVideoEditer.h
– setVideoPath:
设置视频文件路径
- (int)setVideoPath:(NSString *)videoPath
Parameters
videoPath |
视频文件路径 |
---|
Return Value
0 成功; -1 视频文件不存在; -2 视频不支持:暂不支持2个声道以上的视频编辑
Declared In
TXVideoEditer.h
– setVideoAsset:
设置视频 AVAsset
- (int)setVideoAsset:(AVAsset *)videoAsset
Parameters
videoAsset |
视频AVAsset对象,从本地相册loading出来的视频,可以直接传入对应的视频属性,会极大的降低视频从相册loading的时间,具体请参考demo用法 |
---|
Return Value
0 成功; -1 视频属性asset 为nil; -2 视频不支持:暂不支持2个声道以上的视频编辑
Declared In
TXVideoEditer.h
– setPictureList:fps:
设置转场图片列表 [精简版不支持]
- (int)setPictureList:(NSArray<UIImage*> *)pitureList fps:(int)fps
Parameters
pitureList |
转场图片列表,至少设置三张图片 (tips :图片最好压缩到720P以下(参考demo用法),否则内存占用可能过大,导致编辑过程异常) |
---|---|
fps |
转场图片生成视频后的fps (15 ~ 30) |
Return Value
0 设置成功; -1 设置失败,请检查图片列表是否存在,图片数量是否大于等于3张,fps是否正常;
Declared In
TXVideoEditer.h
– setPictureTransition:duration:
设置图片转场类型 [精简版不支持]
- (void)setPictureTransition:(TXTransitionType)transitionType duration:(void ( ^ ) ( CGFloat ))duration
Parameters
transitionType |
转场类型,详情见 TXTransitionType |
---|---|
duration |
转场视频时长(tips:同一个图片列表,每种转场动画的持续时间可能不一样,这里可以获取转场图片的持续时长); |
Declared In
TXVideoEditer.h
预览逻辑相关方法
– previewAtTime:
渲染某一时刻的视频画面
- (void)previewAtTime:(CGFloat)time
Parameters
time |
预览帧时间(s) |
---|
Declared In
TXVideoEditer.h
– startPlayFromTime:toTime:
播放某一时间段的视频
- (void)startPlayFromTime:(CGFloat)startTime toTime:(CGFloat)endTime
Parameters
startTime |
播放起始时间(s) |
---|---|
endTime |
播放结束时间(s) |
Declared In
TXVideoEditer.h
– setBeautyFilter:setWhiteningLevel:
设置美颜,美白级别 0~9
- (void)setBeautyFilter:(float)beautyLevel setWhiteningLevel:(float)whiteningLevel
Parameters
beautyLevel |
磨皮级别 0~9 |
---|---|
whiteningLevel |
美白级别 0~9 |
Declared In
TXVideoEditer.h
– setFilter:
设置特效滤镜
- (void)setFilter:(UIImage *)image
Parameters
image |
滤镜图片 |
---|
Declared In
TXVideoEditer.h
– setFilter:leftIntensity:rightFilter:rightIntensity:leftRatio:
设置两个滤镜效果
- (void)setFilter:(UIImage *)leftFilter leftIntensity:(CGFloat)leftIntensity rightFilter:(UIImage *)rightFilter rightIntensity:(CGFloat)rightIntensity leftRatio:(CGFloat)leftRatio
Parameters
leftFilter |
左滤镜图片(nil代表无左滤镜) |
---|---|
leftIntensity |
左滤镜浓度 |
rightFilter |
右滤镜图片(nil代表无右滤镜) |
rightIntensity |
右滤镜浓度 |
leftRatio |
左滤镜所占比例 |
Declared In
TXVideoEditer.h
– setSpecialRatio:
设置滤镜效果程度
- (void)setSpecialRatio:(float)specialRatio
Parameters
specialRatio |
从0到1,越大滤镜效果越明显,默认取值0.5 |
---|
Declared In
TXVideoEditer.h
– setReverse:
设置倒放 [精简版不支持]
- (void)setReverse:(BOOL)isReverse
Parameters
isReverse |
是否倒放 |
---|
Declared In
TXVideoEditer.h
– setRepeatPlay:
设置重复播放 [精简版不支持]
- (void)setRepeatPlay:(NSArray<TXRepeat*> *)repeatList
Parameters
repeatList |
重复播放的范围列表 |
---|
See Also
Declared In
TXVideoEditer.h
– setRenderRotation:
设置画面渲染角度 [精简版不支持]
- (void)setRenderRotation:(int)rotation
Parameters
rotation |
画面渲染角度, 必须是90的倍数 |
---|
Discussion
Warning: 只支持视频旋转
Declared In
TXVideoEditer.h
– setSpeedList:
设置视频加速播级别 [精简版不支持]
- (void)setSpeedList:(NSArray<TXSpeed*> *)speedList
Parameters
speedList |
加速范围列表 |
---|
Declared In
TXVideoEditer.h
– startEffect:startTime:
开始特效 [精简版不支持]
- (void)startEffect:(TXEffectType)type startTime:(float)startTime
Parameters
type |
特效类型 |
---|---|
startTime |
特效开始时间 |
Declared In
TXVideoEditer.h
– stopEffect:endTime:
结束特效 [精简版不支持]
- (void)stopEffect:(TXEffectType)type endTime:(float)endTime
Parameters
type |
特效类型 |
---|---|
endTime |
特效结束时间 |
Declared In
TXVideoEditer.h
贴纸相关方法 [精简版不支持]
– setSubtitleList:
设置字幕(气泡)列表 [精简版不支持]
- (void)setSubtitleList:(NSArray<TXSubtitle*> *)subtitleList
Parameters
subtitleList |
字幕列表 |
---|
Declared In
TXVideoEditer.h
– setPasterList:
设置静态贴纸 [精简版不支持]
- (void)setPasterList:(NSArray<TXPaster*> *)pasterList
Parameters
pasterList |
静态贴纸列表 |
---|
Declared In
TXVideoEditer.h
– setAnimatedPasterList:
设置动图列表 [精简版不支持]
- (void)setAnimatedPasterList:(NSArray<TXAnimatedPaster*> *)animatedPasterList
Parameters
animatedPasterList |
动态贴纸列表 |
---|
Declared In
TXVideoEditer.h
BGM相关方法
– setBGM:result:
设置背景音乐 [精简版不支持]
- (void)setBGM:(NSString *)path result:(void ( ^ ) ( int ))result
Parameters
path |
音乐文件路径 |
---|---|
result |
0:成功, -1:音乐文件格式不支持 |
Declared In
TXVideoEditer.h
– setBGMAsset:result:
设置背景音乐 [精简版不支持]
- (void)setBGMAsset:(AVAsset *)asset result:(void ( ^ ) ( int ))result
Parameters
asset |
音乐AVAsset对象, 从系统媒体库loading出来的音乐,可以直接传入对应的音乐属性,会极大的降低音乐从系统媒体库loading的时间,具体请参考demo用法 |
---|---|
result |
0:成功, -1:音乐文件格式不支持 |
Declared In
TXVideoEditer.h
– setBGMStartTime:endTime:
设置背景音乐的起始时间和结束时间 [精简版不支持]
- (void)setBGMStartTime:(float)startTime endTime:(float)endTime
Parameters
startTime |
音乐起始时间 |
---|---|
endTime |
音乐结束时间 |
Declared In
TXVideoEditer.h
– setBGMLoop:
设置背景音乐是否循环播放 [精简版不支持]
- (void)setBGMLoop:(BOOL)isLoop
Parameters
isLoop |
是否循环播放 |
---|
Declared In
TXVideoEditer.h
– setBGMAtVideoTime:
设置背景音乐在视频的添加的起始位置 [精简版不支持]
- (void)setBGMAtVideoTime:(float)time
Parameters
time |
背景音乐在视频的添加的起始时间 |
---|
Declared In
TXVideoEditer.h
– setVideoVolume:
设置视频声音大小 [精简版不支持]
- (void)setVideoVolume:(float)volume
Parameters
volume |
音量, 取值范围 0.0 ~ 1.0 |
---|
Declared In
TXVideoEditer.h
– setBGMVolume:
设置背景音乐声音大小 [精简版不支持]
- (void)setBGMVolume:(float)volume
Parameters
volume |
背景音量, 取值范围 0.0 ~ 1.0 |
---|
Declared In
TXVideoEditer.h
– setBGMFadeInDuration:fadeOutDuration:
设置背景音淡入淡出
- (void)setBGMFadeInDuration:(float)fadeInDuration fadeOutDuration:(float)fadeOutDuration
Parameters
fadeInDuration |
淡入持续时长 (s) |
---|---|
fadeOutDuration |
淡出持续时长 (s) |
Declared In
TXVideoEditer.h
水印相关方法
– setWaterMark:normalizationFrame:
设置全局水印 [精简版不支持]
- (void)setWaterMark:(UIImage *)waterMark normalizationFrame:(CGRect)normalizationFrame
Parameters
waterMark |
全局水印图片 |
---|---|
normalizationFrame |
水印相对于视频图像的归一化frame,x,y,width,height 取值范围 0~1; height不用设置,sdk内部会根据水印宽高比自动计算height; 比如视频图像大小为(540,960) frame设置为(0.1,0.1,0.1,0), 水印的实际像素坐标为(540 * 0.1,960 * 0.1,540 * 0.1 ,540 * 0.1 * waterMark.size.height / waterMark.size.width) |
Declared In
TXVideoEditer.h
– setTailWaterMark:normalizationFrame:duration:
设置片尾水印 [精简版不支持]
- (void)setTailWaterMark:(UIImage *)tailWaterMark normalizationFrame:(CGRect)normalizationFrame duration:(CGFloat)duration
Parameters
tailWaterMark |
片尾水印图片 |
---|---|
normalizationFrame |
水印相对于视频图像的归一化frame,x,y,width,height 取值范围 0~1; height不用设置,sdk内部会根据水印宽高比自动计算height; 比如视频图像大小为(540,960) frame设置为(0.1,0.1,0.1,0), 水印的实际像素坐标为(540 * 0.1,960 * 0.1,540 * 0.1 ,540 * 0.1 * waterMark.size.height / waterMark.size.width) |
duration |
水印的持续时长 |
Declared In
TXVideoEditer.h
视频生成相关方法
– setCutFromTime:toTime:
设置视频剪裁
- (void)setCutFromTime:(float)startTime toTime:(float)endTime
Parameters
startTime |
视频起始时间 |
---|---|
endTime |
视频结束时间 |
Declared In
TXVideoEditer.h
– setVideoBitrate:
设置视频码率
- (void)setVideoBitrate:(int)bitrate
Parameters
bitrate |
视频码率 单位:kbps 如果设置了码率,SDK生成视频会优先使用这个码率,注意码率不要太大或则太小,码率太小视频会模糊不清,码率太大,生成视频体积会很大 这里建议设置范围为:600~12000,如果没有调用这个接口,SDK内部会根据压缩质量自动计算码率 |
---|
Declared In
TXVideoEditer.h
– generateVideo:videoOutputPath:
生成视频 优点:兼容性好,支持各种操作类型的视频生成,生成的视频文件在各个平台播放的兼容性好 缺点:生成视频速度稍慢 调用之后在TXVideoGenerateListener里面监听结果回调
- (void)generateVideo:(TXVideoCompressed)videoCompressed videoOutputPath:(NSString *)videoOutputPath
Parameters
videoCompressed |
视频压缩质量 |
---|---|
videoOutputPath |
视频操作之后存储路径 |
Declared In
TXVideoEditer.h
– quickGenerateVideo:videoOutputPath:
使用系统函数快速生成视频 优点:生成视频速度快 缺点:1,剪切出来的视频在各个平台播放的兼容性稍差 2,只有剪切和压缩操作才会使用系统函数,其他情况系统不支持,SDK内部会自动走正常视频生成的逻辑 调用之后在 TXVideoGenerateListener 里面监听结果回调
- (void)quickGenerateVideo:(TXVideoCompressed)videoCompressed videoOutputPath:(NSString *)videoOutputPath
Parameters
videoCompressed |
视频压缩质量 |
---|---|
videoOutputPath |
视频操作之后存储路径 |
Declared In
TXVideoEditer.h
– generateVideoWithTwoPass:videoOutputPath:
两次扫描生成视频(Two-Pass Encoding) [精简版不支持] 优点:兼容性好,在同等码率下视频更加清晰,可以在较低码率下保持视频质量,支持各种操作类型的视频生成,生成的视频文件在各个平台播放的兼容性好 缺点:生成视频慢 调用之后在TXVideoGenerateListener里面监听结果回调
- (void)generateVideoWithTwoPass:(TXVideoCompressed)videoCompressed videoOutputPath:(NSString *)videoOutputPath
Parameters
videoCompressed |
视频压缩质量 |
---|---|
videoOutputPath |
视频操作之后存储路径 |
Declared In
TXVideoEditer.h
– pauseGenerate
暂停视频生成,仅适用于generateVideo,quickGenerateVideo调用无效
- (void)pauseGenerate
Discussion
SDK生成视频默认采用的是硬编码(编码效率高,编码出来的图像效果好),硬编码器在程序进后台后会停止工作,从而导致视频生成失败, 这里新增了两个接口pauseGenerate,resumeGenerate,程序进后台后您可以调用pauseGenerate暂停视频生成,程序重新进前台后, 您可以调用resumeGenerate 继续视频生成,这里需要注意的是,调用resumeGenerate,sdk会重启硬编码器,会有一定的概率重启失败, 或则重启后前几帧数据编码失败,这个时候SDK内部会在 TXVideoGenerateListener 抛出编码错误事件,收到错误事件后您需要重新生成视频。
See Also
Declared In
TXVideoEditer.h
– resumeGenerate
继续视频生成,仅适用于generateVideo,quickGenerateVideo调用无效
- (void)resumeGenerate
See Also
Declared In
TXVideoEditer.h