2016-06-30 54 views
1

我們希望允許用戶將動畫「貼紙」放在他們在應用程序中錄製的視頻中,並正在考慮將這些貼紙合成爲不同的方式。在錄製的視頻上合成基於幀的動畫貼紙的最佳方式是什麼?

  1. 創建從基於幀的動畫貼在代碼的視頻(其可以旋轉,並已應用於它們的翻譯),使用AVAssetWriter。問題是AVAssetWriter只寫入文件並且不保持透明度。這會阻止我們使用AVMutableComposition來對視頻進行過分的處理。

  2. 他們使用帶有transformationsAVMutableCompositionlayer說明創建時間提前爲我們的基於幀的不乾膠複合.mov文件。問題在於,沒有工具可以輕鬆將我們的基於PNG的幀轉換爲.mov,同時保留Alpha通道,我們必須編寫自己的通道。

  3. 爲貼圖動畫中的每個幀創建單獨的CALayers。這可能會爲視頻的每個幀速率創建大量的圖層。

還是有什麼更好的點子?

謝謝。

回答

1

我建議你看看我的blog post這個特定主題。基本上,這個例子展示了RGBA視頻數據如何從附加到應用程序資源的文件加載。這是從包含桌面上的動畫RGBA數據的.mov導入的。因爲普通的H.264不能直接支持Alpha通道(正如您發現的那樣),所以需要轉換步驟才能將數據從桌面獲取到iOS中。請注意,較舊的硬件在解碼H.264用戶錄製的視頻時可能會遇到問題,然後再解碼另一個視頻,因此使用CPU而不是H.264硬件製作貼紙的方法實際上會更好。

相關問題