我有一个视频播放器。在这个项目中,我将视频和图像组合成一个视频,并在一个视频时间轴中映射每个对象。我想在图像 - 视频或视频 - 视频之间进行交叉淡入淡出效果转换,但问题是我不想使用AVAssetExportSession
,因为合成视频大约需要2-3个小时才能导致许多千兆字节,用户可能不会有他们的设备。
我正在寻找Apple documentation中的一些示例,但也使用AVAssetExportSession
。知道如何在不导出合成视频的情况下实时解决交叉淡入淡出效果问题吗?
答案 0 :(得分:0)
您需要创建AVMutableComposition
,AVMutableVideoComposition
和AVMutableAudioMix
,因为它应在导出文档中进行讨论。
您可以通过这些对象创建AVPlayerItem
:
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:composition];
[playerItem setVideoComposition:videoComposition];
[playerItem setAudioMix:audioMix];
修改强> 请在此处参阅此示例代码:AVCompositionDebugViewer