抖音短影片開發,SDK包含的功能及技術實現方式

給你一杯奶茶發表於2019-07-05
抖音短影片開發在當今社會發展中逐漸成為穩賺不賠的專案。不僅定位準確,而且很好的將大眾的需求與碎片化時間合理利用,短影片行業才得以快速發展。在抖音短影片開發過程中,SDK是必不可少的“工具”之一。
短影片拍攝
1.斷點續拍:在拍攝過程中可進行分段式拍攝,並將最終拍攝的所有內容合成一個影片。
2.重拍功能:對拍攝的短影片部分內容不滿意時,可以直接剪掉這部分內容然後進行重拍。透過重拍功能配合斷點續拍,可以對短影片進行多次剪輯、拍攝,增強影片製作的方便性、靈活性。
短影片美化
1.自定義背景音樂:短影片編輯功能中,可自由新增喜歡的背景音樂,通常自定義背景音樂支援自己錄音或者選用 App 中已有的音樂。
2.貼紙:短影片拍攝完成後,可以自由選擇新增不同的貼紙,貼紙有場景貼紙和人臉貼紙兩種。
3.濾鏡:拍攝的短影片可以選擇不同的場景濾鏡,並且進行美化程度調整。
4.水印:短影片拍攝完成後,可以在短影片上新增不同的水印,保護短影片的版權,這兩項功能作為短影片美化最核心的功能。
自定義介面佈局和 UI 樣式
自定義介面佈局和 UI 樣式是指 App 圖示和功能點位置可以移動轉換的功能,並且修改成不同的 UI 樣式。
功能技術實現方式
1.斷點拍攝功能
需要在進行斷點拍攝時直接呼叫系統 API 或 第三方的相機庫,將每一段 mov 等格式的影片片段,作為臨時檔案儲存,存放到沙盒目錄中。然後維護影片片段地址列表,等到拍攝結束後,將地址列表中指向的每個影片片段進行合成處理(如果不需實現回刪功能,可不必維護影片地址列表,讀取所有單次錄製時儲存的臨時影片片段,進行合成即可),最後生成一部完整的短影片。
2.重拍(回刪)功能
需在斷點續拍功能的基礎上實現,依據斷點續拍實現方式,重拍功能需要維護一個影片片段地址列表,進行回刪操作時只需要刪除影片列表中相對應的影片片段地址。最終只合成地址列表中指向的影片片段,合成完成後,刪除該次錄製的所有臨時影片片段即可。
3. 自定義背景音樂功能
首先需要將影片源分離成兩個軌道:音訊軌道和影片軌道。背景音樂素材剝離出音訊軌道,將背景音樂音訊軌道插入原聲的音訊軌道中。可以透過 AVMutableAudioMixInputParameters 來調整原聲和背景音樂的音量。背景音樂插入成功之後,再將得到的音訊軌道與之前的影片軌道透過呼叫 AVMutableComposition 相關類進行合成,最後匯出為短影片。
貼紙功能
需要使用人臉檢測功能
(1)透過系統自帶的 CoreImage 庫,由於 CoreImage 庫已經提供了 CIDetector ,所以它很適合用來進行人臉檢測位置。

(2)透過第三方資料庫 OpenTV 中開源的跨平臺計算機視覺和機器學習庫進行人臉識別.

5. 濾鏡功能
大部分短影片 SDK 的濾鏡使用的都是第三方影像處理庫 —— GPUImage 庫。使用 GPU 來處理影像,還自帶了大量高質量的影像處理濾鏡。當這些基本功能無法滿足實際開發中的需求時,GPUImage 還支援自定義濾鏡。美顏濾鏡是一種濾鏡組合,可以透過組合亮度(GPUImageBrightnessFilter)和雙邊濾波(GPUImageBilateralFilter)這兩個濾鏡達到美顏效果。如果想達到更好的效果,可以額外新增需要的濾鏡或者調整濾鏡引數。
6.水印功能
主要透過 GPUImageUIElement 將水印轉成影像資料,再透過 BlenderFilter 將兩個影像資料合併,其中可以透過 setFrameProcessingCompletionBlock 回撥動態的調整 View,從而實現水印動態改變的效果。
7.自定義介面佈局和 UI 樣式
將 UI 和 SDK 高度分離的同時又保持兩者的實時性,細分 SDK 的功能邏輯和 UI 邏輯。這需要將 UI 部分程式碼放入 Demo 中,而功能邏輯放入 SDK 中。保證 SDK 提供完善的API 和 UI 層互動,使得 UI 層能及時根據 SDK 的回撥調整 UI 樣式。
以上就是抖音短影片開發過程中,SDK包含的功能和技術實現方式。
本文宣告原創,轉載請註明原文出處及連結。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911557/viewspace-2649701/,如需轉載,請註明出處,否則將追究法律責任。

相關文章