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