LSMediaTranscoding Class Reference
Inherits from | NSObject |
---|---|
Declared in | LSMediaTranscoding.h |
+ cleanGPUCache
清除缓存,如果和录制sdk一同使用,请在最后释放的类中调用。
+ (void)cleanGPUCache
Discussion
清除缓存,如果和录制sdk一同使用,请在最后释放的类中调用。
Declared In
LSMediaTranscoding.h
– init
初始化(禁用)
- (instancetype)init
Return Value
nil
Discussion
初始化(禁用)
Declared In
LSMediaTranscoding.h
– initWithAppKey:error:
初始化
- (instancetype)initWithAppKey:(NSString *)appKey error:(NSError **)error
Parameters
appKey |
appKey |
---|---|
error |
初始化失败原因 |
Return Value
实例
Declared In
LSMediaTranscoding.h
– initWithInputMainFileNameArray:inSecondaryFileName:outFileName:appKey:error:
实例化转码
- (instancetype)initWithInputMainFileNameArray:(NSArray<NSString*> *)inputMainFileNameArray inSecondaryFileName:(NSString *)inSecondaryFileName outFileName:(NSString *)outFileName appKey:(NSString *)appKey error:(NSError **)error
Parameters
inputMainFileNameArray |
转码输入文件路径全称数组,转码SDK支持多个输入文件的拼接 |
---|---|
inSecondaryFileName |
转码输入文件路径全称,此文件为转码的次要输入文件,可以为空,不为空时,需包含音频信息,也仅仅使用其音频信息 |
outFileName |
转码输出文件路径全称 |
appKey |
appKey |
error |
初始化失败原因 @discussion:此处我们不做输入文件是mp4的check,只判断文件名是否为空 |
Declared In
LSMediaTranscoding.h
– initWithInputExtendMainFiles:inSecondaryFileName:outFileName:appKey:error:
实例化转码
- (instancetype)initWithInputExtendMainFiles:(NSArray<LSInputFile*> *)inputExtendMainFiles inSecondaryFileName:(NSString *)inSecondaryFileName outFileName:(NSString *)outFileName appKey:(NSString *)appKey error:(NSError **)error
Parameters
inputExtendMainFiles |
转码输入文件路径全称数组,转码SDK支持多个输入文件的拼接 |
---|---|
inSecondaryFileName |
转码输入文件路径全称,此文件为转码的次要输入文件,可以为空,不为空时,需包含音频信息,也仅仅使用其音频信息 |
outFileName |
转码输出文件路径全称 |
appKey |
appKey |
error |
初始化失败原因 @discussion:此处我们不做输入文件是mp4的check,只判断文件名是否为空 |
Declared In
LSMediaTranscoding.h
inputMainFileNameArray
输入单个音视频文件,转码的主要输入文件,时长等以此为基准,当同时输入单个主文件,array[0]
@property (nonatomic, strong) NSArray<NSString*> *inputMainFileNameArray
Discussion
这个文件一定要包含视频,当仅仅包含音频时,请允许
Declared In
LSMediaTranscoding.h
inputExtendMainFiles
输入单个音视频文件,转码的主要输入文件,时长等以此为基准,当同时输入单个主文件,array[0]
@property (nonatomic, strong) NSArray<LSInputFile*> *inputExtendMainFiles
Discussion
这个文件一定要包含视频,当仅仅包含音频时,请允许
Declared In
LSMediaTranscoding.h
inputSecondaryFileName
输入单个音频文件,
@property (nonatomic, strong) NSString *inputSecondaryFileName
Discussion
这个文件一定要包含合法音频,
Declared In
LSMediaTranscoding.h
outputFileName
输出文件的名字
@property (nonatomic, strong) NSString *outputFileName
Declared In
LSMediaTranscoding.h
videoEncodedWidth
转码视频输出信息,编码宽度
@property (nonatomic, assign) int videoEncodedWidth
Discussion
如果不设置输出宽高,默认使用第一个主文件的分辨率输出
Declared In
LSMediaTranscoding.h
videoEncodedHeight
转码视频输出信息,编码高度
@property (nonatomic, assign) int videoEncodedHeight
Discussion
如果不设置输出宽高,默认使用第一个主文件的分辨率输出
Declared In
LSMediaTranscoding.h
videoQuality
转码视频输出的质量档次,有三挡
@property (nonatomic, assign) LSMediaTrascoidngVideoQuality videoQuality
Discussion
设置这个将不会对分辨率进行采样,而是改变输出的码率,文件大小
Declared In
LSMediaTranscoding.h
scaleVideoMode
视频伸缩模式.拉伸或等比例缩放(黑边填充)
@property (nonatomic, assign) LSMediaTrascoidngScaleVideoMode scaleVideoMode
Discussion
当多个视频文件拼接时,因为分辨率不一致导致的问题,需要通过scale来输出相同分辨率的视频
Declared In
LSMediaTranscoding.h
beginTimeS
原始视频截取开始时间
@property (nonatomic, assign) int beginTimeS
Discussion
必须和durationTimeS配对使用,如果小于0或者超出截取范围,默认不截取
Declared In
LSMediaTranscoding.h
durationTimeS
原始视频截取持续时间
@property (nonatomic, assign) int durationTimeS
Discussion
必须和beginTimeS配对使用,如果小于0或者超出截取范围,默认不截取
Declared In
LSMediaTranscoding.h
isMuted
设置静音
@property (nonatomic, assign) BOOL isMuted
Discussion
设置为YES时,主文件和伴音文件均无声
Declared In
LSMediaTranscoding.h
isMixMainFileMusic
是否混入主文件的音频,默认是 YES
@property (nonatomic, assign) BOOL isMixMainFileMusic
Discussion
如果isMuted选项为YES,则这里失效
Declared In
LSMediaTranscoding.h
intensityOfMainAudioVolume
主文件的音量大小。取值:[0~1],默认 0.5
@property (nonatomic, assign) float intensityOfMainAudioVolume
Discussion
如果isMixMainFileMusic选项为NO,则这里失效
Declared In
LSMediaTranscoding.h
intensityOfSecondAudioVolume
伴音文件的音量大小。取值:[0~1],默认 0.5
@property (nonatomic, assign) float intensityOfSecondAudioVolume
Declared In
LSMediaTranscoding.h
audioFadeInOutDurationS
伴音(转场)切换淡入淡出时长
@property (nonatomic, assign) int audioFadeInOutDurationS
Discussion
伴音文件会根据视频输出总时长循环播放,当播放次数<=1次时,此设置无效
Declared In
LSMediaTranscoding.h
videoFadeInOutDurationS
视频转场淡入淡出时长
@property (nonatomic, assign) int videoFadeInOutDurationS
Discussion
当用户输入视频文件<=1时,此设置无效
Declared In
LSMediaTranscoding.h
videoFadeInOutMinOpacity
视频转场淡入淡出透明度
@property (nonatomic, assign) float videoFadeInOutMinOpacity
Discussion
取值:[0~1]。默认为0.0
Declared In
LSMediaTranscoding.h
cropInfo
视频的裁剪信息
@property (nonatomic, strong) LSVideoCropInfo *cropInfo
Discussion
坐标系(0,0,视频分辨率宽,视频分辨率高)
Declared In
LSMediaTranscoding.h
waterMarkInfos
视频的水印叠加信息
@property (nonatomic, strong) NSArray<LSWaMarkRectInfo*> *waterMarkInfos
Discussion
坐标系(0,0,视频分辨率宽,视频分辨率高)
Declared In
LSMediaTranscoding.h
smoothFilterIntensity
设置磨皮滤镜的强度。
@property (nonatomic, assign) float smoothFilterIntensity
Discussion
1)取值 [0 ~ 40], 默认: 20。2)仅支持NMCGPUImageZiran,NMCGPUImageMeiyan1,NMCGPUImageMeiyan2
Declared In
LSMediaTranscoding.h
whiteningFilterIntensity
设置美白滤镜强度
@property (nonatomic, assign) float whiteningFilterIntensity
Discussion
1) 取值 [0 ~ 1], 默认 0.5。 2)只支持NMCGPUImageZiran NMCGPUImageMeiyan1 NMCGPUImageMeiyan2
Declared In
LSMediaTranscoding.h
customFilter
添加自定义滤镜。default:nil
@property (nonatomic, strong) GPUImageFilter *customFilter
Declared In
LSMediaTranscoding.h
isBeautyFilterOn
美颜开关。指在定义滤镜上是否再叠加sdk提供的自然滤镜。default:NO
@property (nonatomic, assign) BOOL isBeautyFilterOn
Discussion
1) YES:自定义滤镜(如果有)+ 自然滤镜(LS_RECORD_GPUIMAGE_ZIRAN)。 2) NO: 自定义滤镜(如果有)+ 普通滤镜(LS_RECORD_GPUIMAGE_NORMAL)。
Declared In
LSMediaTranscoding.h
filterType
滤镜类型设置。
@property (nonatomic, assign) LSRecordGPUImageFilterType filterType
Discussion
取值参见LSRecordGPUImageFilterType。default:LS_RECORD_GPUIMAGE_NORMAL
Declared In
LSMediaTranscoding.h
brightness
亮度
@property (nonatomic, assign) CGFloat brightness
Discussion
[-1.0 ~ 1.0], default 0.0
Declared In
LSMediaTranscoding.h
contrast
对比度
@property (nonatomic, assign) CGFloat contrast
Discussion
[0.0 ~ 4.0], default 1.0
Declared In
LSMediaTranscoding.h
saturation
饱和度
@property (nonatomic, assign) CGFloat saturation
Discussion
[0.0 ~ 2.0], default 1.0
Declared In
LSMediaTranscoding.h
sharpness
锐度
@property (nonatomic, assign) CGFloat sharpness
Discussion
[-4.0 ~ 4.0], default 0.0
Declared In
LSMediaTranscoding.h
hue
色温
@property (nonatomic, assign) CGFloat hue
Discussion
[0 ~ 360], default 0
Declared In
LSMediaTranscoding.h
invertedSpeed
逆序的导出速度(默认3)
@property (nonatomic, assign) NSInteger invertedSpeed
Discussion
invertedSpeed 默认3.取值[1 ~ 5]。数值越大逆序速度越快,占用内存越大。
Declared In
LSMediaTranscoding.h
LSInvertedProgress
逆序进度回调
@property (nonatomic, strong) void ( ^ ) ( float progress ) LSInvertedProgress
Discussion
progress 进度
Declared In
LSMediaTranscoding.h
– doInvertedVideo:complete:
视频逆序
- (void)doInvertedVideo:(NSString *)path complete:(void ( ^ ) ( NSError *error , NSString *output ))callback
Parameters
path |
输入文件路径 |
---|---|
callback |
转码回调,参数为NSError,callback回调 sdk内部实现没有dispatch_async,用户需要使用callback更新UI,请建议attach回main queue |
Discussion
转码过程中,请关闭预览
Declared In
LSMediaTranscoding.h
– interruptInvertedVideo
中断逆序
- (void)interruptInvertedVideo
Discussion
逆序是个耗时操作,允许在程序执行的任何时候,中断操作。中断后,之前耗费的转码时间将没有任何输出物
Declared In
LSMediaTranscoding.h
LSMediaTransProgress
转码进度回调
@property (nonatomic, strong) void ( ^ ) ( float progress ) LSMediaTransProgress
Discussion
progress 进度
Declared In
LSMediaTranscoding.h
– doTranscoding:
转码
- (void)doTranscoding:(void ( ^ ) ( NSError *error , NSString *output ))callback
Parameters
callback |
转码回调,参数为NSError,callback回调 sdk内部实现没有dispatch_async,用户需要使用callback更新UI,请建议attach回main queue |
---|
Discussion
1) 转码耗时操作,sdk内部实现没有另外开辟单独的线程来进行操作,将线程管理交给用户,建议参考demo实现,不要放在主线程.2) 转码过程中,请关闭预览
Declared In
LSMediaTranscoding.h
– interruptTranscoding
中断转码
- (void)interruptTranscoding
Discussion
转码是个耗时操作,允许在程序执行的任何时候,中断操作。中断后,之前耗费的转码时间将没有任何输出物
Declared In
LSMediaTranscoding.h
– startVideoPreview:
打开视频预览
- (void)startVideoPreview:(UIView *)preview
Parameters
preview |
预览窗口 |
---|
Discussion
在ipad3上,前置摄像头的分辨率不支持960*540的高分辨率,不建议在ipad上使用前置摄像头进行高清分辨率采集
Declared In
LSMediaTranscoding.h
– stopVideoPreview
停止视频预览
- (void)stopVideoPreview
Discussion
在ipad3上,前置摄像头的分辨率不支持960*540的高分辨率,不建议在ipad上使用前置摄像头进行高清分辨率采集
Declared In
LSMediaTranscoding.h
– startPlayMusic:withEnableSignleFileLooped:
开始播放伴音
- (BOOL)startPlayMusic:(NSString *)musicURL withEnableSignleFileLooped:(BOOL)enableLoop
Parameters
musicURL |
伴音文件路径 |
---|---|
enableLoop |
循环次数 |
Return Value
成功:yes 失败:no
Declared In
LSMediaTranscoding.h
– stopPlayMusic
停止播放伴音
- (BOOL)stopPlayMusic
Return Value
成功:yes 失败:no
Declared In
LSMediaTranscoding.h
– resumePlayMusic
恢复播放伴音
- (BOOL)resumePlayMusic
Return Value
成功:yes 失败:no
Declared In
LSMediaTranscoding.h
– pausePlayMusic
暂停播放伴音
- (BOOL)pausePlayMusic
Return Value
成功:yes 失败:no
Declared In
LSMediaTranscoding.h
– externalInputVideoFrame:
用户可以通过这个接口,将处理完的数据送回来,由视频云sdk录制出去
- (void)externalInputVideoFrame:(CMSampleBufferRef)sampleBuffer
Parameters
sampleBuffer |
采集到的数据结构体 |
---|
Declared In
LSMediaTranscoding.h
externalVideoFrameCallback
获取最新一帧视频截图后的回调
@property (nonatomic, copy) void ( ^ ) ( CMSampleBufferRef pixelBuf ) externalVideoFrameCallback
Discussion
pixelBuf 采集到的数据结构体
Declared In
LSMediaTranscoding.h
– getinputFileInfo:infoBlock:
文件信息查询
- (void)getinputFileInfo:(NSString *)inputFileName infoBlock:(void ( ^ ) ( NSError *error , LSMediaFileInfo *info ))infoBlock
Parameters
inputFileName |
输入文件 |
---|---|
infoBlock |
参数信息回调,当error非空时,表示文件信息获取正确,或者说文件合法,读取info,info具体含义请参考LSMediaFileInfo结构体 |
Declared In
LSMediaTranscoding.h
+ SDKVersion
获取当前sdk的版本号
+ (NSString *)SDKVersion
Return Value
sdk版本号
Declared In
LSMediaTranscoding.h
+ setLogLevel:
设置trace 的level
+ (void)setLogLevel:(LSMediaRecordLogLevel)logLevel
Parameters
logLevel |
trace 信息的级别 |
---|
Declared In
LSMediaTranscoding.h