天天看點

視訊編輯SDK測試

短視訊編輯SDK測試有一段時間了,是以抽時間對編輯SDK的相關内容進行簡要複盤。

功能說明

短視訊編輯SDK支援gif,不同格式的圖檔,視訊檔案的拼接導入,編輯,添加特效,合成導出等功能。更具體的介紹可以參照官網的SDK開發文檔。https://live.360.cn/developer/doc?page_id=67&item_id=5

** 子產品結構**

編輯SDK的核心子產品包括時間線、特效指令、預覽播放器、合成器。整體架構圖概括如下:

視訊編輯SDK測試
  • **時間線:**時間線上包含多個音/視訊軌道。軌道是檔案素材的載體,視訊軌道上可以添加視訊、音頻檔案,音頻軌道上隻能添加音頻檔案。片段上可以添加特效,片段間可以設定不同的轉場效果。
  • **特效指令:**特效指令分為音、視訊特效,譬如變聲、濾鏡、貼紙、畫質調節等效果。
  • **預覽播放器:**實時預覽,源素材檔案和添加的特效都可以通過預覽播放器實時渲染。
  • **合成器:**讀取素材檔案,并按特效指令處理素材檔案,最終按照合成配置合成新的媒體檔案。

播放/合成子產品處理

播放/合成子產品檔案處理過程可以通過下圖概括。

視訊編輯SDK測試

實際上,播放和合成子產品是分立的兩個子產品,并非涵蓋關系。隻不過兩個子產品讀取檔案配置資訊和音視訊解碼部分流程相同。另外,在添加檔案時,SDK會對檔案進行格式轉換,友善之後對于音、視訊資料的處理。讀取檔案并解碼後,還會涉及到視訊像素資料的顔色空間轉換。由此,也需要我們在測試過程中對相關知識進行學習了解,譬如常見的音視訊檔案格式,視訊資料的顔色空間等。

測試注意點

在了解了編輯SDK的基本功能和處理過程後,我們接下來看看測試編輯SDK的過程中有哪些需要注意的方面呢。

  • 輸入素材檔案的格式類型

在根據需求實際測試過程中,我總結出以下需要覆寫的素材檔案類型(測試裝置主要為iPhone裝置)

由于源素材的格式類型衆多,确實會在一定程度上增加測試的繁瑣性。不過在發現問題并協助開發解決問題的過程中還是能夠學習到很多東西。

  • 預覽播放時特效的疊加操作

目前編輯SDK支援轉場,變速,添加背景音樂和字幕貼紙等功能。那麼在實際測試過程中不可忽視的就是相關操作的疊加。假設我們導入一段時長20s的視訊,從視訊的起始位置到結束位置添加背景音樂後,對其進行2倍速變速操作。此時視訊的播放時間為10s,那目前的視訊導出後時長是否正确,源素材的音頻軌和背景音樂是否依照預期疊加,源素材檔案和背景音樂是否在對應的時間線上同步變速等,則是需要着重關注的地方。

  • 預覽播放和合成導出過程中的中斷操作

預覽播放時,播放器進行資料的渲染。在一些中斷操作(鎖屏,切背景,電話打入,鬧鐘等)後,我們也要關注播放器是否能夠正常的重新整理或重新開機,是否會出現黑屏,丢幀等異常現象。合成過程中進行資料的編碼,同樣要驗證中斷操作對編碼器邏輯的影響。

問題舉例

測試過程中的确也遇到了不少問題,其實也是由于我們上面說到的一些注意點沒有考慮全面導緻的,試舉兩例:

1.iPhone7+iOS11拍攝的視訊導入demo崩潰

原因:iPhone7(及以上)+iOS11(及以上)的裝置拍攝的視訊均采用H265編碼格式。之前多數iPhone裝置拍攝的視訊為H264編碼,此處需要特别注意。