音視頻合成代碼最全的介紹:http://www.reibang.com/p/06ed571fb3b5
http://www.reibang.com/p/5b03ff672dfb
源碼地址
https://github.com/Joker-388/JKRAVCamera
1.音視頻合成
連接:http://www.reibang.com/p/9f83af9dbbef
代碼地址
GitHub:https://github.com/Lafree317/MergeVideoAndMusic
2.視頻裁剪
連接:http://blog.sina.com.cn/s/blog_64ea868501018jx3.html
3.圖片合成視頻
連接:https://github.com/HarrisonJackson/HJImagesToVideo
裁剪視頻是很久之前所做的項目中用到的夺荒,現(xiàn)在又看到了,整理一下宴杀。
與之相關(guān)的這些類有些抽象,所以我這里重點將它們具體化蛀恩。用代碼將視頻合成其實與繪聲繪影/vegas等軟件將視頻合成的過程類似吞琐,首先了解下這類軟件一些相關(guān)知識:一個工程文件中有很多軌道,如音頻軌道1,音頻軌道2只损,音頻軌道3,視頻軌道1七咧,視頻軌道2等等跃惫,每個軌道里有許多素材,對于每個視頻素材艾栋,它可以進行縮放爆存、旋轉(zhuǎn)等操作,素材庫中的視頻拖到軌道中會分為視頻軌和音頻軌兩個軌道裹粤。這里用這些軟件里的一些術(shù)語類來比這些類:
AVAsset:素材庫里的素材终蒂;
AVAssetTrack:素材的軌道蜂林;
AVMutableComposition :一個用來合成視頻的工程文件遥诉;
AVMutableCompositionTrack :工程文件中的軌道拇泣,有音頻軌、視頻軌等矮锈,里面可以插入各種對應(yīng)的素材霉翔;
AVMutableVideoCompositionLayerInstruction:視頻軌道中的一個視頻,可以縮放苞笨、旋轉(zhuǎn)等债朵;
AVMutableVideoCompositionInstruction:一個視頻軌道,包含了這個軌道上的所有視頻素材瀑凝;
AVMutableVideoComposition:管理所有視頻軌道序芦,可以決定最終視頻的尺寸,裁剪需要在這里進行粤咪;
AVAssetExportSession:配置渲染參數(shù)并渲染谚中。