//将所有分段视频合成为一段完整视频,并且裁剪为正方形包含所有视频分段的文件URL数组,必须是[NSURL fileURLWithString:...]得到的
- (void)mergeAndExportVideosAtFileURLs:(NSArray *)fileArray{
/// fileArray 是多短视频的本地存储路径数组,,视频存于沙盒目录
NSMutableArray *fileURLArray = [NSMutableArray array];
fileArray里的视频路径是字符串类型,,转换成URL
for (NSString *str in fileArray) {
[fileURLArray addObject:[NSURL fileURLWithPath:str]];
}
NSError *error = nil;
CGSize renderSize = CGSizeMake(0, 0);
NSMutableArray *layerInstructionArray = [[NSMutableArray alloc] init];
AVMutableComposition *mixComposition = [[AVMutableComposition alloc] init];
CMTime totalDuration = kCMTimeZero;
//先去assetTrack 也为了取renderSize
NSMutableArray *assetTrackArray = [[NSMutableArray alloc] init];
NSMutableArray *assetArray = [[NSMutableArray alloc] init];
for (NSURL *fileURL in fileURLArray) {
AVAsset *asset = [AVAsset assetWithURL:fileURL];
if (!asset) {
continue;
}
[assetArray addObject:asset];