diff --git a/demo/KSYLiveDemo/Info.plist b/demo/KSYLiveDemo/Info.plist
index e119622..59b69b2 100644
--- a/demo/KSYLiveDemo/Info.plist
+++ b/demo/KSYLiveDemo/Info.plist
@@ -15,11 +15,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.9.2
+ 2.9.3
CFBundleSignature
????
CFBundleVersion
- 2.9.2.0
+ 2.9.3.2
LSRequiresIPhoneOS
NSAppTransportSecurity
diff --git a/demo/KSYLiveDemo/KSYDemoUI/KSYPresetCfgView.m b/demo/KSYLiveDemo/KSYDemoUI/KSYPresetCfgView.m
index 651bbf6..d88ce7a 100644
--- a/demo/KSYLiveDemo/KSYDemoUI/KSYPresetCfgView.m
+++ b/demo/KSYLiveDemo/KSYDemoUI/KSYPresetCfgView.m
@@ -26,7 +26,7 @@ - (id) init {
self = [super init];
self.backgroundColor = [UIColor whiteColor];
// hostURL = rtmpSrv + streamName(随机数,避免多个demo推向同一个流
- NSString *rtmpSrv = @"rtmp://test.uplive.ks-cdn.com/live";
+ NSString *rtmpSrv = @"rtmp://120.92.224.235/live";
NSString *devCode = [ [KSYUIView getUuid] substringToIndex:3];
NSString *url = [ NSString stringWithFormat:@"%@/%@", rtmpSrv, devCode];
_hostUrlUI = [self addTextField:url ];
@@ -229,7 +229,7 @@ - (void)getStreamerProfile:(KSYStreamerProfile)profile{
_videoCodecUI.selectedSegmentIndex = 0;
_videoKbpsUI.slider.value = 512;
_audioCodecUI.selectedSegmentIndex = 2;
- _audioKbpsUI.selectedSegmentIndex = 3;
+ _audioKbpsUI.selectedSegmentIndex = 4;
_bwEstModeUI.selectedSegmentIndex = 0;
break;
case KSYStreamerProfile_360p_1:
@@ -239,7 +239,7 @@ - (void)getStreamerProfile:(KSYStreamerProfile)profile{
_videoCodecUI.selectedSegmentIndex = 0;
_videoKbpsUI.slider.value = 512;
_audioCodecUI.selectedSegmentIndex = 2;
- _audioKbpsUI.selectedSegmentIndex = 3;
+ _audioKbpsUI.selectedSegmentIndex = 4;
_bwEstModeUI.selectedSegmentIndex = 0;
break;
case KSYStreamerProfile_360p_2:
@@ -249,7 +249,7 @@ - (void)getStreamerProfile:(KSYStreamerProfile)profile{
_videoCodecUI.selectedSegmentIndex = 0;
_videoKbpsUI.slider.value = 512;
_audioCodecUI.selectedSegmentIndex = 2;
- _audioKbpsUI.selectedSegmentIndex = 3;
+ _audioKbpsUI.selectedSegmentIndex = 4;
_bwEstModeUI.selectedSegmentIndex = 0;
break;
case KSYStreamerProfile_360p_3:
@@ -259,7 +259,7 @@ - (void)getStreamerProfile:(KSYStreamerProfile)profile{
_videoCodecUI.selectedSegmentIndex = 0;
_videoKbpsUI.slider.value = 768;
_audioCodecUI.selectedSegmentIndex = 2;
- _audioKbpsUI.selectedSegmentIndex = 3;
+ _audioKbpsUI.selectedSegmentIndex = 4;
_bwEstModeUI.selectedSegmentIndex = 0;
break;
case KSYStreamerProfile_540p_auto:
diff --git a/demo/KSYLiveDemo/KSYDemoUI/KSYStateLableView.m b/demo/KSYLiveDemo/KSYDemoUI/KSYStateLableView.m
index c770ea3..ff23c70 100644
--- a/demo/KSYLiveDemo/KSYDemoUI/KSYStateLableView.m
+++ b/demo/KSYLiveDemo/KSYDemoUI/KSYStateLableView.m
@@ -70,7 +70,7 @@ - (void) updateState:(KSYStreamerBase*)str {
NSString *uploadDateSize = [KSYUIVC sizeFormatted:curState.uploadKByte];
NSString* stateurl = [NSString stringWithFormat:@"%@\n", [str.hostURL absoluteString]];
//显示拉流地址
- NSString *playUrl = @"http://test.hdllive.ks-cdn.com/live/";
+ NSString *playUrl = @"http://120.92.224.235:8080/live/";
if (![[str.hostURL scheme] isEqualToString:@"rtmp"]) {
//录制到本地
NSString *fileName = [[stateurl componentsSeparatedByString:@"/"]lastObject];
diff --git a/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC+Rotation.m b/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC+Rotation.m
index c7dc1aa..a2a36be 100644
--- a/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC+Rotation.m
+++ b/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC+Rotation.m
@@ -28,19 +28,7 @@ - (void) onViewRotate { // 重写父类的方法, 参考父类 KSYUIView.m 中
return;
}
self.curCollection = self.traitCollection;
-
- // 2.2 设置 logoRect
- [self.kit setLogoRect:CGRectMake(self.kit.logoRect.origin.x, self.kit.logoRect.origin.y, self.kit.logoRect.size.height, self.kit.logoRect.size.width)];
-
- // 根据text相对于logo的布局来计算text的Y值(text出于logo正下方)
- CGFloat textY = (self.kit.textRect.origin.y - self.kit.logoRect.origin.y) / (self.kit.streamDimension.height / self.kit.streamDimension.width) + self.kit.logoRect.origin.y;
- // width 根据推流分辨率计算
- CGFloat textheight = self.kit.textRect.size.height / self.kit.streamDimension.height * self.kit.streamDimension.width;
- // 2.3 设置 textRect
- [self.kit setTextRect:CGRectMake(self.kit.textRect.origin.x,
- textY,
- self.kit.textRect.size.width,
- textheight)];
+ [self setupLogoRect];
}
}
diff --git a/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.h b/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.h
index e4fa569..034430d 100644
--- a/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.h
+++ b/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.h
@@ -86,6 +86,8 @@
- (void) onMenuBtnPress:(UIButton *)btn;
- (void) onQuit;
+- (void) setupLogoRect;
+
#define SEL_VALUE(SEL_NAME) [NSValue valueWithPointer:@selector(SEL_NAME)]
@end
diff --git a/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.m b/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.m
index 727c870..c07dba8 100644
--- a/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.m
+++ b/demo/KSYLiveDemo/KSYDemoUI/KSYStreamerVC.m
@@ -264,26 +264,31 @@ - (NSString *) timeStr {
}
#pragma mark - logo setup
- (void) setupLogo{
- CGFloat yPos = 0.05;
- // 预览视图的scale
- CGFloat scale = MAX(self.view.frame.size.width, self.view.frame.size.height) / self.view.frame.size.height;
- CGFloat hgt = 0.1 * scale; // logo图片的高度是预览画面的十分之一
+
UIImage * logoImg = [UIImage imageNamed:@"ksvc"];
_logoPicure = [[GPUImagePicture alloc] initWithImage:logoImg];
_kit.logoPic = _logoPicure;
_logoOrientation = logoImg.imageOrientation;
[_kit setLogoOrientaion: _logoOrientation];
- _kit.logoRect = CGRectMake(0.05, yPos, 0, hgt);
_kit.logoAlpha= 0.5;
- yPos += hgt;
_miscView.alphaSl.normalValue = _kit.logoAlpha;
_kit.textLabel.numberOfLines = 2;
_kit.textLabel.textAlignment = NSTextAlignmentCenter;
NSString * timeStr = [self timeStr];
_kit.textLabel.text = [NSString stringWithFormat:@"ksyun\n%@", timeStr];
[_kit.textLabel sizeToFit];
- _kit.textRect = CGRectMake(0.05, yPos, 0, 0.04 * scale); // 水印文字的高度为预览画面的 0.04倍
[_kit updateTextLabel];
+ [self setupLogoRect];
+}
+- (void) setupLogoRect{
+ CGFloat yPos = 0.05;
+ // 预览视图的scale
+ CGSize frameSz = self.view.frame.size;
+ CGFloat scale = MAX(frameSz.width, frameSz.height) / frameSz.height;
+ CGFloat hgt = 0.1 * scale; // logo图片的高度是预览画面的十分之一
+ _kit.logoRect = CGRectMake(0.05, yPos, 0, hgt);
+ yPos += hgt;
+ _kit.textRect = CGRectMake(0.05, yPos, 0, 0.04 * scale); // 水印文字的高度为预览画面的 0.04倍
}
- (void) updateLogoText {
@@ -406,7 +411,7 @@ - (void) defaultStramCfg{
_kit.streamerBase.logBlock = ^(NSString* str){
NSLog(@"%@", str);
};
- _hostURL = [NSURL URLWithString:@"rtmp://test.uplive.ks-cdn.com/live/123"];
+ _hostURL = [NSURL URLWithString:@"rtmp://120.92.224.235/live/123"];
}
- (void) setStreamerCfg { // must set after capture
if (_kit.streamerBase == nil) {
@@ -958,7 +963,7 @@ - (void)onMiscBtns:(id)sender {
//推流地址对应的拉流地址
NSString * uuidStr =[[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSString *devCode = [[uuidStr substringToIndex:3] lowercaseString];
- NSString *streamPlaySrv = @"http://test.hdllive.ks-cdn.com/live";
+ NSString *streamPlaySrv = @"http://120.92.224.235:8080/live";
NSString *streamPlayPostfix = @".flv";
playUrlQRCodeVc.url = [ NSString stringWithFormat:@"%@/%@%@", streamPlaySrv, devCode,streamPlayPostfix];
}
diff --git a/demo/KSYLiveDemo/KSYLiveVC.m b/demo/KSYLiveDemo/KSYLiveVC.m
index d24d5f5..06718bc 100644
--- a/demo/KSYLiveDemo/KSYLiveVC.m
+++ b/demo/KSYLiveDemo/KSYLiveVC.m
@@ -80,11 +80,11 @@ - (void)viewDidLoad {
NSString * uuidStr =[[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSString *devCode = [[uuidStr substringToIndex:3] lowercaseString];
//推流地址
- NSString *streamSrv = @"rtmp://test.uplive.ks-cdn.com/live";
+ NSString *streamSrv = @"rtmp://120.92.224.235/live";
NSString *streamUrl = [ NSString stringWithFormat:@"%@/%@", streamSrv, devCode];
_arrayStreamAddress = [NSMutableArray arrayWithObjects:streamUrl,nil];
//推流地址对应的拉流地址
- NSString *streamPlaySrv = @"http://test.hdllive.ks-cdn.com/live";
+ NSString *streamPlaySrv = @"http://120.92.224.235:8080/live";
NSString *streamPlayPostfix = @".flv";
NSString *streamPlayUrl = [ NSString stringWithFormat:@"%@/%@%@", streamPlaySrv, devCode,streamPlayPostfix];
//拉流地址
diff --git a/demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYPresetCfgView.swift b/demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYPresetCfgView.swift
index c7c84cb..1977608 100644
--- a/demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYPresetCfgView.swift
+++ b/demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYPresetCfgView.swift
@@ -65,7 +65,7 @@ class KSYPresetCfgView: KSYUIView, UIImagePickerControllerDelegate, UINavigation
super.init()
backgroundColor = .white
// hostURL = rtmpSrv + streamName(随机数,避免多个demo推向同一个流
- let rtmpSrv = "rtmp://test.uplive.ks-cdn.com/live"
+ let rtmpSrv = "rtmp://120.92.224.235/live"
let devCode = (KSYUIView.init().getUuid()! as NSString).substring(to: 3)
let url = "\(rtmpSrv)/\(devCode)"
diff --git a/demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYStreamerVC.swift b/demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYStreamerVC.swift
index 7acf21f..35aa674 100644
--- a/demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYStreamerVC.swift
+++ b/demo/KSYLiveDemo_Swift/KSYDemoUI_Swift/KSYStreamerVC.swift
@@ -318,7 +318,7 @@ class KSYStreamerVC: KSYUIVC, UIImagePickerControllerDelegate, UINavigationContr
kit?.streamerBase.logBlock = { (str) -> Void in
print(str ?? "")
}
- hostURL = NSURL.init(string: "rtmp://test.uplive.ks-cdn.com/live/123")
+ hostURL = NSURL.init(string: "rtmp://120.92.224.235/live/123")
}
// 推流的参数设置 must set after capture
diff --git a/demo/KSYLiveDemo_Swift/KSYLiveDemo_Swift/KSYLiveVC.swift b/demo/KSYLiveDemo_Swift/KSYLiveDemo_Swift/KSYLiveVC.swift
index 274f4a3..673a86b 100644
--- a/demo/KSYLiveDemo_Swift/KSYLiveDemo_Swift/KSYLiveVC.swift
+++ b/demo/KSYLiveDemo_Swift/KSYLiveDemo_Swift/KSYLiveVC.swift
@@ -27,7 +27,7 @@ class KSYLiveVC: UIViewController {
view.backgroundColor = .white
_addressMulArray = [String]()
let devCode = (UIDevice.current.identifierForVendor!.uuidString as NSString).substring(to: 3)
- let streamSrv = "rtmp://test.uplive.ksyun.com/live"
+ let streamSrv = "rtmp://120.92.224.235/live"
let streamUrl = "\(streamSrv)/\(devCode)"
let playUrl = "rtmp://live.hkstv.hk.lxdns.com/live/hks"
let recordFile = "RecordAv.mp4"
diff --git a/demo/Podfile b/demo/Podfile
index 414b75d..976cc05 100644
--- a/demo/Podfile
+++ b/demo/Podfile
@@ -11,7 +11,12 @@ target 'KSYLiveDemo' do
pod 'ZipArchive', '~> 1.4'
pod 'GPUImage'
+ # KSYGPUResource 为基础版本的图片资源, 包含了美颜滤镜必须依赖的图片
pod 'libksygpulive/KSYGPUResource', :path => '../'
+ # KSYGPUResourceFull 为完整版本的图片资源, 包含了所有特效滤镜的图片
+ #pod 'libksygpulive/KSYGPUResourceFull', :path => '../'
+ ## 请根据需要选择要添加的资源包, 完整版的资源引入的增量为3.1M
+
pod 'libksygpulive/libksygpulive', :path => '../'
# pod 'libksygpulive/libksygpulive_265', :path => '../'
diff --git a/doc/docset-installed.txt b/doc/docset-installed.txt
index 56734e8..50cf1bd 100644
--- a/doc/docset-installed.txt
+++ b/doc/docset-installed.txt
@@ -1,4 +1,4 @@
Documentation set was installed to Xcode!
Path: /Users/ksvc/Library/Developer/Shared/Documentation/DocSets/com.ksyun.KSYLive_iOS.docset
-Time: 2017-11-02 11:59:23 +0000
\ No newline at end of file
+Time: 2017-11-21 02:44:19 +0000
\ No newline at end of file
diff --git a/doc/docset/Contents/Resources/Documents/Classes/KSYAudioMixer.html b/doc/docset/Contents/Resources/Documents/Classes/KSYAudioMixer.html
index ca32a2b..0f7642a 100644
--- a/doc/docset/Contents/Resources/Documents/Classes/KSYAudioMixer.html
+++ b/doc/docset/Contents/Resources/Documents/Classes/KSYAudioMixer.html
@@ -86,6 +86,8 @@
+
+
@@ -627,7 +629,7 @@ Parameters
Return Value
<0, 表示查询失败
=0,表示残余的数据不足一次输出
- >0, 表示可以buffer中的数据还可以输出n次
+ >0, 表示buffer中的数据还可以输出n次
*
@@ -641,6 +643,68 @@ Return Value
+
+
Declared In
+
KSYAudioMixer.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
查询track中缓存数据的samplebuffer数
+
+
+
+
+
- (int)getNumSamplesInBuffer:(int)trackId
+
+
+
+
+
Parameters
+
+
+
+ trackId |
+ 开关对应track |
+
+
+
+
+
+
+
+
+
Return Value
+
<0, 表示查询失败
+=0,表示无残余的数据
+
+
0, 表示buffer中sample数
+*
+
+
+
+
+
+
+
+
+
+
+
+
Declared In
KSYAudioMixer.h
diff --git a/doc/docset/Contents/Resources/Documents/Classes/KSYClipWriter.html b/doc/docset/Contents/Resources/Documents/Classes/KSYClipWriter.html
index ad6e800..56e6fea 100644
--- a/doc/docset/Contents/Resources/Documents/Classes/KSYClipWriter.html
+++ b/doc/docset/Contents/Resources/Documents/Classes/KSYClipWriter.html
@@ -580,8 +580,8 @@
Declared In
-
-
maxKeyInterval
+
+ audiokBPS
@@ -637,12 +637,12 @@
-
最大关键帧间隔(单位:秒, 默认:3)
+
音频编码码率(单位:kbps)
- @property (nonatomic, assign) float maxKeyInterval
+ @property (nonatomic, assign) int audiokBPS
@@ -654,7 +654,7 @@
Discussion
-
即GOP长度 画面静止时,隔n秒插入一个关键帧
+
音频目标编码码率 (比如48,96,128等)
@@ -672,8 +672,8 @@ Declared In
-
-
audiokBPS
+
+ liveScene
@@ -683,12 +683,12 @@
audio
-
音频编码码率(单位:kbps)
+
待编码的视频场景 (默认为KSYLiveScene_Default)
- @property (nonatomic, assign) int audiokBPS
+ @property (nonatomic, assign) KSYLiveScene liveScene
@@ -700,7 +700,7 @@ audio
Discussion
-
音频目标编码码率 (比如48,96,128等)
+
KSY内部会根据场景的特征进行参数调优,开始录制前设置有效
@@ -718,8 +718,8 @@ Declared In
-
-
liveScene
+
+ recScene
@@ -729,12 +729,12 @@
liveS
-
待编码的视频场景 (默认为KSYLiveScene_Default)
+
本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
- @property (nonatomic, assign) KSYLiveScene liveScene
+ @property (nonatomic, assign) KSYRecScene recScene
@@ -746,7 +746,7 @@ liveS
Discussion
-
KSY内部会根据场景的特征进行参数调优,开始录制前设置有效
+
用于指定录制时, 视频编码器码率控制的优先目标
恒定码率: 最后视频文件的码率更平稳,但复杂场景质量可能差一些
恒定质量: 最后视频文件的质量更平稳写, 但码率波动要大一些
开始录制前设置有效,
@@ -764,8 +764,8 @@ Declared In
-
-
recScene
+
+ videoCrf
@@ -775,12 +775,12 @@
recSce
-
编码的目标场景 (默认为KSYRecScene_ConstantBitRate)
+
质量等级(默认:20)
- @property (nonatomic, assign) KSYRecScene recScene
+ @property (nonatomic, assign) int videoCrf
@@ -792,7 +792,7 @@ recSce
Discussion
-
开始编码前设置有效
+
视频恒定质量等级,范围0~51,值越小,质量越好
当 recScene 为 KSYRecScene_ConstantQuality, 且选择软编码器时有效
diff --git a/doc/docset/Contents/Resources/Documents/Classes/KSYGPUTwoInputFiter.html b/doc/docset/Contents/Resources/Documents/Classes/KSYGPUTwoInputFiter.html
index e2da4e3..e179405 100644
--- a/doc/docset/Contents/Resources/Documents/Classes/KSYGPUTwoInputFiter.html
+++ b/doc/docset/Contents/Resources/Documents/Classes/KSYGPUTwoInputFiter.html
@@ -43,8 +43,6 @@
-
-
videoCrf
+
+ maxKeyInterval
@@ -878,12 +878,12 @@
videoC
-
质量等级(默认:20)
+
最大关键帧间隔(单位:秒, 默认:3)
- @property (nonatomic, assign) int videoCrf
+ @property (nonatomic, assign) float maxKeyInterval
@@ -895,7 +895,7 @@ videoC
Discussion
-
视频恒定质量等级,范围0~51,值越小,质量越好
+
即GOP长度 画面静止时,隔n秒插入一个关键帧
@@ -913,8 +913,8 @@ Declared In
-
-
maxKeyInterval
+
+ audiokBPS
@@ -924,12 +924,12 @@
-
最大关键帧间隔(单位:秒, 默认:3)
+
音频编码码率(单位:kbps)
- @property (nonatomic, assign) float maxKeyInterval
+ @property (nonatomic, assign) int audiokBPS
@@ -941,7 +941,7 @@
Discussion
-
即GOP长度 画面静止时,隔n秒插入一个关键帧
+
音频目标编码码率 (比如48,96,128等)
@@ -959,8 +959,8 @@ Declared In
-
-
audiokBPS
+
+ bwEstimateMode
@@ -970,12 +970,12 @@
audio
-
音频编码码率(单位:kbps)
+
带宽估计模式
- @property (nonatomic, assign) int audiokBPS
+ @property (nonatomic, assign) KSYBWEstimateMode bwEstimateMode
@@ -987,7 +987,7 @@ audio
Discussion
-
音频目标编码码率 (比如48,96,128等)
+
带宽估计的策略选择 (开始推流前设置有效)
@@ -1005,8 +1005,8 @@ Declared In
-
-
liveScene
+
+ recScene
@@ -1062,12 +1062,12 @@
liveS
-
本次直播的目标场景 (默认为KSYLiveScene_Default)
+
本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
- @property (nonatomic, assign) KSYLiveScene liveScene
+ @property (nonatomic, assign) KSYRecScene recScene
@@ -1079,7 +1079,7 @@ liveS
Discussion
-
KSY内部会根据场景的特征进行参数调优,开始推流前设置有效
+
用于指定录制时, 视频编码器码率控制的优先目标
恒定码率: 最后视频文件的码率更平稳,但复杂场景质量可能差一些
恒定质量: 最后视频文件的质量更平稳写, 但码率波动要大一些
开始录制前设置有效, 录制本地文件时有效, 直播不建议修改
@@ -1097,8 +1097,8 @@ Declared In
-
-
recScene
+
+ videoCrf
@@ -1108,12 +1108,12 @@
recSce
-
本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
+
质量等级(默认:20)
- @property (nonatomic, assign) KSYRecScene recScene
+ @property (nonatomic, assign) int videoCrf
@@ -1125,7 +1125,7 @@ recSce
Discussion
-
开始录制前设置有效
+
视频恒定质量等级,范围0~51,值越小,质量越好
当 recScene 为 KSYRecScene_ConstantQuality, 且选择软编码器时有效
diff --git a/doc/docset/Contents/Resources/Documents/Classes/KSYTransitionFadesInOutFilter.html b/doc/docset/Contents/Resources/Documents/Classes/KSYTransitionFadesInOutFilter.html
index de655dd..9e55424 100644
--- a/doc/docset/Contents/Resources/Documents/Classes/KSYTransitionFadesInOutFilter.html
+++ b/doc/docset/Contents/Resources/Documents/Classes/KSYTransitionFadesInOutFilter.html
@@ -56,6 +56,8 @@
+
+
+
+
bReverse
+
+
+
+
+
+
+
+
+
+
NO: 第一段视频淡入,第二段视频淡出 YES: 第一段视频淡出,第二段视频淡入 (默认为NO)
+
+
+
+
+
@property (nonatomic, readwrite) BOOL bReverse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declared In
KSYTransitionFadesInOutFilter.h
diff --git a/doc/docset/Contents/Resources/Documents/Constants/KSYTransitionType.html b/doc/docset/Contents/Resources/Documents/Constants/KSYTransitionType.html
index 6083d3f..51ec195 100644
--- a/doc/docset/Contents/Resources/Documents/Constants/KSYTransitionType.html
+++ b/doc/docset/Contents/Resources/Documents/Constants/KSYTransitionType.html
@@ -87,15 +87,21 @@
Definition
KSYTransitionTypeNone = 0,
-
KSYTransitionTypeFadesInOut,
+
KSYTransitionTypeFadesIn,
-
KSYTransitionTypeFlashBlack,
+
KSYTransitionTypeBlurIn,
-
KSYTransitionTypeFlashWhite,
+
KSYTransitionTypeFadesOut = 101,
KSYTransitionTypeBlurOut,
-
KSYTransitionTypeBlurIn,
+
KSYTransitionTypeFadesInOut = 201,
+
+
KSYTransitionTypeFlashBlack,
+
+
KSYTransitionTypeFlashWhite,
+
+
KSYTransitionTypeBlurInOut,
KSYTransitionTypePushUp,
@@ -130,11 +136,11 @@
Constants
-
KSYTransitionTypeFadesInOut
+
KSYTransitionTypeFadesIn
-渐入淡出
+渐入(片头效果)
@@ -147,11 +153,11 @@ Constants
-
KSYTransitionTypeFlashBlack
+
KSYTransitionTypeBlurIn
-闪黑
+模糊变清晰(片头效果)
@@ -164,11 +170,11 @@ Constants
-
KSYTransitionTypeFlashWhite
+
KSYTransitionTypeFadesOut
-闪白
+淡出(片尾效果)
@@ -185,7 +191,7 @@ Constants
-清晰变模糊
+清晰变模糊(片尾效果)
@@ -198,11 +204,62 @@ Constants
- KSYTransitionTypeBlurIn
+
KSYTransitionTypeFadesInOut
+
+
+
+渐入淡出
+
+
+
+
+
+
+
+ Declared In KSYTransitionFilter.h
.
+
+
+
+
+
KSYTransitionTypeFlashBlack
+
+
+
+闪黑
+
+
+
+
+
+
+
+ Declared In KSYTransitionFilter.h
.
+
+
+
+
+
KSYTransitionTypeFlashWhite
-模糊变清晰
+闪白
+
+
+
+
+
+
+
+ Declared In KSYTransitionFilter.h
.
+
+
+
+
+
KSYTransitionTypeBlurInOut
+
+
+
+清晰变模糊
diff --git a/doc/docset/Contents/Resources/Tokens14.xml b/doc/docset/Contents/Resources/Tokens14.xml
index 82aa653..be7dc3f 100644
--- a/doc/docset/Contents/Resources/Tokens14.xml
+++ b/doc/docset/Contents/Resources/Tokens14.xml
@@ -306,42 +306,6 @@
-
- //apple_ref/occ/instm/KSYClipWriter/setVideoCrf:
- 质量等级(默认:20)
- KSYClipWriter.h
-
- @property (nonatomic, assign) int videoCrf
-
-
- //api/name/videoCrf
-
-
-
-
- //apple_ref/occ/instm/KSYClipWriter/videoCrf
- 质量等级(默认:20)
- KSYClipWriter.h
-
- @property (nonatomic, assign) int videoCrf
-
-
- //api/name/videoCrf
-
-
-
-
- //apple_ref/occ/instp/KSYClipWriter/videoCrf
- 质量等级(默认:20)
- KSYClipWriter.h
-
- @property (nonatomic, assign) int videoCrf
-
-
- //api/name/videoCrf
-
-
-
//apple_ref/occ/instm/KSYClipWriter/setMaxKeyInterval:
最大关键帧间隔(单位:秒, 默认:3)
@@ -452,7 +416,7 @@
//apple_ref/occ/instm/KSYClipWriter/setRecScene:
- 编码的目标场景 (默认为KSYRecScene_ConstantBitRate)
+ 本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
KSYClipWriter.h
@property (nonatomic, assign) KSYRecScene recScene
@@ -464,7 +428,7 @@
//apple_ref/occ/instm/KSYClipWriter/recScene
- 编码的目标场景 (默认为KSYRecScene_ConstantBitRate)
+ 本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
KSYClipWriter.h
@property (nonatomic, assign) KSYRecScene recScene
@@ -476,7 +440,7 @@
//apple_ref/occ/instp/KSYClipWriter/recScene
- 编码的目标场景 (默认为KSYRecScene_ConstantBitRate)
+ 本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
KSYClipWriter.h
@property (nonatomic, assign) KSYRecScene recScene
@@ -486,6 +450,42 @@
+
+ //apple_ref/occ/instm/KSYClipWriter/setVideoCrf:
+ 质量等级(默认:20)
+ KSYClipWriter.h
+
+ @property (nonatomic, assign) int videoCrf
+
+
+ //api/name/videoCrf
+
+
+
+
+ //apple_ref/occ/instm/KSYClipWriter/videoCrf
+ 质量等级(默认:20)
+ KSYClipWriter.h
+
+ @property (nonatomic, assign) int videoCrf
+
+
+ //api/name/videoCrf
+
+
+
+
+ //apple_ref/occ/instp/KSYClipWriter/videoCrf
+ 质量等级(默认:20)
+ KSYClipWriter.h
+
+ @property (nonatomic, assign) int videoCrf
+
+
+ //api/name/videoCrf
+
+
+
//apple_ref/occ/instm/KSYClipWriter/setVideoEncodePerf:
视频编码性能档次
diff --git a/doc/docset/Contents/Resources/Tokens31.xml b/doc/docset/Contents/Resources/Tokens31.xml
index 542abaf..26123fa 100644
--- a/doc/docset/Contents/Resources/Tokens31.xml
+++ b/doc/docset/Contents/Resources/Tokens31.xml
@@ -4,7 +4,7 @@
//apple_ref/occ/cl/KSYGPUTwoInputFiter
- 双输入滤镜
+
KSYGPUTwoInputFiter.h
@@ -12,18 +12,37 @@
+
+ //apple_ref/occ/instm/KSYGPUTwoInputFiter/encodeFilterString:
+
+ KSYGPUTwoInputFiter.h
+
+ - (NSString *)encodeFilterString:(NSString *)strString
+
+
+ //api/name/encodeFilterString:
+
+
+
+
+ //apple_ref/occ/instm/KSYGPUTwoInputFiter/init
+
+ KSYGPUTwoInputFiter.h
+
+ - (instancetype)init
+
+
+ //api/name/init
+
+
+
//apple_ref/occ/instm/KSYGPUTwoInputFiter/reload:
- 重新载入加密的shader串
+
KSYGPUTwoInputFiter.h
- (void)reload:(NSString *)fragmentShaderString
-
-
- fragmentShaderString
- 加密的片原shader
-
-
+
//api/name/reload:
@@ -31,19 +50,11 @@
//apple_ref/occ/instm/KSYGPUTwoInputFiter/reloadVS:andFS:
- 重新载入加密的shader串
+
KSYGPUTwoInputFiter.h
- (void)reloadVS:(NSString *)vertexShaderString andFS:(NSString *)fragmentShaderString
-
-
- vertexShaderString
- 顶点shader(未加密)
-
- fragmentShaderString
- 片原shader(加密的)
-
-
+
//api/name/reloadVS:andFS:
diff --git a/doc/docset/Contents/Resources/Tokens48.xml b/doc/docset/Contents/Resources/Tokens48.xml
index 4a5a988..4cfb3c7 100644
--- a/doc/docset/Contents/Resources/Tokens48.xml
+++ b/doc/docset/Contents/Resources/Tokens48.xml
@@ -495,42 +495,6 @@
-
- //apple_ref/occ/instm/KSYStreamerBase/setVideoCrf:
- 质量等级(默认:20)
- KSYStreamerBase.h
-
- @property (nonatomic, assign) int videoCrf
-
-
- //api/name/videoCrf
-
-
-
-
- //apple_ref/occ/instm/KSYStreamerBase/videoCrf
- 质量等级(默认:20)
- KSYStreamerBase.h
-
- @property (nonatomic, assign) int videoCrf
-
-
- //api/name/videoCrf
-
-
-
-
- //apple_ref/occ/instp/KSYStreamerBase/videoCrf
- 质量等级(默认:20)
- KSYStreamerBase.h
-
- @property (nonatomic, assign) int videoCrf
-
-
- //api/name/videoCrf
-
-
-
//apple_ref/occ/instm/KSYStreamerBase/setMaxKeyInterval:
最大关键帧间隔(单位:秒, 默认:3)
@@ -711,6 +675,42 @@
+
+ //apple_ref/occ/instm/KSYStreamerBase/setVideoCrf:
+ 质量等级(默认:20)
+ KSYStreamerBase.h
+
+ @property (nonatomic, assign) int videoCrf
+
+
+ //api/name/videoCrf
+
+
+
+
+ //apple_ref/occ/instm/KSYStreamerBase/videoCrf
+ 质量等级(默认:20)
+ KSYStreamerBase.h
+
+ @property (nonatomic, assign) int videoCrf
+
+
+ //api/name/videoCrf
+
+
+
+
+ //apple_ref/occ/instp/KSYStreamerBase/videoCrf
+ 质量等级(默认:20)
+ KSYStreamerBase.h
+
+ @property (nonatomic, assign) int videoCrf
+
+
+ //api/name/videoCrf
+
+
+
//apple_ref/occ/instm/KSYStreamerBase/setVideoEncodePerf:
视频编码性能档次
diff --git a/doc/docset/Contents/Resources/Tokens51.xml b/doc/docset/Contents/Resources/Tokens51.xml
index c53d583..ee5d093 100644
--- a/doc/docset/Contents/Resources/Tokens51.xml
+++ b/doc/docset/Contents/Resources/Tokens51.xml
@@ -48,6 +48,42 @@
+
+ //apple_ref/occ/instm/KSYTransitionFadesInOutFilter/setBReverse:
+ NO: 第一段视频淡入,第二段视频淡出 YES: 第一段视频淡出,第二段视频淡入 (默认为NO)
+ KSYTransitionFadesInOutFilter.h
+
+ @property (nonatomic, readwrite) BOOL bReverse
+
+
+ //api/name/bReverse
+
+
+
+
+ //apple_ref/occ/instm/KSYTransitionFadesInOutFilter/bReverse
+ NO: 第一段视频淡入,第二段视频淡出 YES: 第一段视频淡出,第二段视频淡入 (默认为NO)
+ KSYTransitionFadesInOutFilter.h
+
+ @property (nonatomic, readwrite) BOOL bReverse
+
+
+ //api/name/bReverse
+
+
+
+
+ //apple_ref/occ/instp/KSYTransitionFadesInOutFilter/bReverse
+ NO: 第一段视频淡入,第二段视频淡出 YES: 第一段视频淡出,第二段视频淡入 (默认为NO)
+ KSYTransitionFadesInOutFilter.h
+
+ @property (nonatomic, readwrite) BOOL bReverse
+
+
+ //api/name/bReverse
+
+
+
//apple_ref/occ/instm/KSYTransitionFadesInOutFilter/setDuration:
转场重叠的帧数
diff --git a/doc/docset/Contents/Resources/Tokens8.xml b/doc/docset/Contents/Resources/Tokens8.xml
index 7ca7d8b..8636265 100644
--- a/doc/docset/Contents/Resources/Tokens8.xml
+++ b/doc/docset/Contents/Resources/Tokens8.xml
@@ -163,12 +163,32 @@
<0, 表示查询失败
=0,表示残余的数据不足一次输出
- >0, 表示可以buffer中的数据还可以输出n次
+ >0, 表示buffer中的数据还可以输出n次
*
//api/name/getBufLength:
+
+ //apple_ref/occ/instm/KSYAudioMixer/getNumSamplesInBuffer:
+ 查询track中缓存数据的samplebuffer数
+ KSYAudioMixer.h
+
+ - (int)getNumSamplesInBuffer:(int)trackId
+
+
+ trackId
+ 开关对应track
+
+
+ <0, 表示查询失败
+=0,表示无残余的数据
+>0, 表示buffer中sample数
+*
+ //api/name/getNumSamplesInBuffer:
+
+
+
//apple_ref/occ/instm/KSYAudioMixer/processAudioSampleBuffer:of:
输入音频PCM
diff --git a/doc/docset/Contents/Resources/Tokens87.xml b/doc/docset/Contents/Resources/Tokens87.xml
index 6460d98..dba2779 100644
--- a/doc/docset/Contents/Resources/Tokens87.xml
+++ b/doc/docset/Contents/Resources/Tokens87.xml
@@ -4,7 +4,10 @@
//apple_ref/c/tdef/KSYTransitionType
- 转场类型
+ 转场类型
+KSYTransitionType 1 ~ 99 代表 片头转场范围
+KSYTransitionType 101 ~ 199 代表 片尾转场范围
+KSYTransitionType 201 ~ 299 代表 片中转场范围
KSYTransitionFilter.h
@@ -23,6 +26,46 @@
+
+ //apple_ref/c/econst/KSYTransitionTypeFadesIn
+ 渐入(片头效果)
+ KSYTransitionTypeFadesIn
+
+ KSYTransitionFilter.h
+
+
+
+
+
+ //apple_ref/c/econst/KSYTransitionTypeBlurIn
+ 模糊变清晰(片头效果)
+ KSYTransitionTypeBlurIn
+
+ KSYTransitionFilter.h
+
+
+
+
+
+ //apple_ref/c/econst/KSYTransitionTypeFadesOut
+ 淡出(片尾效果)
+ KSYTransitionTypeFadesOut
+
+ KSYTransitionFilter.h
+
+
+
+
+
+ //apple_ref/c/econst/KSYTransitionTypeBlurOut
+ 清晰变模糊(片尾效果)
+ KSYTransitionTypeBlurOut
+
+ KSYTransitionFilter.h
+
+
+
+
//apple_ref/c/econst/KSYTransitionTypeFadesInOut
渐入淡出
@@ -54,19 +97,9 @@
- //apple_ref/c/econst/KSYTransitionTypeBlurOut
+ //apple_ref/c/econst/KSYTransitionTypeBlurInOut
清晰变模糊
- KSYTransitionTypeBlurOut
-
- KSYTransitionFilter.h
-
-
-
-
-
- //apple_ref/c/econst/KSYTransitionTypeBlurIn
- 模糊变清晰
- KSYTransitionTypeBlurIn
+ KSYTransitionTypeBlurInOut
KSYTransitionFilter.h
diff --git a/doc/docset/Contents/Resources/docSet.dsidx b/doc/docset/Contents/Resources/docSet.dsidx
index 14edbde..c05239b 100644
Binary files a/doc/docset/Contents/Resources/docSet.dsidx and b/doc/docset/Contents/Resources/docSet.dsidx differ
diff --git a/doc/docset/Contents/Resources/docSet.dsidx-shm b/doc/docset/Contents/Resources/docSet.dsidx-shm
index 89ccfad..fff9eb3 100644
Binary files a/doc/docset/Contents/Resources/docSet.dsidx-shm and b/doc/docset/Contents/Resources/docSet.dsidx-shm differ
diff --git a/doc/docset/Contents/Resources/docSet.dsidx-wal b/doc/docset/Contents/Resources/docSet.dsidx-wal
index a08b4b2..29e3d6b 100644
Binary files a/doc/docset/Contents/Resources/docSet.dsidx-wal and b/doc/docset/Contents/Resources/docSet.dsidx-wal differ
diff --git a/doc/docset/Contents/Resources/docSet.skidx b/doc/docset/Contents/Resources/docSet.skidx
index 4c86fef..57ed65e 100644
Binary files a/doc/docset/Contents/Resources/docSet.skidx and b/doc/docset/Contents/Resources/docSet.skidx differ
diff --git a/doc/docset/Contents/Resources/docSet.toc b/doc/docset/Contents/Resources/docSet.toc
index 3022617..b0ebd42 100644
Binary files a/doc/docset/Contents/Resources/docSet.toc and b/doc/docset/Contents/Resources/docSet.toc differ
diff --git a/doc/docset/Contents/Resources/docSet.tokencache b/doc/docset/Contents/Resources/docSet.tokencache
index 03c2064..b86e215 100644
Binary files a/doc/docset/Contents/Resources/docSet.tokencache and b/doc/docset/Contents/Resources/docSet.tokencache differ
diff --git a/doc/html/Classes/KSYAudioMixer.html b/doc/html/Classes/KSYAudioMixer.html
index ca32a2b..0f7642a 100644
--- a/doc/html/Classes/KSYAudioMixer.html
+++ b/doc/html/Classes/KSYAudioMixer.html
@@ -86,6 +86,8 @@
+
+
@@ -627,7 +629,7 @@ Parameters
Return Value
<0, 表示查询失败
=0,表示残余的数据不足一次输出
- >0, 表示可以buffer中的数据还可以输出n次
+ >0, 表示buffer中的数据还可以输出n次
*
@@ -641,6 +643,68 @@
Return Value
+
+
Declared In
+
KSYAudioMixer.h
+
+
+
+
+
+
+
+
– getNumSamplesInBuffer:
+
+
+
+
+
+
+
+
+
+
查询track中缓存数据的samplebuffer数
+
+
+
+
+
- (int)getNumSamplesInBuffer:(int)trackId
+
+
+
+
+
Parameters
+
+
+
+ trackId |
+ 开关对应track |
+
+
+
+
+
+
+
+
+
Return Value
+
<0, 表示查询失败
+=0,表示无残余的数据
+
+
0, 表示buffer中sample数
+*
+
+
+
+
+
+
+
+
+
+
+
+
Declared In
KSYAudioMixer.h
diff --git a/doc/html/Classes/KSYClipWriter.html b/doc/html/Classes/KSYClipWriter.html
index ad6e800..56e6fea 100644
--- a/doc/html/Classes/KSYClipWriter.html
+++ b/doc/html/Classes/KSYClipWriter.html
@@ -580,8 +580,8 @@
Declared In
-
-
videoCrf
+
+ maxKeyInterval
@@ -591,12 +591,12 @@
videoC
-
质量等级(默认:20)
+
最大关键帧间隔(单位:秒, 默认:3)
- @property (nonatomic, assign) int videoCrf
+ @property (nonatomic, assign) float maxKeyInterval
@@ -608,7 +608,7 @@ videoC
Discussion
-
视频恒定质量等级,范围0~51,值越小,质量越好
+
即GOP长度 画面静止时,隔n秒插入一个关键帧
@@ -626,8 +626,8 @@ Declared In
-
-
maxKeyInterval
+
+ audiokBPS
@@ -637,12 +637,12 @@
-
最大关键帧间隔(单位:秒, 默认:3)
+
音频编码码率(单位:kbps)
- @property (nonatomic, assign) float maxKeyInterval
+ @property (nonatomic, assign) int audiokBPS
@@ -654,7 +654,7 @@
Discussion
-
即GOP长度 画面静止时,隔n秒插入一个关键帧
+
音频目标编码码率 (比如48,96,128等)
@@ -672,8 +672,8 @@ Declared In
-
-
audiokBPS
+
+ liveScene
@@ -683,12 +683,12 @@
audio
-
音频编码码率(单位:kbps)
+
待编码的视频场景 (默认为KSYLiveScene_Default)
- @property (nonatomic, assign) int audiokBPS
+ @property (nonatomic, assign) KSYLiveScene liveScene
@@ -700,7 +700,7 @@ audio
Discussion
-
音频目标编码码率 (比如48,96,128等)
+
KSY内部会根据场景的特征进行参数调优,开始录制前设置有效
@@ -718,8 +718,8 @@ Declared In
-
-
liveScene
+
+ recScene
@@ -729,12 +729,12 @@
liveS
-
待编码的视频场景 (默认为KSYLiveScene_Default)
+
本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
- @property (nonatomic, assign) KSYLiveScene liveScene
+ @property (nonatomic, assign) KSYRecScene recScene
@@ -746,7 +746,7 @@ liveS
Discussion
-
KSY内部会根据场景的特征进行参数调优,开始录制前设置有效
+
用于指定录制时, 视频编码器码率控制的优先目标
恒定码率: 最后视频文件的码率更平稳,但复杂场景质量可能差一些
恒定质量: 最后视频文件的质量更平稳写, 但码率波动要大一些
开始录制前设置有效,
@@ -764,8 +764,8 @@ Declared In
-
-
recScene
+
+ videoCrf
@@ -775,12 +775,12 @@
recSce
-
编码的目标场景 (默认为KSYRecScene_ConstantBitRate)
+
质量等级(默认:20)
- @property (nonatomic, assign) KSYRecScene recScene
+ @property (nonatomic, assign) int videoCrf
@@ -792,7 +792,7 @@ recSce
Discussion
-
开始编码前设置有效
+
视频恒定质量等级,范围0~51,值越小,质量越好
当 recScene 为 KSYRecScene_ConstantQuality, 且选择软编码器时有效
diff --git a/doc/html/Classes/KSYGPUTwoInputFiter.html b/doc/html/Classes/KSYGPUTwoInputFiter.html
index e2da4e3..e179405 100644
--- a/doc/html/Classes/KSYGPUTwoInputFiter.html
+++ b/doc/html/Classes/KSYGPUTwoInputFiter.html
@@ -43,8 +43,6 @@
-
-
videoCrf
+
+ maxKeyInterval
@@ -878,12 +878,12 @@
videoC
-
质量等级(默认:20)
+
最大关键帧间隔(单位:秒, 默认:3)
- @property (nonatomic, assign) int videoCrf
+ @property (nonatomic, assign) float maxKeyInterval
@@ -895,7 +895,7 @@ videoC
Discussion
-
视频恒定质量等级,范围0~51,值越小,质量越好
+
即GOP长度 画面静止时,隔n秒插入一个关键帧
@@ -913,8 +913,8 @@ Declared In
-
-
maxKeyInterval
+
+ audiokBPS
@@ -924,12 +924,12 @@
-
最大关键帧间隔(单位:秒, 默认:3)
+
音频编码码率(单位:kbps)
- @property (nonatomic, assign) float maxKeyInterval
+ @property (nonatomic, assign) int audiokBPS
@@ -941,7 +941,7 @@
Discussion
-
即GOP长度 画面静止时,隔n秒插入一个关键帧
+
音频目标编码码率 (比如48,96,128等)
@@ -959,8 +959,8 @@ Declared In
-
-
audiokBPS
+
+ bwEstimateMode
@@ -970,12 +970,12 @@
audio
-
音频编码码率(单位:kbps)
+
带宽估计模式
- @property (nonatomic, assign) int audiokBPS
+ @property (nonatomic, assign) KSYBWEstimateMode bwEstimateMode
@@ -987,7 +987,7 @@ audio
Discussion
-
音频目标编码码率 (比如48,96,128等)
+
带宽估计的策略选择 (开始推流前设置有效)
@@ -1005,8 +1005,8 @@ Declared In
-
-
liveScene
+
+ recScene
@@ -1062,12 +1062,12 @@
liveS
-
本次直播的目标场景 (默认为KSYLiveScene_Default)
+
本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
- @property (nonatomic, assign) KSYLiveScene liveScene
+ @property (nonatomic, assign) KSYRecScene recScene
@@ -1079,7 +1079,7 @@ liveS
Discussion
-
KSY内部会根据场景的特征进行参数调优,开始推流前设置有效
+
用于指定录制时, 视频编码器码率控制的优先目标
恒定码率: 最后视频文件的码率更平稳,但复杂场景质量可能差一些
恒定质量: 最后视频文件的质量更平稳写, 但码率波动要大一些
开始录制前设置有效, 录制本地文件时有效, 直播不建议修改
@@ -1097,8 +1097,8 @@ Declared In
-
-
recScene
+
+ videoCrf
@@ -1108,12 +1108,12 @@
recSce
-
本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
+
质量等级(默认:20)
- @property (nonatomic, assign) KSYRecScene recScene
+ @property (nonatomic, assign) int videoCrf
@@ -1125,7 +1125,7 @@ recSce
Discussion
-
开始录制前设置有效
+
视频恒定质量等级,范围0~51,值越小,质量越好
当 recScene 为 KSYRecScene_ConstantQuality, 且选择软编码器时有效
diff --git a/doc/html/Classes/KSYTransitionFadesInOutFilter.html b/doc/html/Classes/KSYTransitionFadesInOutFilter.html
index de655dd..9e55424 100644
--- a/doc/html/Classes/KSYTransitionFadesInOutFilter.html
+++ b/doc/html/Classes/KSYTransitionFadesInOutFilter.html
@@ -56,6 +56,8 @@
+
+
+
+
bReverse
+
+
+
+
+
+
+
+
+
+
NO: 第一段视频淡入,第二段视频淡出 YES: 第一段视频淡出,第二段视频淡入 (默认为NO)
+
+
+
+
+
@property (nonatomic, readwrite) BOOL bReverse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Declared In
KSYTransitionFadesInOutFilter.h
diff --git a/doc/html/Constants/KSYTransitionType.html b/doc/html/Constants/KSYTransitionType.html
index 6083d3f..51ec195 100644
--- a/doc/html/Constants/KSYTransitionType.html
+++ b/doc/html/Constants/KSYTransitionType.html
@@ -87,15 +87,21 @@
Definition
KSYTransitionTypeNone = 0,
-
KSYTransitionTypeFadesInOut,
+
KSYTransitionTypeFadesIn,
-
KSYTransitionTypeFlashBlack,
+
KSYTransitionTypeBlurIn,
-
KSYTransitionTypeFlashWhite,
+
KSYTransitionTypeFadesOut = 101,
KSYTransitionTypeBlurOut,
-
KSYTransitionTypeBlurIn,
+
KSYTransitionTypeFadesInOut = 201,
+
+
KSYTransitionTypeFlashBlack,
+
+
KSYTransitionTypeFlashWhite,
+
+
KSYTransitionTypeBlurInOut,
KSYTransitionTypePushUp,
@@ -130,11 +136,11 @@
Constants
-
KSYTransitionTypeFadesInOut
+
KSYTransitionTypeFadesIn
-渐入淡出
+渐入(片头效果)
@@ -147,11 +153,11 @@ Constants
-
KSYTransitionTypeFlashBlack
+
KSYTransitionTypeBlurIn
-闪黑
+模糊变清晰(片头效果)
@@ -164,11 +170,11 @@ Constants
-
KSYTransitionTypeFlashWhite
+
KSYTransitionTypeFadesOut
-闪白
+淡出(片尾效果)
@@ -185,7 +191,7 @@ Constants
-清晰变模糊
+清晰变模糊(片尾效果)
@@ -198,11 +204,62 @@ Constants
- KSYTransitionTypeBlurIn
+
KSYTransitionTypeFadesInOut
+
+
+
+渐入淡出
+
+
+
+
+
+
+
+ Declared In KSYTransitionFilter.h
.
+
+
+
+
+
KSYTransitionTypeFlashBlack
+
+
+
+闪黑
+
+
+
+
+
+
+
+ Declared In KSYTransitionFilter.h
.
+
+
+
+
+
KSYTransitionTypeFlashWhite
-模糊变清晰
+闪白
+
+
+
+
+
+
+
+ Declared In KSYTransitionFilter.h
.
+
+
+
+
+
KSYTransitionTypeBlurInOut
+
+
+
+清晰变模糊
diff --git a/libksygpulive.podspec b/libksygpulive.podspec
index 738937d..0c9600b 100644
--- a/libksygpulive.podspec
+++ b/libksygpulive.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'libksygpulive'
- s.version = '2.9.2'
+ s.version = '2.9.3'
s.license = {
:type => 'Proprietary',
:text => <<-LICENSE
@@ -113,6 +113,9 @@ Pod::Spec.new do |s|
s.subspec 'KSYGPUResource' do |sub|
sub.resource = 'resource/KSYGPUResource.bundle'
end
+ s.subspec 'KSYGPUResourceFull' do |sub|
+ sub.resource = 'resource/KSYGPUResourceFull.bundle'
+ end
s.subspec 'ksyplayer_d' do |sub|
sub.source_files = 'prebuilt/include/**/*.h';
sub.vendored_library = 'prebuilt/libs/libksyplayer.a';
diff --git a/prebuilt/include/KSYStreamer/KSYAudioMixer.h b/prebuilt/include/KSYStreamer/KSYAudioMixer.h
index c5b148f..a1f2151 100644
--- a/prebuilt/include/KSYStreamer/KSYAudioMixer.h
+++ b/prebuilt/include/KSYStreamer/KSYAudioMixer.h
@@ -85,10 +85,19 @@
@param trackId 开关对应track
@return <0, 表示查询失败
=0,表示残余的数据不足一次输出
- >0, 表示可以buffer中的数据还可以输出n次
+ >0, 表示buffer中的数据还可以输出n次
**/
- (int) getBufLength:(int) trackId;
+/**
+ @abstract 查询track中缓存数据的samplebuffer数
+ @param trackId 开关对应track
+ @return <0, 表示查询失败
+ =0,表示无残余的数据
+ >0, 表示buffer中sample数
+ **/
+- (int) getNumSamplesInBuffer:(int) trackId;
+
/**
@abstract 输入音频PCM
@param sampleBuffer 音频数据
diff --git a/prebuilt/include/KSYStreamer/KSYClipWriter.h b/prebuilt/include/KSYStreamer/KSYClipWriter.h
index 65e587e..f65202d 100644
--- a/prebuilt/include/KSYStreamer/KSYClipWriter.h
+++ b/prebuilt/include/KSYStreamer/KSYClipWriter.h
@@ -76,11 +76,6 @@
*/
@property(atomic, copy) NSDictionary * videoMetaData;
-/**
- @abstract 质量等级(默认:20)
- @discussion 视频恒定质量等级,范围0~51,值越小,质量越好
- */
-@property (nonatomic, assign) int videoCrf;
/**
@abstract 最大关键帧间隔(单位:秒, 默认:3)
@discussion 即GOP长度 画面静止时,隔n秒插入一个关键帧
@@ -99,10 +94,20 @@
@property (nonatomic, assign) KSYLiveScene liveScene;
/**
- @abstract 编码的目标场景 (默认为KSYRecScene_ConstantBitRate)
- @discussion 开始编码前设置有效
+ @abstract 本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
+ @discussion 用于指定录制时, 视频编码器码率控制的优先目标
+ @discussion 恒定码率: 最后视频文件的码率更平稳,但复杂场景质量可能差一些
+ @discussion 恒定质量: 最后视频文件的质量更平稳写, 但码率波动要大一些
+ @discussion 开始录制前设置有效,
+ */
+@property (nonatomic, assign) KSYRecScene recScene;
+
+/**
+ @abstract 质量等级(默认:20)
+ @discussion 视频恒定质量等级,范围0~51,值越小,质量越好
+ @discussion 当 recScene 为 KSYRecScene_ConstantQuality, 且选择软编码器时有效
*/
-@property (nonatomic, assign) KSYRecScene recScene;
+@property (nonatomic, assign) int videoCrf;
/**
@abstract 视频编码性能档次
diff --git a/prebuilt/include/KSYStreamer/KSYGPUTwoInputFiter.h b/prebuilt/include/KSYStreamer/KSYGPUTwoInputFiter.h
index fcacf5e..17ebb5e 100644
--- a/prebuilt/include/KSYStreamer/KSYGPUTwoInputFiter.h
+++ b/prebuilt/include/KSYStreamer/KSYGPUTwoInputFiter.h
@@ -8,28 +8,16 @@
#import
-/** 双输入滤镜
-
- 1. 继承自GPUImageTwoInputFilter
- 2. 添加了重新载入shader的接口
- */
@interface KSYGPUTwoInputFiter :GPUImageTwoInputFilter{
;
}
-/**
- 重新载入加密的shader串
+-(NSString *)encodeFilterString:(NSString *)strString;
- @param fragmentShaderString 加密的片原shader
- */
-- (void)reload:(NSString *)fragmentShaderString;
+- (instancetype)init;
-/**
- 重新载入加密的shader串
+- (void)reload:(NSString *)fragmentShaderString;
- @param vertexShaderString 顶点shader(未加密)
- @param fragmentShaderString 片原shader(加密的)
- */
- (void)reloadVS:(NSString *)vertexShaderString
andFS:(NSString *)fragmentShaderString;
diff --git a/prebuilt/include/KSYStreamer/KSYStreamerBase.h b/prebuilt/include/KSYStreamer/KSYStreamerBase.h
index 1c3f5ae..d3ec426 100644
--- a/prebuilt/include/KSYStreamer/KSYStreamerBase.h
+++ b/prebuilt/include/KSYStreamer/KSYStreamerBase.h
@@ -107,11 +107,6 @@
*/
@property(atomic, copy) NSDictionary * videoMetaData;
-/**
- @abstract 质量等级(默认:20)
- @discussion 视频恒定质量等级,范围0~51,值越小,质量越好
- */
-@property (nonatomic, assign) int videoCrf;
/**
@abstract 最大关键帧间隔(单位:秒, 默认:3)
@discussion 即GOP长度 画面静止时,隔n秒插入一个关键帧
@@ -137,10 +132,20 @@
/**
@abstract 本次录制的目标场景 (默认为KSYRecScene_ConstantBitRate)
- @discussion 开始录制前设置有效
+ @discussion 用于指定录制时, 视频编码器码率控制的优先目标
+ @discussion 恒定码率: 最后视频文件的码率更平稳,但复杂场景质量可能差一些
+ @discussion 恒定质量: 最后视频文件的质量更平稳写, 但码率波动要大一些
+ @discussion 开始录制前设置有效, 录制本地文件时有效, 直播不建议修改
*/
@property (nonatomic, assign) KSYRecScene recScene;
+/**
+ @abstract 质量等级(默认:20)
+ @discussion 视频恒定质量等级,范围0~51,值越小,质量越好
+ @discussion 当 recScene 为 KSYRecScene_ConstantQuality, 且选择软编码器时有效
+ */
+@property (nonatomic, assign) int videoCrf;
+
/**
@abstract 视频编码性能档次
@discussion 视频质量和设备资源之间的权衡,开始推流前, videoCodec设置之后,修改有效
diff --git a/prebuilt/include/KSYStreamer/KSYTransitionFadesInOutFilter.h b/prebuilt/include/KSYStreamer/KSYTransitionFadesInOutFilter.h
index 22288f8..6abe655 100644
--- a/prebuilt/include/KSYStreamer/KSYTransitionFadesInOutFilter.h
+++ b/prebuilt/include/KSYStreamer/KSYTransitionFadesInOutFilter.h
@@ -22,6 +22,8 @@
/// 视频所在的图层
@property (nonatomic, readwrite) NSInteger masterLayer;
+/// NO: 第一段视频淡入,第二段视频淡出 YES: 第一段视频淡出,第二段视频淡入 (默认为NO)
+@property (nonatomic, readwrite) BOOL bReverse;
/// 转场重叠的帧数
@property (nonatomic, readwrite) int duration;
diff --git a/prebuilt/include/KSYStreamer/KSYTransitionFilter.h b/prebuilt/include/KSYStreamer/KSYTransitionFilter.h
index 8e9dda4..128266b 100644
--- a/prebuilt/include/KSYStreamer/KSYTransitionFilter.h
+++ b/prebuilt/include/KSYStreamer/KSYTransitionFilter.h
@@ -19,20 +19,29 @@
/**
@abstract 转场类型
+ KSYTransitionType 1 ~ 99 代表 片头转场范围
+ KSYTransitionType 101 ~ 199 代表 片尾转场范围
+ KSYTransitionType 201 ~ 299 代表 片中转场范围
*/
typedef NS_ENUM(NSUInteger, KSYTransitionType) {
/// 关闭转场
KSYTransitionTypeNone = 0,
+ /// 渐入(片头效果)
+ KSYTransitionTypeFadesIn ,
+ /// 模糊变清晰(片头效果)
+ KSYTransitionTypeBlurIn ,
+ /// 淡出(片尾效果)
+ KSYTransitionTypeFadesOut = 101,
+ /// 清晰变模糊(片尾效果)
+ KSYTransitionTypeBlurOut,
/// 渐入淡出
- KSYTransitionTypeFadesInOut,
+ KSYTransitionTypeFadesInOut = 201,
/// 闪黑
KSYTransitionTypeFlashBlack,
/// 闪白
KSYTransitionTypeFlashWhite,
/// 清晰变模糊
- KSYTransitionTypeBlurOut,
- /// 模糊变清晰
- KSYTransitionTypeBlurIn,
+ KSYTransitionTypeBlurInOut,
/// 上推
KSYTransitionTypePushUp,
/// 下推
diff --git a/prebuilt/include/KSYStreamer/libksygpufilter.h b/prebuilt/include/KSYStreamer/libksygpufilter.h
index 23ab772..81b3a07 100644
--- a/prebuilt/include/KSYStreamer/libksygpufilter.h
+++ b/prebuilt/include/KSYStreamer/libksygpufilter.h
@@ -29,5 +29,5 @@
#import "KSYTransitionFilter.h"
#import "KSYGPUPicture.h"
-#define KSYGPUFILTER_VER 2.9.1
-#define KSYGPUFILTER_ID 9f27de16e14f4dad29a3ef0598b0a94628d59ad8
+#define KSYGPUFILTER_VER 2.9.3
+#define KSYGPUFILTER_ID f41e7e5c44356c9c49e10159ef9e35542d0fc145
diff --git a/prebuilt/include/KSYStreamer/libksystreamerbase.h b/prebuilt/include/KSYStreamer/libksystreamerbase.h
index 867c5af..7bf4654 100644
--- a/prebuilt/include/KSYStreamer/libksystreamerbase.h
+++ b/prebuilt/include/KSYStreamer/libksystreamerbase.h
@@ -14,5 +14,5 @@
#import "KSYMessage.h"
#import "KSYTranscoder.h"
-#define KSYSTREAMERBASE_VER 2.9.2
-#define KSYSTREAMERBASE_ID 09b2da880fdb3245caa00e7ef3f0ea2c1c8e1d13
+#define KSYSTREAMERBASE_VER 2.9.3
+#define KSYSTREAMERBASE_ID daf53b4ec02fe562212bfc0a23d8afc2885d8506
diff --git a/prebuilt/include/KSYStreamer/libksystreamerengine.h b/prebuilt/include/KSYStreamer/libksystreamerengine.h
index babd35d..a415e46 100644
--- a/prebuilt/include/KSYStreamer/libksystreamerengine.h
+++ b/prebuilt/include/KSYStreamer/libksystreamerengine.h
@@ -33,6 +33,6 @@
// utils
#import "KSYWeakProxy.h"
-#define KSYSTREAMERENGINE_VER 2.9.1
-#define KSYSTREAMERENGINE_ID 9407f5371c4872044bd9c60700b3fcdeaddc4a07
+#define KSYSTREAMERENGINE_VER 2.9.3
+#define KSYSTREAMERENGINE_ID bd5985ec584d9ed2743522d07702dd83ab520588
diff --git a/prebuilt/libs/libksybase.a b/prebuilt/libs/libksybase.a
index 5452e88..facb763 100644
Binary files a/prebuilt/libs/libksybase.a and b/prebuilt/libs/libksybase.a differ
diff --git a/prebuilt/libs/libksygpufilter.a b/prebuilt/libs/libksygpufilter.a
index a65a657..57f6f48 100644
Binary files a/prebuilt/libs/libksygpufilter.a and b/prebuilt/libs/libksygpufilter.a differ
diff --git a/prebuilt/libs/libksymediacore_dec_lite.a b/prebuilt/libs/libksymediacore_dec_lite.a
index 534c7c7..eab9a4f 100644
Binary files a/prebuilt/libs/libksymediacore_dec_lite.a and b/prebuilt/libs/libksymediacore_dec_lite.a differ
diff --git a/prebuilt/libs/libksymediacore_dec_vod.a b/prebuilt/libs/libksymediacore_dec_vod.a
index b6d74f2..08c80b5 100644
Binary files a/prebuilt/libs/libksymediacore_dec_vod.a and b/prebuilt/libs/libksymediacore_dec_vod.a differ
diff --git a/prebuilt/libs/libksymediacore_enc_265.a b/prebuilt/libs/libksymediacore_enc_265.a
index 3585eba..60b629f 100644
Binary files a/prebuilt/libs/libksymediacore_enc_265.a and b/prebuilt/libs/libksymediacore_enc_265.a differ
diff --git a/prebuilt/libs/libksymediacore_enc_base.a b/prebuilt/libs/libksymediacore_enc_base.a
index c1d43ed..dd3aedb 100644
Binary files a/prebuilt/libs/libksymediacore_enc_base.a and b/prebuilt/libs/libksymediacore_enc_base.a differ
diff --git a/prebuilt/libs/libksymediacore_enc_lite.a b/prebuilt/libs/libksymediacore_enc_lite.a
index 4fefcec..e4c2578 100644
Binary files a/prebuilt/libs/libksymediacore_enc_lite.a and b/prebuilt/libs/libksymediacore_enc_lite.a differ
diff --git a/prebuilt/libs/libksyplayer.a b/prebuilt/libs/libksyplayer.a
index 65688bb..5fc171f 100644
Binary files a/prebuilt/libs/libksyplayer.a and b/prebuilt/libs/libksyplayer.a differ
diff --git a/prebuilt/libs/libksystreamerbase.a b/prebuilt/libs/libksystreamerbase.a
index d225770..534b35b 100644
Binary files a/prebuilt/libs/libksystreamerbase.a and b/prebuilt/libs/libksystreamerbase.a differ
diff --git a/prebuilt/libs/libksystreamerengine.a b/prebuilt/libs/libksystreamerengine.a
index 340955a..77631e5 100644
Binary files a/prebuilt/libs/libksystreamerengine.a and b/prebuilt/libs/libksystreamerengine.a differ
diff --git a/resource/KSYGPUResourceFull.bundle/0_hongrun2.png b/resource/KSYGPUResourceFull.bundle/0_hongrun2.png
new file mode 100644
index 0000000..2441467
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/0_hongrun2.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/0_meibai.png b/resource/KSYGPUResourceFull.bundle/0_meibai.png
new file mode 100644
index 0000000..3c322de
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/0_meibai.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/0_pink.png b/resource/KSYGPUResourceFull.bundle/0_pink.png
new file mode 100644
index 0000000..6514e86
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/0_pink.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/0_skinColor.png b/resource/KSYGPUResourceFull.bundle/0_skinColor.png
new file mode 100644
index 0000000..5ab697f
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/0_skinColor.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/10_yangguang_night.png b/resource/KSYGPUResourceFull.bundle/10_yangguang_night.png
new file mode 100644
index 0000000..dcab413
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/10_yangguang_night.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/11_hongrun.png b/resource/KSYGPUResourceFull.bundle/11_hongrun.png
new file mode 100644
index 0000000..6fbaa6d
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/11_hongrun.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/12_yangguang.png b/resource/KSYGPUResourceFull.bundle/12_yangguang.png
new file mode 100644
index 0000000..c2579a9
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/12_yangguang.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/13_ziran.png b/resource/KSYGPUResourceFull.bundle/13_ziran.png
new file mode 100644
index 0000000..a8d1b44
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/13_ziran.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/14_amatorka.png b/resource/KSYGPUResourceFull.bundle/14_amatorka.png
new file mode 100644
index 0000000..4a2cc8a
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/14_amatorka.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/15_elegance.png b/resource/KSYGPUResourceFull.bundle/15_elegance.png
new file mode 100644
index 0000000..525437a
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/15_elegance.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/16_map_1977.png b/resource/KSYGPUResourceFull.bundle/16_map_1977.png
new file mode 100644
index 0000000..1c4cc63
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/16_map_1977.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/17_21_26_27_overlay_map.png b/resource/KSYGPUResourceFull.bundle/17_21_26_27_overlay_map.png
new file mode 100644
index 0000000..ea92b16
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/17_21_26_27_overlay_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/17_26_blackboard_1024.png b/resource/KSYGPUResourceFull.bundle/17_26_blackboard_1024.png
new file mode 100644
index 0000000..73f7723
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/17_26_blackboard_1024.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/17_amaro_map.png b/resource/KSYGPUResourceFull.bundle/17_amaro_map.png
new file mode 100644
index 0000000..4a5353c
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/17_amaro_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/18_brannan_blowout.png b/resource/KSYGPUResourceFull.bundle/18_brannan_blowout.png
new file mode 100644
index 0000000..4eabfa5
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/18_brannan_blowout.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/18_brannan_contrast.png b/resource/KSYGPUResourceFull.bundle/18_brannan_contrast.png
new file mode 100644
index 0000000..2bcb1d3
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/18_brannan_contrast.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/18_brannan_luma.png b/resource/KSYGPUResourceFull.bundle/18_brannan_luma.png
new file mode 100644
index 0000000..3dc01a6
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/18_brannan_luma.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/18_brannan_process.png b/resource/KSYGPUResourceFull.bundle/18_brannan_process.png
new file mode 100644
index 0000000..5986f1b
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/18_brannan_process.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/18_brannan_screen.png b/resource/KSYGPUResourceFull.bundle/18_brannan_screen.png
new file mode 100644
index 0000000..0b26461
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/18_brannan_screen.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/19_23_31_32_vignette_map.png b/resource/KSYGPUResourceFull.bundle/19_23_31_32_vignette_map.png
new file mode 100644
index 0000000..548201b
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/19_23_31_32_vignette_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/19_early_bird_curves.png b/resource/KSYGPUResourceFull.bundle/19_early_bird_curves.png
new file mode 100644
index 0000000..e067ac7
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/19_early_bird_curves.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/19_earlybird_blowout.png b/resource/KSYGPUResourceFull.bundle/19_earlybird_blowout.png
new file mode 100644
index 0000000..4ecc68a
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/19_earlybird_blowout.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/19_earlybird_map.png b/resource/KSYGPUResourceFull.bundle/19_earlybird_map.png
new file mode 100644
index 0000000..a2677a5
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/19_earlybird_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/19_earlybird_overlay_map.png b/resource/KSYGPUResourceFull.bundle/19_earlybird_overlay_map.png
new file mode 100644
index 0000000..7354055
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/19_earlybird_overlay_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/1_xiaoqingxin.png b/resource/KSYGPUResourceFull.bundle/1_xiaoqingxin.png
new file mode 100644
index 0000000..9cc8136
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/1_xiaoqingxin.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/20_edge_burn.png b/resource/KSYGPUResourceFull.bundle/20_edge_burn.png
new file mode 100644
index 0000000..b690ca9
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/20_edge_burn.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/20_hefe_gradient_map.png b/resource/KSYGPUResourceFull.bundle/20_hefe_gradient_map.png
new file mode 100644
index 0000000..8014346
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/20_hefe_gradient_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/20_hefe_map.png b/resource/KSYGPUResourceFull.bundle/20_hefe_map.png
new file mode 100644
index 0000000..1b7fcad
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/20_hefe_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/20_hefe_metal.png b/resource/KSYGPUResourceFull.bundle/20_hefe_metal.png
new file mode 100644
index 0000000..5b17330
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/20_hefe_metal.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/20_hefe_soft_light.png b/resource/KSYGPUResourceFull.bundle/20_hefe_soft_light.png
new file mode 100644
index 0000000..47c3b9d
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/20_hefe_soft_light.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/21_hudson_background.png b/resource/KSYGPUResourceFull.bundle/21_hudson_background.png
new file mode 100644
index 0000000..7857116
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/21_hudson_background.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/21_hudson_map.png b/resource/KSYGPUResourceFull.bundle/21_hudson_map.png
new file mode 100644
index 0000000..00cb1db
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/21_hudson_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/22_inkwell_map.png b/resource/KSYGPUResourceFull.bundle/22_inkwell_map.png
new file mode 100644
index 0000000..e9541f1
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/22_inkwell_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/23_lomo_map.png b/resource/KSYGPUResourceFull.bundle/23_lomo_map.png
new file mode 100644
index 0000000..fcd10aa
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/23_lomo_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/24_kelvin_map.png b/resource/KSYGPUResourceFull.bundle/24_kelvin_map.png
new file mode 100644
index 0000000..e5eb5af
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/24_kelvin_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/25_nashville_map.png b/resource/KSYGPUResourceFull.bundle/25_nashville_map.png
new file mode 100644
index 0000000..490fece
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/25_nashville_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/26_rise_map.png b/resource/KSYGPUResourceFull.bundle/26_rise_map.png
new file mode 100644
index 0000000..4903c9f
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/26_rise_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/27_sierra_map.png b/resource/KSYGPUResourceFull.bundle/27_sierra_map.png
new file mode 100644
index 0000000..8efe2a0
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/27_sierra_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/27_sierra_vignette.png b/resource/KSYGPUResourceFull.bundle/27_sierra_vignette.png
new file mode 100644
index 0000000..3d0c9bd
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/27_sierra_vignette.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/28_soft_light.png b/resource/KSYGPUResourceFull.bundle/28_soft_light.png
new file mode 100644
index 0000000..352dbb7
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/28_soft_light.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/28_sutro_curves.png b/resource/KSYGPUResourceFull.bundle/28_sutro_curves.png
new file mode 100644
index 0000000..c3bf949
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/28_sutro_curves.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/28_sutro_edge_burn.png b/resource/KSYGPUResourceFull.bundle/28_sutro_edge_burn.png
new file mode 100644
index 0000000..e56bb4a
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/28_sutro_edge_burn.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/28_sutro_metal.png b/resource/KSYGPUResourceFull.bundle/28_sutro_metal.png
new file mode 100644
index 0000000..3bdc231
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/28_sutro_metal.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/29_toaster_color_shift.png b/resource/KSYGPUResourceFull.bundle/29_toaster_color_shift.png
new file mode 100644
index 0000000..c006889
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/29_toaster_color_shift.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/29_toaster_curves.png b/resource/KSYGPUResourceFull.bundle/29_toaster_curves.png
new file mode 100644
index 0000000..dcf8808
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/29_toaster_curves.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/29_toaster_metal.png b/resource/KSYGPUResourceFull.bundle/29_toaster_metal.png
new file mode 100644
index 0000000..a1db8c8
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/29_toaster_metal.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/29_toaster_overlay_map_warm.png b/resource/KSYGPUResourceFull.bundle/29_toaster_overlay_map_warm.png
new file mode 100644
index 0000000..32c5f4d
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/29_toaster_overlay_map_warm.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/29_toaster_soft_light.png b/resource/KSYGPUResourceFull.bundle/29_toaster_soft_light.png
new file mode 100644
index 0000000..0801e20
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/29_toaster_soft_light.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/2_liangli.png b/resource/KSYGPUResourceFull.bundle/2_liangli.png
new file mode 100644
index 0000000..10f6edc
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/2_liangli.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/30_valencia_gradient_map.png b/resource/KSYGPUResourceFull.bundle/30_valencia_gradient_map.png
new file mode 100644
index 0000000..d7a4cd3
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/30_valencia_gradient_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/30_valencia_map.png b/resource/KSYGPUResourceFull.bundle/30_valencia_map.png
new file mode 100644
index 0000000..5cc1331
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/30_valencia_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/31_walden_map.png b/resource/KSYGPUResourceFull.bundle/31_walden_map.png
new file mode 100644
index 0000000..19a283c
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/31_walden_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/32_xpro_map.png b/resource/KSYGPUResourceFull.bundle/32_xpro_map.png
new file mode 100644
index 0000000..893fb62
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/32_xpro_map.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/3_tianmeikeren.png b/resource/KSYGPUResourceFull.bundle/3_tianmeikeren.png
new file mode 100644
index 0000000..97d5bbc
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/3_tianmeikeren.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/4_huaijiu.png b/resource/KSYGPUResourceFull.bundle/4_huaijiu.png
new file mode 100644
index 0000000..377a8ef
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/4_huaijiu.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/5_landiao.png b/resource/KSYGPUResourceFull.bundle/5_landiao.png
new file mode 100644
index 0000000..ac1364a
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/5_landiao.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/6_laozhaop.png b/resource/KSYGPUResourceFull.bundle/6_laozhaop.png
new file mode 100644
index 0000000..77e4116
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/6_laozhaop.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/7_yinghua.png b/resource/KSYGPUResourceFull.bundle/7_yinghua.png
new file mode 100644
index 0000000..8dd01a1
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/7_yinghua.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/8_yinghua_night.png b/resource/KSYGPUResourceFull.bundle/8_yinghua_night.png
new file mode 100644
index 0000000..6fa575c
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/8_yinghua_night.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/9_hongrun_night.png b/resource/KSYGPUResourceFull.bundle/9_hongrun_night.png
new file mode 100644
index 0000000..92b55d1
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/9_hongrun_night.png differ
diff --git a/resource/KSYGPUResourceFull.bundle/Info.plist b/resource/KSYGPUResourceFull.bundle/Info.plist
new file mode 100644
index 0000000..7978542
Binary files /dev/null and b/resource/KSYGPUResourceFull.bundle/Info.plist differ
diff --git a/source/KSYGPUStreamerKit.m b/source/KSYGPUStreamerKit.m
index 344bc4d..8997a78 100644
--- a/source/KSYGPUStreamerKit.m
+++ b/source/KSYGPUStreamerKit.m
@@ -1213,7 +1213,7 @@ - (void)setStreamerProfile:(KSYStreamerProfile)profile{
_streamDimension = CGSizeMake(640, 360);
self.videoFPS = 15;
_streamerBase.videoMaxBitrate = 512;
- _streamerBase.audiokBPS = 48;
+ _streamerBase.audiokBPS = 64;
break;
case KSYStreamerProfile_360p_1:
_capPreset = AVCaptureSessionPreset640x480;
@@ -1221,7 +1221,7 @@ - (void)setStreamerProfile:(KSYStreamerProfile)profile{
_streamDimension = CGSizeMake(640, 360);
self.videoFPS = 15;
_streamerBase.videoMaxBitrate = 512;
- _streamerBase.audiokBPS = 48;
+ _streamerBase.audiokBPS = 64;
break;
case KSYStreamerProfile_360p_2:
_capPreset = AVCaptureSessionPresetiFrame960x540;
@@ -1229,7 +1229,7 @@ - (void)setStreamerProfile:(KSYStreamerProfile)profile{
_streamDimension = CGSizeMake(640, 360);
self.videoFPS = 15;
_streamerBase.videoMaxBitrate = 512;
- _streamerBase.audiokBPS = 48;
+ _streamerBase.audiokBPS = 64;
break;
case KSYStreamerProfile_360p_3:
_capPreset = AVCaptureSessionPreset1280x720;
@@ -1237,7 +1237,7 @@ - (void)setStreamerProfile:(KSYStreamerProfile)profile{
_streamDimension = CGSizeMake(640, 360);
self.videoFPS = 20;
_streamerBase.videoMaxBitrate = 768;
- _streamerBase.audiokBPS = 48;
+ _streamerBase.audiokBPS = 64;
break;
case KSYStreamerProfile_540p_auto:
_capPreset = AVCaptureSessionPresetiFrame960x540;