我知道您可以合并多个剪辑并通过使用 AVFoundation 类(AVURLAsset、AVMutableComposition、AVMutableCompositionTrack 等)逐个附加来创建单个视频。
有像“Video-Joiner”这样的应用程序可以做到这一点。
我想做的是将 2 个视频并置。
我的应用创意 - SelfInterviewer 请不要盗用:)
首先,我使用位于画面左侧的前置摄像头录制视频 1。然后视频2站在右边。在视频 1 中提出问题,在视频 2 中我回答。
当我合并时,应该看起来像是我正在接受我自己的采访。
我几乎确定它在 iOS 中不可行,只是想确认一下。
此外,如果不行,我会对任何服务器端解决方案感兴趣 - 上传两个视频并完成相同的任务。我认为adobe Premiere可以做到。不确定他们是否有任何公共(public) API。
欣赏任何想法。
谢谢。
最佳答案
是的,可以合并 2 个视频:
1. 在开始时间 0 将这两个资源添加到 AVMutableComposition。
2. 将首选变换设置为轨道,在此示例中为缩放变换。
- (void) mergeVideos{
///... after getting hold or your assets....firstAsset, secondAsset
AVMutableComposition* mixComposition = [AVMutableComposition composition];
AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo
preferredTracfirst:kCMPersistentTracfirst_Invalid];
[firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, firstAsset.duration)
ofTrack:[[firstAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]
atTime:kCMTimeZero error:nil];
AVMutableCompositionTrack *secondTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo
preferredTracfirst:kCMPersistentTracfirst_Invalid];
[secondTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, secondAsset.duration)
ofTrack:[[secondAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]
atTime:kCMTimeZero error:nil];
[secondTrack setPreferredTransform:CGAffineTransformMakeScale(0.25f,0.25f)];
//... export video here...
}
关于ios4 - iOS 视频编辑 - 是否可以使用 iOS 4 AVFoundation 类将两个视频文件合并(并排而不是一个接一个)两个视频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757423/