V7.9.1
功能更新
修複部分已知問題。
V7.8.0
功能更新
修複部分已知問題。
V7.7.0
功能更新
修複部分已知問題。
V7.6.0
功能更新
修複部分已知問題。
V7.5.0
功能更新
修複部分已知問題。
V7.4.0
功能更新
修複部分已知問題。
V7.3.0
功能更新
修複部分已知問題。
V7.2.0
功能更新
修複部分已知問題。
V7.1.0
功能更新
修複部分已知問題。
V7.0.0
功能更新
統一整合套件。不再區分基礎版/標準包/專業版的整合套件。通過 License開通不同功能授權即可。
修複部分已知問題。
V6.15.0
功能更新
SDK適配iOS18系統。
修複部分已知問題。
V6.7.0
功能更新
修複部分已知問題。
V6.0.0
功能更新
版本號碼升級,對齊音視頻終端SDK版本號碼。
修複部分已知問題。
V3.36.0
功能更新
修複部分已知問題。
V3.35.0
功能更新
修複部分已知問題。
V3.34.1
功能更新
修複部分已知問題。
V3.34.0
功能更新
編輯匯出支援設定音頻採樣率和通道數。
修複部分已知問題。
V3.33.0
功能更新
最佳化編輯自訂渲染的功能。
修複部分已知問題。
V3.32.0
功能更新
支援BitCode。
視頻合拍支援即時合成。
視頻匯出支援邊合成邊上傳。
修複部分已知問題。
V3.31.0
功能更新
字幕背景新增圓角能力。
編輯模式新增鏡像能力。
最佳化License校正邏輯。
最佳化開啟日誌落地能力,使接入時排查問題更精準。
修複部分已知問題。
V3.30.0
功能更新
最佳化License接入方式。
最佳化裁剪效能。
修複部分已知問題。
V3.29.0
功能更新
最佳化裁剪效能。
License升級,支援查看License授權資訊。
修複部分已知問題。
V3.28.0
功能更新
修複部分已知問題。
V3.27.0
功能更新
多源錄製支援回聲消除、降噪、背景音樂與錄音混音。
新增lut濾鏡特效。
修複部分已知問題。
V3.26.0
功能更新
最佳化SDK的穩定性問題。
修複部分音頻格式不支援的問題。
V3.25.1
功能更新
最佳化字幕記憶體。
修複HDR經過iPhone內建的編輯功能編輯後SDK裁剪花屏的問題。
修複橫屏錄製匯出後畫面顯示異常的問題。
修複部分已知問題。
V3.25.0
功能更新
新增畫中畫功能,支援在編輯介面添加畫中畫。
新增字幕動畫功能,支援對字幕(花字)等做動畫。
草稿箱新增自訂封面圖。
修複部分已知問題。
V3.24.0
功能更新
最佳化SDK,刪除FFmpeg軟編碼。
修複在剪裁、編輯設定時,背景色不生效的問題。
修複部分已知問題。
V3.23.0
功能更新
新增草稿箱功能,支援匯出草稿。
字幕新增背景色、對齊等功能。
合拍新增回聲消除功能。
Demo中美顏模組替換為Queen SDK。
Demo中新增6個分屏濾鏡特效。
錄製支援自動刪除臨時視頻檔案。
支援HDR視頻編輯和裁剪。
V3.22.0
功能更新
編輯時新增花字功能。
新增多種錄製源合拍功能。
新增局部螢幕採集功能。
在自訂特效Shader類中新增時間的內建變數(BUILTIN_PROGRESS)。
提升SDK穩定性,修複部分情境下不穩定的問題。
介面變動
新增介面:
(AliyunStickerManager *)getStickerManager;
廢棄介面:
(AliyunPasterManager *)getPasterManager;
(id<AliyunIPasterRender>)getPasterRender;
V3.21.0
功能更新
合拍功能支援調整視圖層次以及設定邊框效果。
支援鏡像視頻匯入編輯。
最佳化軟編譯時間的記憶體問題。
修複SDK穩定性問題。
V3.20.0
功能更新
編輯模組音頻增加淡入淡出效果。
編輯模組增加組合字幕功能。
編輯模組增加基礎編輯能力。
擷取視頻特定時間戳記縮圖能力。
修複編輯情境視頻匯出幀率設定不生效的問題。
修複SDK穩定性問題。
V3.19.0
功能更新
新增編輯模組音頻降噪功能。
新增合拍和視頻拼接功能,支援設定背景圖片和背景顏色。
新增合拍和視頻合并功能,支援音軌合并。
新增合拍增加回聲消除能力。
修複設定浮水印、圖片,添加某些透明光暈圖片,光暈變色的問題。
修複添加靜態圖片旋轉角度不對問題。
介面變動
廢棄介面
AliyunCamera & AliyunIRecorder,@property(nonatomic, assign) BOOL useAudioSessionModeVideoRecording;
V3.18.1
功能更新
修複iOS部分機型寫入程式碼記憶體問題。
V3.18.0
功能更新
增加合拍視頻指定使用的音軌功能(視頻原音、錄製聲音、靜音)。
V3.17.1
功能更新
自拍支援畫面縮放。
修複某些機型合成後opengl導致的閃退問題。
V3.17.0
功能更新
最佳化蘿莉音效、新增方言音效。
修複裁剪和編輯模組匯入iPhone 12內建相機拍攝的視頻後出現的綠屏問題。
V3.16.2
功能更新
修複高斯模糊背景問題。
V3.16.1
功能更新
修複錄製時間長度大於視頻時間長度時不能合成問題。
V3.16.0
功能更新
恢複主流動畫功能。
修複線上反饋偶現崩潰問題。
修複長視頻可能出現的播放卡頓問題。
修複橫屏錄製浮水印方向問題。
V3.15.0
功能更新
修複合成視頻播放卡頓問題。
修複多段視頻變速失效問題。
新增基於自訂特效製作規範的兩組轉場、濾鏡效果轉場與濾鏡效果。
介面變動
新增自訂特效參數調節介面,支援即時調節特效參數。
支援自訂濾鏡、轉場特效,自訂特效製作規範請參考官方文檔。
V3.14.0
功能更新
最佳化裁剪模組,保證反覆裁剪顏色不失真。
最佳化錄製實現,針對退後台、硬體資源佔用等異常情況提升穩定性。
修複已知幾處記憶體流失並最佳化部分效能。
問題修複
修複錄製過程中退後台偶現卡死問題。
修複錄製過程中音頻資源被佔用導致異常的問題。
修複編輯設定背景顏色不生效問題。
修複iOS編輯功能變化視圖後播放畫面局部放大問題。
修複部分記憶體流失和其他已知問題。
介面變動
AliyunVideoSDKPro.framework(動態庫)拆分為AliyunVideoSDKPro.framework(靜態庫)和AliyunVideoCore.framework(動態庫)兩部分。如果您採用手動方式整合SDK。
詳情請參考整合SDK。
V3.13.0
功能更新
錄製模組穩定性,效能全面最佳化。
錄製模組支援基於RACE的美顏美型功能。
編輯模組提升H265視頻流暢性。
介面變動
錄製模組廢棄mv介面,去除添加mv功能。
V3.12.0
功能更新
增加日誌分析功能提供開關日誌分析的介面[AliyunVideoSDKInfo setDebugLogLevel:]提供三個等級供使用者佈建:
AlivcDebugLogClose 關閉日誌分析功能 AlivcDebugLogNormal 能分析warning,error層級的日誌,建議使用這個等級來做日誌分析 AlivcDebugLogAll 全量log分析,只建議在定位疑難問題時開啟,不建議在正式發版中使用以上功能只會做SDK的日誌分析編輯模組效能提升。
問題修複
錄製模組修複線程未退出問題。
介面變動
編輯模組廢除applyRunningDisplayMode介面,去除動態切換內容模式功能。
V3.11.0
功能更新
提升片段錄製起停的速度和錄製合成的速度,分段錄製更加流暢。
最佳化錄製進度回調粒度和精準度。
精準控制gop,提升部分情境下的轉碼速度。
最佳化切換網路攝影機耗時。
問題修複
修複gif幀數解析不準確的問題。
修複特定視頻倒播開始播放時卡頓問題。
修複錄製產生視頻時間長度不精準的問題。
修複多段錄製輸出視頻音視頻不同步。
介面變動
對外錯誤碼統一所有錯誤碼統一到AliyunVideoCoreError。
新增方法:NSString* AlivcErrorMessage(int code),擷取錯誤描述。
V3.10.5
功能更新
新增錄製合拍功能(AliyunMixRecorder)。
新增多軌道視頻拼接(可以實現畫中畫,左右分屏等效果)(AliyunMixComposer)。
V3.10.0
功能更新
編輯新增大魔王,小黃人音效。
編輯新增mjpeg視頻格式支援。
編輯播放提升對部分損壞視頻檔案的相容性。
編輯新增draw方法支援強制繪製一幀。
問題修複
錄製修複小段錄製視頻時間長度不準確問題。
錄製修複添加浮水印後退後台浮水印消失的問題。
錄製修複切換前後網路攝影機卡頓的問題。
編輯修複合成匯出退後台可能導致崩潰的問題。
V3.9.0
功能更新
新增音效介面,提供蘿莉,大叔,混響,回聲四種音效。
提升編輯模組seek效能。
提升SDK穩定性。
V3.8.0
功能更新
提升錄製穩定性。
提升了選擇裁剪時間的準確性。
最佳化了編輯播放能力,流暢播放不卡頓。
最佳化了編輯合成的速度。
修複了一些bug。
合成支援退後台返回繼續合成。
考慮到SDK穩定性監控和未來資料相關需求,短視頻目前必須要依賴庫:手動整合需要添加AlivcConan.framework,cocoaPods整合 ‘pod ‘AlivcConan’, ‘0.9.0’ 可以參考demo。
V3.7.7
功能更新
SDK穩定性提升。
裁剪,合成清晰度提升。
V3.7.5
功能更新
修複匯入iOS12系統產生的HEVC視頻倒播顯示異常的bug。
修複編輯使用第三方渲染介面可能導致crash的bug。
時間特效播放流暢度提升。
匯入GIF圖片適配性增強。
支援匯入奇數解析度視頻。
最佳化了多段錄製音視頻同步。
提升穩定性。
V3.7.0
功能更新
新增轉場功能,包含淡入淡出、多邊形轉場、百葉窗等主流效果。
新增特技效果介面,包含基本動畫(旋轉、平移、縮放、透明度)和自訂動畫效果(線性擦除)。
新增指定流、指定時間段添加高斯模糊效果。
新增指定流、指定時間段添加顯示模式(填充、裁剪)。
新增配音介面,支援多段配音和變速。
新增多段視頻加多個變速時間特效(反覆和倒放還是只支援單段視頻的)。
介面變動
編輯預覽播放結束後需要調用replay介面,以前調用play介面。
編輯新增prepare預先載入資料介面,此介面在startEdit之後調用。
浮水印的位置大小的參考座標修改為輸出解析度座標。
在調用轉場效果時,需要先調用stopEdit,然後調用轉場,再調用startEdit。
AliyunPasterController刪除delegate屬性。
AliyunEditor刪除destroyAllEffect介面。
QuCore-ThirdParty.framework改為alivcffmpeg.framework。
V3.6.5.5
功能更新
相容Xcode10.x。
V3.6.5.3
功能更新
修複偶現錄製添加mv鎖屏導致的crash。
修複倒播加特效濾鏡時間不準確。
修複部分視頻色域顯示不準確。
支援aac sbr格式音頻。
V3.6.5
功能更新
修複偶現匯出crash的bug。
提升視頻倒播流暢度。
V3.6.0
功能更新
包大小和基本問題
包名稱 | 包大小(單位M) |
AliyunVideoSDKPro.framework3.5.0 release | 4.9M |
AliyunVideoSDKPro.framework3.5.0 debug | 10.1M |
AliyunVideoSDKPro.framework3.6.0 release | 7.6M |
AliyunVideoSDKPro.framework3.6.0 debug | 15.7M |
QuCore-ThirdParty.framework3.5.0 release | 9.3M |
QuCore-ThirdParty.framework3.5.0 debug | 23.1M |
QuCore-ThirdParty.framework3.6.0 release | 10.2M |
QuCore-ThirdParty.framework3.6.0 debug | 23.2M |
需要同時替換AliyunVideoSDKPro.framework和QuCore-ThirdParty.framework 否則會產生異常(如合成crash等)
介面變動
浮水印介面
-(void)setWaterMark: frame介面廢棄,啟用-(void)setWaterMark樣本:
NSStringwatermarkPath = [[NSBundle mainBundle] pathForResource:@”watermark” ofType:@”png”]; AliyunEffectImage effectImage = [[AliyunEffectImage alloc] init]; effectImage.frame = CGRectMake(10, 10, 28, 20); effectImage.path = watermarkPath; [self.editor setWaterMark:effectImag];片尾介面
3.6支援預覽時查看需要設定-(void)setTailWaterMark,樣本:
NSStringtailWatermarkPath = [[NSBundle mainBundle] pathForResource:@”tail” ofType:@”png”]; AliyunEffectImagetailWatermark = [[AliyunEffectImage alloc] initWithFile:tailWatermarkPath]; tailWatermark.frame = CGRectMake(CGRectGetMidX(self.movieView.bounds) - 84 / 2, CGRectGetMidY(self.movieView.bounds) - 60 / 2, 84, 60); tailWatermark.endTime = 2; [self.editor setTailWaterMark:tailWatermark];添加音樂介面
3.6版本支援多路音頻混流,如果只需要加一路音頻,需要調用remove介面樣本:
AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path]; [self.editor removeMusics];//只要一路音訊情況下可以調用 [self.editor applyMusic:music];在加音樂的時候需要調用 -(void)removeMVMusic 如:AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path]。
[self.editor removeMVMusic]; [self.editor removeMusics]; [self.editor applyMusic:music];3.6版本支援音樂選取自身的時間段進行播放如:
AliyunEffectMusicmusic = [[AliyunEffectMusic alloc] initWithFile:path]; music.startTime = startTime; //音樂本身的開始播放時間 music.duration = duration; //音樂本身的播放期間 music.streamStartTime = streamStart[_player getStreamDuration]; //音樂在播放時間軸上的開始播放時間 music.streamDuration = streamDuration * [_player getStreamDuration]; //音樂在播放時間軸上的持續播放時間
新增時間特效顯示。
Demo中介面-(void)addTimelineTimeFilterItem,具體代碼參見demo。
時間特效和特效濾鏡的相互影響
例如在全程變速的情況下加特效濾鏡或者倒播的情況下加濾鏡這個互動需要注意添加的時間段顯示是否正確這部分的代碼集中在3.6的:
(void)didBeganLongPressEffectFilter:(AliyunEffectFilterInfo *)animtinoFilterInfo ; (void)didTouchingProgress; (void)didEndLongPress;三個函數中,使用者可以直接參考代碼:
AliyunEffectFilter *animationFilter = [[AliyunEffectFilter alloc] initWithFile:[animtinoFilterInfo localFilterResourcePath]]; float currentSec = [self.player getCurrentTime]; float currentStreamSec = [self.player getCurrentStreamTime]; animationFilter.startTime = currentSec; animationFilter.endTime = [self.player getDuration]; animationFilter.streamStartTime = currentStreamSec; //新增 streamStartTime 如果在有時間特效的情況下需設定 animationFilter.streamEndTime = [self.player getStreamDuration];//新增 如果在有時間特效的情況下需設定 [self.editor applyAnimationFilter:animationFilter];為了相容老版本,如果在沒有時間特效的情況下,仍然可以直接設定startTime和endTime,無需設定streamStartTime和streamEndTime。
新增時間特效介面
接入到3.5不會產生相容問題。具體代碼參見3.6Demo樣本:
AliyunEffectTimeFilter *timeFilter = [[AliyunEffectTimeFilter alloc] init]; timeFilter.startTime = [_player getCurrentStreamTime]; timeFilter.endTime = timeFilter.startTime + 1; timeFilter.type = TimeFilterTypeSpeed; timeFilter.param = 0.5; [self.editor applyTimeFilter:timeFilter];播放狀態和介面調用的調整(如前後台切換,頁面切換)
相比較3.5版本,3.6版本在內部對前後台切換和頁面切換進行了處理,具體表現如下:
-(void)setActive棄用:
viewWillAppear與viewWillDisappear的處理:viewWillDisappear時不需要stopEdit銷毀整個AliyunEdit,只需要調用stop停止播放。同理,viewWillAppear時,只需要調用play重新播放。
退後台與返回前台的處理:
退後台,SDK會停止播放或匯出,回前台預設會重新播放(或暫停)。
發生錯誤處理:
3.6版本播放或匯出發生錯誤時,會停止播放或匯出,同時通過playError或exportError返回,使用者可以根據情況處理。
AliyunImporter類介面調整,以下三個介面廢棄(相容老版本,調用暫時不會產生問題)。
(void)addVideoWithPath:(NSString *)videoPath animDuration:(CGFloat)animDuration。
(void)addVideoWithPath:(NSString *)videoPath startTime:(CGFloat)startTime duration:(CGFloat)duration animDuration:(CGFloat)animDuration。
(NSString )addImage:(UIImage )image duration:(CGFloat)duration animDuration:(CGFloat)animDuration。
新的介面通過構建AliyunClip對象。
由於有時間特效,播放器player有幾個基本概念需要區別:
/* 擷取總時間長度,單位:秒 @return 總時間長度 /
(double)getDuration
/* 擷取當前播放時間,單位:秒 /
(double)getCurrentTime
/* 擷取原始視頻流時間長度,單位:秒 @return 總時間長度 /
(double)getStreamDuration
/* 擷取原始視頻流播放時間,單位:秒 /
(double)getCurrentStreamTime
舉例
例如:一個視頻原本是15s,加全程快速2倍播放。那麼,從效果上看這個視頻會被按照2倍去快速播放,此時,getDuration為7.5s。getCurrentTime為當前播放的時間(假如為3.5s),getStreamDuration為15s。getCurrentStreamTime為7s(在getCurrentTime為3.5s的情況下)。
再比如,原本視頻15s,全程慢速2倍播放,那麼getDuration為30s。getCurrentTime假定為10s,則getStreamDuration為15s。getCurrentStreamTime為5s。
再比如,原本視頻為15s,全程倒播,那麼getDuration為15s,getCurrentTime假定為6s,則getStreamDuration為15s,getCurrentStreamTime為9s。
以上為全程的情況下,那麼在局部(如局部變速和反覆)均按照以上的規則進行計算換算。
其他
ReleaseNote
新增時間特效功能介面
(int)applyTimeFilter:(AliyunEffectTimeFilter *)filter。
(int)removeTimeFilter。
AliyunImporter類介面進行調整廢棄原本以下三個介面
(void)addVideoWithPath:(NSString *)videoPath animDuration:(CGFloat)animDuration。
(void)addVideoWithPath:(NSString *)videoPath startTime:(CGFloat)startTime duration:(CGFloat)duration animDuration:(CGFloat)animDuration。
(NSString )addImage:(UIImage )image duration:(CGFloat)duration animDuration:(CGFloat)animDuration
新的介面通過構建 AliyunClip對象。
播放狀態和介面調用的調整相比較3.5版本,3.6版本在內部對前後台切換和頁面切換進行了處理,具體表現在:
(void)setActive棄用。
viewWillAppear與viewWillDisappear的處理:viewWillDisappear時不需要stopEdit銷毀整個AliyunEdit,只需要調用stop停止播放。同理,viewWillAppear時,只需要調用play重新播放。
退後台與返回前台的處理:退後台SDK會停止播放或匯出,回前台預設會重新播放(或暫停)。
發生錯誤處理:3.6版本播放或匯出發生錯誤時,會停止播放或匯出,同時通過playError或exportError返回,使用者可以根據情況處理。
播放器新增介面
(double)getStreamDuration; //擷取原始視頻流時間長度,單位:秒。
(double)getCurrentStreamTime; //擷取原始視頻流播放時間,單位:秒。
浮水印
廢棄介面:(void)setWaterMark: frame。
新增介面:(void)setWaterMark:(AliyunEffect*)waterMark。
片尾浮水印支援預覽,需調用-(void)setTailWaterMark介面。
音樂介面
支援多路音頻流,支援選擇音頻時間段播放。如果只需要加一路音頻,需要調用remove介面。樣本:
AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path]; [self.editor removeMusics];//只要一路音訊情況下可以調用 [self.editor applyMusic:music];支援音樂選取自身的時間段進行播放。樣本:
AliyunEffectMusicmusic = [[AliyunEffectMusic alloc] initWithFile:path]; music.startTime = startTime; //音樂本身的開始播放時間 music.duration = duration; //音樂本身的播放期間 music.streamStartTime = streamStart[_player getStreamDuration]; //音樂在播放時間軸上的開始播放時間 music.streamDuration = streamDuration * [_player getStreamDuration]; //音樂在播放時間軸上的持續播放時間