2016-12-01 87 views
12

我已經成功地合併了視頻-1和視頻-2,而視頻-2透明使用AVFoundation框架但合併後視頻(視頻-1)不僅僅顯示視頻-2是可見的,但是當我用下面的代碼在視頻2如何合併具有透明度的兩個視頻

AVMutableVideoCompositionLayerInstruction *SecondlayerInstruction =[AVMutableVideoCompositionLayerInstruction videoCompositionLayerInstructionWithAssetTrack:secondTrack]; 
[SecondlayerInstruction setOpacity:0.6 atTime:kCMTimeZero]; 

其設置不透明度這裏layer.But實際的問題是,有超過視頻2層的一些內容是申請後不是透明的,在這裏視頻2層上的不透明度也適用於不透明的內容。
我合併透明區域之後加入這裏的兩個圖像,其集合不透明度後描述兩個場景使用AVMutableVideoCompositionLayerInstruction

enter image description here enter image description here

  • 如在圖像爲黑色,當我設置不透明度超過第二層整個視頻-2現在變得透明,但內容也變得透明。
  • 但我的問題是如何在合併後播放另一個視頻上的透明視頻。我已經檢查過video-2是透明的,因爲它在android平臺中正確播放。

編輯-1:我也嘗試設置myVideoCompositionInstruction背景顏色也沒有幫助。從這個老問題 link

被修改-2取參考:在AVVideoComposition.h,我發現

指示組合物的背景色。僅支持固體BGRA顏色 ;不支持 的圖案和其他顏色參考將被忽略。如果未指定背景顏色 ,則視頻合成器將使用黑色的不透明 的默認backgroundColor。如果渲染的像素緩衝區不具有alpha,則backgroundColor的alpha值將被忽略。

這是什麼意思,我沒有得到它可以幫助任何人?

+0

你有解決這個問題的方法嗎?我面臨同樣的問題。我想合併兩個視頻與第二個透明度。但它不工作。 –

回答

1

您可以設置視頻的alpha值來代替不透明度。

說明: Alpha設置不透明度值的元素,其所有子的,雖然只opacity爲單個組件將不透明度值。

enter link description here

+0

或視圖的alpha –

+0

@ShravyaBoggarapu沒有得到你。 –

相關問題