1. 程式人生 > >短視頻SDK架構設計,短視頻APP開發目標首選

短視頻SDK架構設計,短視頻APP開發目標首選

其中 剪輯 裁剪 清晰 功能 判斷 規範 邏輯 發出

短視頻 SDK 實踐中主要做的一些事情,這其中最重要的就是短視頻 SDK 的架構設計,包括架構設計理念、架構圖、整體數據流程、模塊架構設計等。今天小編就簡單介紹一下短視頻APP開發中,選擇什麽樣的廠家,廠家SDK 架構設計理念。
技術分享圖片
第一點說到 SDK 的設計理念必定要提到命名規範,就跟騰訊的企業理念一樣,他們的命名規範是統一、簡單並且精煉的,比如他們將對外的核心類統一以 PLShortVideo 為前綴,在錄制、編輯以及剪輯等模塊的命名;參數配置類則均以 PLxxxSetting 為標準進行命名;接口回調類則均以 PLxxxListener 為標準命名。
第二點他們遵循的是高模塊化、模塊可插拔的一個理念;高模塊化必須要保證每個類每個方法都「名副其實」並「各司其職」,這樣才能編寫更清晰的邏輯;高模塊化同時可以促進高復用,減少重復代碼;在 SDK 內的轉碼核心類,因為編輯、剪輯在最後保存的時候都需要一個解碼並重新編碼的過程,在這裏,轉碼核心類可以達到一個高復用。
短視頻 SDK 的包體劃分,他們的可以清晰地看到每個包體的功能劃分,不同的功能放在了不同的包體當中。他們並沒有使用 ffmpeg 的軟解軟編,而是盡量使用 Android 和 iOS 的系統 API 進行硬編硬解,這樣不僅減少了包體大小,而且速度要快很多,盡管在技術層面上會增加很多難度,會踩很多坑,但我們還是堅持選用這個方案。在引入第三方庫時,他們也都是會經過充分配置和裁剪去嚴格控制包體的大小,這樣一來,所有包體總和才能有現在「小而精」(1.5M)的成果。表中最後的內置濾鏡模塊,其中的濾鏡資源可以選擇性拷貝,SDK 內部會自動判斷。這是關於模塊設計方面的一些理念。
技術分享圖片
第三點是要和 UI 解耦,在從不同 App 中截圖得到的畫面,可以看出每一個App 都有各自的設計,作為一款短視頻 SDK,是絕對不可以在 UI 方面限制客戶發揮的。市面上有些短視頻 SDK 將 UI 寫死並作為 SDK 的一部分,這樣對於客戶在設計 UI 界面上來說,是非常不友好的;他們采用的是另一種方法,SDK 與 UI 進行解耦,客戶的 UI 是可自定義的,整個 SDK 中接受 view 的地方只有一處:
接著是擴展性這一塊,我們遵循高擴展,開放性的理念。在錄制以及編輯過程中,都會有數據的回調並支持第三方庫進行美顏,濾鏡,貼紙,特效等功能。
最後是關於可配置參數方面的設計,除了常規參數,比如攝像頭分辨率和幀率、麥克風采樣率等可以進行配置之外,包括美顏等參數也都是可以進行配置的。
只有選擇好科學合理的短視頻SDK,才能配合好短視頻APP開發出穩定的短視頻系統,短視頻APP開發結合短視頻SDK打造出一套完整的短視頻系統功能。

短視頻SDK架構設計,短視頻APP開發目標首選