第三方短視訊解決方案作為快速切入短視訊行業的首選方式,選擇一款功能齊全、效能優異的短視訊解決方案十分重要。
今天我們來談談短視訊 SDK 6大重要功能點及其技術實現方式。
短視訊拍攝
斷點續拍
指在拍攝過程中可以進行分段式拍攝,並將最終拍攝的所有內容合成一個視訊的功能。
通過斷點續拍功能可以輕鬆實現不同的視訊內容拼接,快速打造出視訊拼接功能,進一步強化平臺高質量的內容輸出。
△ 斷點拍攝功能
技術實現
斷點續拍功能實現需要在進行斷點拍攝時直接呼叫系統 API 或 第三方的相機庫,將每一段 mov 等格式的視訊片段,作為臨時檔案儲存,存放到沙盒目錄中。然後維護視訊片段地址列表,等到拍攝結束後,將地址列表中指向的每個視訊片段進行合成處理(如果不需實現回刪功能,可不必維護視訊地址列表,讀取所有單次錄製時儲存的臨時視訊片段,進行合成即可),最後生成一部完整的短視訊。
重拍(回刪)
指對拍攝的短視訊部分內容不滿意時,可以直接剪下掉這部分內容,進行重拍。
通過重拍功能配合斷點續拍,可以對短視訊進行多次剪輯、拍攝,增強視訊製作時的靈活性,方便性。
△ 重拍(回刪)功能
技術實現
短視訊重拍需在斷點續拍功能的基礎上實現,依據斷點續拍實現方式,我們講一下回刪功能實現的方式。
重拍功能需要維護一個視訊片段地址列表,進行回刪操作時只需要刪除視訊列表中相對應的視訊片段地址。最終只合成地址列表中指向的視訊片段,合成完成後,刪除該次錄製的所有臨時視訊片段即可。
短視訊美化
自定義背景音樂
指短視訊編輯功能中,使用者可以自由新增他喜歡的背景音樂,通常自定義背景音樂支援自己錄音或者選用 App 中已有的音樂。
△ 自定義背景音樂功能
技術實現
自定義背景音樂功能實現,首先需要將視訊源分離成兩個軌道:音訊軌道和視訊軌道。背景音樂素材剝離出音訊軌道,將背景音樂音訊軌道插入原聲的音訊軌道中。可以通過 AVMutableAudioMixInputParameters 來調整原聲和背景音樂的音量。背景音樂插入成功之後,再將得到的音訊軌道與之前的視訊軌道通過呼叫 AVMutableComposition 相關類進行合成,最後匯出為短視訊。
貼紙
貼紙是指短視訊拍攝完成後,可以自由選擇新增不同的貼紙,貼紙有場景貼紙和人臉貼紙兩種。
△ 貼紙功能
技術實現
貼紙功能需要使用人臉檢測功能,人臉檢測實現方式有兩種:
1.通過第三方資料庫 OpenCV 中開源的跨平臺計算機視覺和機器學習庫進行人臉識別;
2.通過系統自帶的 CoreImage 庫,由於 CoreImage 庫已經提供了 CIDetector ,所以它很適合用來進行人臉檢測。
這2種方法,更推薦 OpenCV,因為 CoreImage 庫只能定位人臉,鼻子、嘴巴、眼睛等五官位置,而 OpenCV 不僅可以實現人臉,五官的定位,而且還可以對眉毛、側臉、頭髮等位置進行識別定位,從而能支援不同部位的貼紙。
最後在成功定位貼紙之後,進行視訊影象處理即可。
有些實現中還會結合以上兩種方式,先用借用 CIDetector 出色的效能框出人臉位置,然後將這小片區域交給 OpenCV 識別模型以標出具體的人臉結構和輪廓位置。
濾鏡、水印
這兩項功能作為短視訊美化最核心的功能,由於它們的實現方式大同小異,所以將它們整合到了一起。
濾鏡是指拍攝的短視訊可以選擇不同的場景濾鏡,並且進行美化程度調整;水印是指短視訊拍攝完成後,可以在短視訊上新增不同的水印,保護短視訊的版權。
△ 濾鏡功能
技術實現
這兩個功能本質都是對視訊影象進行處理。
大部分短視訊 SDK 的濾鏡和水印使用的都是第三方影象處理庫 —— GPUImage 庫。使用 GPU 來處理影象,還自帶了大量高質量的影象處理濾鏡。當這些基本功能無法滿足實際開發中的需求時,GPUImage 還支援自定義濾鏡。
美顏濾鏡:它是一種濾鏡組合,可以通過組合亮度(GPUImageBrightnessFilter)和雙邊濾波(GPUImageBilateralFilter)這兩個濾鏡達到美顏效果。如果想達到更好的效果,可以額外新增需要的濾鏡或者調整濾鏡引數。
水印:水印實現主要通過 GPUImageUIElement 將水印轉成影象資料,再通過 BlenderFilter () 將兩個影象資料合併,其中可以通過 setFrameProcessingCompletionBlock 回撥動態的調整 View,從而實現水印動態改變的效果。
自定義介面佈局和 UI 樣式
自定義介面佈局和 UI 樣式是指 App 圖示和功能點位置可以移動轉換的功能,並且修改成不同的 UI 樣式。一般情況,短視訊 SDK 都會避免將 UI 邏輯和介面包含進去,保證滿足短視訊 App 開發者的設計互動、UI 需求,以及 App 的差異化。
技術實現
將 UI 和 SDK 高度分離的同時又保持兩者的實時性,細分 SDK 的功能邏輯和 UI 邏輯。這需要將 UI 部分程式碼放入 Demo 中,而功能邏輯放入 SDK 中。保證 SDK 提供完善的API 和 UI 層互動,使得 UI 層能及時根據 SDK 的回撥調整 UI 樣式。
總結
以上就是短視訊拍攝端 SDK 6項重要功能的分析及其技術實現方式。又拍雲短視訊拍攝端 SDK 整合14項拍攝功能,並且支援 CDN 就近上傳,全網分發以及雲端處理。提供免費版、標準版和專業版三個不同版本,歡迎體驗試用。