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

+
+ + + + +
+ +

– 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/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

- -

  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 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 @@

- - @@ -60,6 +58,10 @@

+ + + + @@ -94,20 +96,6 @@

KSYGPUTwoInputFiter Class Reference

- -
- -

Overview

-

双输入滤镜

- -
    -
  1. 继承自GPUImageTwoInputFilter
  2. -
  3. 添加了重新载入shader的接口
  4. -
- -
- - @@ -120,8 +108,8 @@

Overview

diff --git a/doc/html/Classes/KSYStreamerBase.html b/doc/html/Classes/KSYStreamerBase.html index 6d39cfc..058d37b 100644 --- a/doc/html/Classes/KSYStreamerBase.html +++ b/doc/html/Classes/KSYStreamerBase.html @@ -867,8 +867,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 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 @@

+ + @@ -157,6 +159,47 @@

  mas +
+

Declared In

+

KSYTransitionFadesInOutFilter.h

+
+ + +

+
+
+ +

  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;