1. 程式人生 > >短視訊處理LanSoEditor-SDK之功能介紹

短視訊處理LanSoEditor-SDK之功能介紹

短視訊處理LanSoEditor-SDK之功能介紹

(註釋:我們的SDK3周更新一次,一下功能是在282版本上列出的,可能不是最新的功能,請知悉)

1,功能介紹---容器

1.1錄製容器類

l任意解析度錄製, 位元速率設定,

l分段錄製,支援回刪, 支援任意分段組合。0.5---2.0倍的快慢速度調節

l暫停,恢復,回刪

l支援疊加視訊,文字,圖片,動畫,UI等其他10種類型的圖層,支援圖層之間的前後切換,支援一種圖層多次疊加

l支援麥克風輸入,並支援音量調節,支援同步偏移時間設定

l支援輸入MP3

l支援最高40個子畫面顯示;每個子畫面均繼承Layer父類圖層, 支援父類Layer圖層的所有功能。

l支援美顏, 支援

80多種濾鏡

l支援截圖, 支援實時獲取畫面流,支援相機裸資料讀取。

l支援預覽回撥, 錄製進度回撥, 執行錯誤回撥,截圖回撥, 實時獲取流回調, 完成回撥等

l以上每個引數,詳見SDKDrawPadCameraView.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支援疊加

 其他 視訊圖層/圖片圖層/ Gif圖層/YUV圖層/Data圖層/Canvas圖層/MV圖層等11種圖層

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只是拉出一個紋理, 您可把這個紋理設定到MediaPlayerVideoPlayer/或第三方播放器中,來播放視訊。理論上說, 支援所有可格式的視訊, 只要能播放即可。我們關心的是畫面, 不是視訊來源。

l工作在後臺時:支援手機可以編解碼的格式,預設是MP4MOV,後臺是加速處理視訊畫面,解碼,然後編碼的過程;

l支援時間拉伸;(視訊畫面加減速,速度範圍:0.5---2.0

l支援時間重複;(重複播放一段畫面)

l支援時間靜止;(畫面靜止幾秒鐘)

2.3圖片圖層(BitmapLayer):

l支援父類圖層Layer的所有功能,

l支援在任意時刻切換圖片,切換圖片後, 預設切換的Bitmap物件在切換到紋理中後直接recycle();你可以設定不回收(有過載方法)。

l支援增刪子圖層;

l縮放策略是:當圖片寬高 小於 容器寬高時, 完整放入到容器裡, 不做任意的縮放,本來尺寸多少就顯示多少;當圖片寬高 大於 容器寬高時,則如果寬度大於高度,則寬度等於容器的寬度,縮放高度; 反之高度大於寬度,則高度等於容器高度,縮放寬度;

2.4,繪製圖層(CanvasLayer):

l呼叫addCanvasLayer() 返回一個AndroidCanvas類,支援AndroidCanvas中所有繪製方法, 包括繪製文字,圖片,圓,四方形等各種形狀

l繪製後的畫面, 會實時疊加到其他圖層中,從而實現在視訊、圖片中顯示文字,顏色塊,圖案,動畫等。

lCanvas的圖層大小是當前容器大小;

l支援父類圖層Layer的所有功

 2.5 UI圖層(ViewLayer):

l把一個UI介面顯示到容器中, 支援Layer的所有功能;

l介面上支援Android除非同步工作的GL控制元件外的所有控制元件, 比如常用的Button TextViewImageViewLinearLayoutCheckButton等,

l不支援GLSurface SurfaceViewTextureView;AndroidView無法工作在非同步模式, 故只能工作在前臺;

2.6MV圖層(MVLayer):

l支援父類Layer的所有功能

l支援非同步載入模式,

l支援進度監聽,

l支援迴圈模式,

l支援強制顯示下一幀;

2.7YUV圖層(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.12GIF圖層(GifLayer):

l支援父類Layer的所有功能。

l預設迴圈顯示

3,美顏類處理:

當前美顏是對整體畫面進行處理,沒有做人臉識別,人臉檢測,瘦臉,大眼等人工智慧類處理。

            3.1 我們提供了增強型磨皮濾鏡:LanSongBeautyAdvanceFilter; 輕微磨皮濾鏡:LanSongBeautyFilter 白皙磨皮濾鏡:LanSongBeautyWhiteFilter

這些濾鏡都支援級聯,您可以在磨皮的基礎上,增加其他濾鏡;

            3.2 我們舉例了BeautyManager 實現自然的磨皮和美白,美白有從紅潤到冷白的調節。

            3.3 我們評估過第三方的人臉識別SDK,比如Face++等, 通過我們的DrawPadCameraView把資料拉出來, 輸入到第三方SDK中, 識別後,得到特徵關鍵點,從而實現特定的美顏效果(在合作後,由我們有償幫您整合, 也可我們提供技術支援,你們自行整合)