2017-10-17 62 views
0

嗨我正面臨着AVAssetEXport的問題。我試圖結合了許多視頻接連,讓我們說20-30,添加每個資產作爲VideoMutableCompositon與insertTimeFrame的軌道:AVAssetExport失敗「無法解碼」

| video1 | video2 | ... | videoi | ... | videoN |

如果我超過15 - 16個視頻,我出口,我得到以下錯誤:

失敗:錯誤域= AVFoundationErrorDomain代碼= -11839 「不能解碼」 的UserInfo = {NSLocalizedDescription =不能解碼,NSUnderlyingError = 0x1c8044620 {Error Domain = NSOSStatusErrorDomain Code = -12913「(null)」},NSLocalizedRecoverySuggestion =停止解碼媒體並再次嘗試的任何其他操作。,NSLocalizedFailureReason =此媒體所需的解碼器正忙。}

我確信這不是RAM問題,因爲我使用iphone8 plus,而且xcode顯示的RAM活動較少。 如果我減少的視頻數量5 - 8一切都很正常......

是否有添加視頻軌道有限制嗎? 任何人都可以幫助我實現這個目標嗎?

+0

當你說「合併」你的意思是疊加(即在彼此頂部的多個片段),或者你的意思是「縫」 - 鋪設剪輯首尾相接。 我已經成功地縫合剪輯的100的,但從來沒有嘗試過合併(覆蓋)超過約5或6 –

+0

檢查出[這個答案](https://stackoverflow.com/a/45257875)。似乎有一個限制。 – jpetrichsr

+0

@TimBull謝謝你的回答。我試圖做的是一個接一個地處理所有這N個視頻,使用insertTimeRange和定義指令將它們添加爲AVVideoCompositon的軌道。 |視頻1 |視頻2 | videoi | ... | videoN 如果N = 5 - 8一切都還好吧和AVAssetExport它的工作很好,但如果N增加,我可以看到一個奇怪的behivour因爲exporter.progress上升和下降。如果N超過17-18,我甚至在嘗試開始之前收到該錯誤... 關於原因的任何想法? 你能否澄清我正確的程序來實現這一目標? –

回答

0

最後我發現原因,是我的壞! 問題是我正在通過AVMutableCompositionTrack循環。 因此,每個視頻都在不同的軌道上,可能導致資源匱乏。 現在我只創建了2首曲目:1爲視頻,1爲音頻。 我所有的視頻都是用時間範圍縫合的。

謝謝你們!

相關問題