短視訊處理LanSoEditor-SDK之功能介紹
(註釋:我們的SDK每3周更新一次,一下功能是在2。8。2版本上列出的,可能不是最新的功能,請知悉)
1,功能介紹---容器
1.1錄製容器類
l任意解析度錄製, 位元速率設定,
l分段錄製,支援回刪, 支援任意分段組合。0.5---2.0倍的快慢速度調節
l暫停,恢復,回刪
l支援疊加視訊,文字,圖片,動畫,UI等其他10種類型的圖層,支援圖層之間的前後切換,支援一種圖層多次疊加
l支援麥克風輸入,並支援音量調節,支援同步偏移時間設定
l支援輸入MP3,
l支援最高40個子畫面顯示;每個子畫面均繼承Layer父類圖層, 支援父類Layer圖層的所有功能。
l支援美顏, 支援
l支援截圖, 支援實時獲取畫面流,支援相機裸資料讀取。
l支援預覽回撥, 錄製進度回撥, 執行錯誤回撥,截圖回撥, 實時獲取流回調, 完成回撥等
l以上每個引數,詳見SDK的DrawPadCameraView.java類。
l一下是相機相關,在CameraLayer.class中
l支援聚焦, 遠近可調,支援曝光值調節, 支援直接獲取Camera物件。支援相機本身的人臉檢測,運動檢測;
l支援上下左右映象,
lCameraLayer繼承自父類Layer, 支援父類Layer的所有方法。
l支援黑底效果視訊融合疊加。
1.2視訊預覽容器(DrawPadView)
l支援任意寬度和高度
l支援視訊重新整理和
l支援視訊圖層/圖片圖層/UI圖層/Canvas圖層/GIF圖層/資料圖層/YUV圖層/紋理圖層/雙視訊圖層/MV圖層等11種類型的圖層疊加進來;
l可同時增加多個同一種類的多個圖層物件;
l支援兩個圖層切換, 指定圖層位置, 移動圖層到最底層, 移動圖層到最上層等。
l支援暫停/恢復/分段錄製,支援任何錄製解析度, 位元速率的設定。
l容器支援設定預覽進度監聽,
l支援預覽進度監聽,執行錯誤回撥, 截圖回撥,實時獲取流回調, 完成回撥等
1.3後臺視訊處理容器:
lDrawPadVideoExecute 是對單個視訊進行後臺加速處理的類。
l支援任意容器寬度和高度
l支援輸出視訊的位元速率任意設定。
l支援疊加
l可同時增加多個同一種類的多個圖層物件;
l支援兩個圖層切換, 指定圖層位置, 移動圖層到最底層, 移動圖層到最上層等圖層間的調節;
l支援調節主視訊圖層的一切引數;
l支援對主視訊的時間拉伸(調速), 時間靜止(暫停), 時間重複(重複)。
l內部包含一個音訊容器, 支援增加多個其他音訊檔案,支援音量調節,AudioSource的所有方法;
l支援設定單個濾鏡, 同時設定多個濾鏡;
1.4後臺聲音容器: AudioPadExecute
l支援44100 /48000取樣率的音訊結果輸出,支援預設音訊時長;
l支援mp3, mp4, m4a, wav格式含有音訊的檔案輸入。
l每個音訊輸入, 會返回一個AudioSource物件, AudioSource物件可設定使能/迴圈/調速/重複/音量/暫停等功能;
l支援進度回撥, 支援完成回撥;
1.5其他容器
圖片處理容器BitmapPadExecute,
圖片合成視訊容器DrawpadBitmapExecute
混合圖層容器 DrawPadAllExecute;
這些容器使用與其他圖層類似,或極少使用,暫時不做詳細介紹,在demo中均例子,如您有使用中的疑問,可隨時聯絡我們。
2. 功能介紹---圖層:
2.1父類圖層(Layer)
說明:(每個具體圖層,每個子圖層的父類,所有xxxLayer均繼承於它)
l隱藏/顯示、移動、縮放、旋轉、映象、濾鏡、美顏,圓形可視範圍設定、四方形可視範圍設定、RGBA顏色調節;
l透明度調節;
l支援克隆多個子圖層;
l以上功能均可隨著容器時間戳的變化, 而不斷的移動,從而實現畫面的一些動畫效果。我們針對常用的飛入,飛出,放大縮小,旋轉進入,淡入淡出動畫提供了Animation類,
l您可直接建立相關的物件來直接呼叫。
2.2視訊圖層(VideoLayer):
說明:對視訊畫面處理的類,放到容器中是一個圖層, VideoLayer中所有的方法處理,都是針對這個圖層的處理。
l支援父類圖層Layer的所有功能,
l支援子圖層, 舉例的有,背景虛化,靈魂出竅;
l工作在前臺時: 取樣外部播放器驅動的, VideoLayer只是拉出一個紋理, 您可把這個紋理設定到MediaPlayer或VideoPlayer/或第三方播放器中,來播放視訊。理論上說, 支援所有可格式的視訊, 只要能播放即可。我們關心的是畫面, 不是視訊來源。
l工作在後臺時:支援手機可以編解碼的格式,預設是MP4或MOV,後臺是加速處理視訊畫面,解碼,然後編碼的過程;
l支援時間拉伸;(視訊畫面加減速,速度範圍:0.5---2.0)
l支援時間重複;(重複播放一段畫面)
l支援時間靜止;(畫面靜止幾秒鐘)
2.3圖片圖層(BitmapLayer):
l支援父類圖層Layer的所有功能,
l支援在任意時刻切換圖片,切換圖片後, 預設切換的Bitmap物件在切換到紋理中後直接recycle();你可以設定不回收(有過載方法)。
l支援增刪子圖層;
l縮放策略是:當圖片寬高 小於 容器寬高時, 完整放入到容器裡, 不做任意的縮放,本來尺寸多少就顯示多少;當圖片寬高 大於 容器寬高時,則如果寬度大於高度,則寬度等於容器的寬度,縮放高度; 反之高度大於寬度,則高度等於容器高度,縮放寬度;
2.4,繪製圖層(CanvasLayer):
l呼叫addCanvasLayer(), 返回一個Android的Canvas類,支援Android的Canvas中所有繪製方法, 包括繪製文字,圖片,圓,四方形等各種形狀
l繪製後的畫面, 會實時疊加到其他圖層中,從而實現在視訊、圖片中顯示文字,顏色塊,圖案,動畫等。
lCanvas的圖層大小是當前容器大小;
l支援父類圖層Layer的所有功
2.5 UI圖層(ViewLayer):
l把一個UI介面顯示到容器中, 支援Layer的所有功能;
l介面上支援Android除非同步工作的GL控制元件外的所有控制元件, 比如常用的Button, TextView,ImageView,LinearLayout,CheckButton等,
l不支援GLSurface, SurfaceView,TextureView;因Android的View無法工作在非同步模式, 故只能工作在前臺;
2.6,MV圖層(MVLayer):
l支援父類Layer的所有功能
l支援非同步載入模式,
l支援進度監聽,
l支援迴圈模式,
l支援強制顯示下一幀;
2.7,YUV圖層(YUVLayer):
l支援父類Layer的所有功能,
l支援NV21輸入;
l支援資料的90度, 270度旋轉,
l支援左右映象, 上下映象;
2.8,自定義資料圖層(DataLayer):
l支援父類Layer的所有功能。
l支援裸資料輸入,
l支援bitmap圖片輸入。
2.9,紋理圖層(TextureLayer):
l支援外界紋理輸入
2.10,(攝像頭圖層)CameraLayer:
l攝像頭圖層,在DrawPadCameraView容器中已有介紹;
2.11,雙視訊圖層(TwoVideoLayer)
l支援先對視訊做各種濾鏡, 然後和第二個視訊疊加, 並去除第二個視訊中的黑色背景;
2.12,GIF圖層(GifLayer):
l支援父類Layer的所有功能。
l預設迴圈顯示
3,美顏類處理:
當前美顏是對整體畫面進行處理,沒有做人臉識別,人臉檢測,瘦臉,大眼等人工智慧類處理。
3.1, 我們提供了增強型磨皮濾鏡:LanSongBeautyAdvanceFilter; 輕微磨皮濾鏡:LanSongBeautyFilter; 白皙磨皮濾鏡:LanSongBeautyWhiteFilter;
這些濾鏡都支援級聯,您可以在磨皮的基礎上,增加其他濾鏡;
3.2, 我們舉例了BeautyManager, 實現自然的磨皮和美白,美白有從紅潤到冷白的調節。
3.3, 我們評估過第三方的人臉識別SDK,比如Face++等, 通過我們的DrawPadCameraView把資料拉出來, 輸入到第三方SDK中, 識別後,得到特徵關鍵點,從而實現特定的美顏效果(在合作後,由我們有償幫您整合, 也可我們提供技術支援,你們自行整合)