建議先看懂這篇文章音頻疊加之后再來看我所寫的
找了特別久才摸索到視頻疊加技術點隘梨。首先篇文章寫的是視頻疊加方面。
有兩個方式舷嗡,一種是兩個視頻收尾相接合并成一個視頻轴猎,一種是兩個視頻同時在屏幕上播放合并成的疊加視頻。
收尾相加視頻步驟:
1.創(chuàng)建一個可變音視頻組合AVMutableComposition*comosition
2.使用URL創(chuàng)建一個AVURLAsset*asset
3.利用asset創(chuàng)建視頻采集通道AVAssetTrack*assetTrack
4.利用AVMutableComposition創(chuàng)建視頻軌AVMutableCompositionTrack*track(使用insertTimeRange:ofTrack:atTime:error函數(shù)設置開始時間进萄,持續(xù)時間捻脖,視頻采集通道)
創(chuàng)建多個視頻合成在這里寫,回到步驟2中鼠。不需要添加在走下一步
5.創(chuàng)建視頻導出會話對象AVAssetExportSession
視頻疊加
1.創(chuàng)建一個可變音視頻組合AVMutableComposition*comosition
2.使用URL創(chuàng)建一個AVURLAsset*asset
3.用asset創(chuàng)建視頻采集通道AVAssetTrack*assetTrack
4.用comosition創(chuàng)建視頻軌AVMutableCompositionTrack*track(使用insertTimeRange:ofTrack:atTime:error函數(shù)設置開始時間可婶,持續(xù)時間,視頻采集通道)
5.使用track創(chuàng)建視頻應用層的指令AVMutableVideoCompositionLayerInstruction*videolayerInstruction(使用函數(shù)setTransform: atTime:控制視頻流的進入時間援雇、大小)矛渴,可用應用層控制視頻流的進入時間、大小惫搏、透明度具温、動畫等(控制子視頻)
6.創(chuàng)建管理應用層指令AVMutableVideoCompositionInstruction*mainCompositionIns,使用layerInstructions屬性添加視頻應用層,可設置視頻大小筐赔、動畫等(子視頻的控制器)
創(chuàng)建多個視頻疊加在這里寫铣猩,回到步驟2。不需要添加在走下一步
7.創(chuàng)建視頻組件AVMutableVideoComposition川陆,這個類是處理視頻中要編輯的東西剂习÷唬可以設定所需視頻的大小、規(guī)模以及幀的持續(xù)時間鳞绕。以及管理并設置視頻組件的指令,把6創(chuàng)建的控制器都加進去(總控制器)
8.創(chuàng)建視頻導出會話對象AVAssetExportSession失仁;
寫到最后:demo過幾天上傳,看到還沒上傳的留言们何,視頻合成比較容易萄焦,視頻疊加就比較難,要控制子視頻的位置跟顯示時間等冤竹,不過步驟多表示可操作性強拂封。
如果有什么遺漏或者錯誤歡迎指正,共同進步!
轉載請注明出處:摩羯小偉
總結:找了好多資料都沒有一個視頻疊加的整理例子,貼出來希望大硼腥洌看到漏洞的東西指導一下冒签,也做個筆記。
demo ?鏈接: https://pan.baidu.com/s/1kUNLSZt 密碼: q81t ?