我有一个视频播放器。在这个项目中,我将视频和图像组合成一个视频,并将每个对象映射到单个视频时间轴中。我想在图像-视频或视频-视频之间使用交叉淡出效果过渡,但问题是我不想使用AVAssetExportSession
,因为合成的视频大约2-3小时,可能会导致用户设备中可能没有的许多gb。
我正在寻找一些例子,如在苹果文档,但也使用AVAssetExportSession
。任何想法,我可以解决交叉淡出效果的问题,在没有导出合成视频实时?
您需要创建AVMutableComposition
, AVMutableVideoComposition
和AVMutableAudioMix
,因为它应该在导出文档中讨论。
从这些对象中你可以创建一个AVPlayerItem
:
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:composition];
[playerItem setVideoComposition:videoComposition];
[playerItem setAudioMix:audioMix];
编辑请参考以下示例代码:AVCompositionDebugViewer