如何在iPhone sdk中使用AVMutableComposition合并视频
我使用了以下方法,但视频没有合并,在输出中,添加到AVMutableCompositionTrack的最后一个视频存储在库中如何在iPhone sdk中使用AVMutableComposition合并视频,iphone,ios,ios5,ios4,ios6,Iphone,Ios,Ios5,Ios4,Ios6,我使用了以下方法,但视频没有合并,在输出中,添加到AVMutableCompositionTrack的最后一个视频存储在库中 NSArray *arrVideoUrl=[objApp.dictSelectedVideos allKeys]; AVURLAsset *video1=[[AVURLAsset alloc]initWithURL:[arrVideoUrl objectAtIndex:0] options:nil]; AVURLAsset *video2=[[AVURLAsset all
NSArray *arrVideoUrl=[objApp.dictSelectedVideos allKeys];
AVURLAsset *video1=[[AVURLAsset alloc]initWithURL:[arrVideoUrl objectAtIndex:0] options:nil];
AVURLAsset *video2=[[AVURLAsset alloc]initWithURL:[arrVideoUrl objectAtIndex:1] options:nil];
AVURLAsset *audioAsset=[[AVURLAsset alloc]initWithURL:songUrl options:nil];
AVMutableComposition *mixcomposition=[AVMutableComposition composition];
AVMutableCompositionTrack *track1=[mixcomposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
[track1 insertTimeRange:CMTimeRangeMake(kCMTimeZero, video1.duration) ofTrack:[[video1 tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]
atTime:kCMTimeZero error:nil];
AVMutableCompositionTrack *track2=[mixcomposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
[track2 insertTimeRange:CMTimeRangeMake(kCMTimeZero, video2.duration) ofTrack:[[video2 tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]
atTime:kCMTimeZero error:nil];
有人能帮我吗?现在你有了两首歌的
AVMutableComposition
s,你需要创建--
-avmutablevideocompositionlayerlinstruction
用于这两种格式
- 为对象将为的合并曲目创建
在由AVMutableVideoCompositionInstruction
第一和第二轨道avmutablevideocompositionlayerlinstruction
- 为合并的轨迹对象创建
,并提供上述内容AVMutableVideoComposition
AVMutableVideoCompositionInstruction
这个方法来自于link的一个非常好的教程。很好地解决了这个问题。它很有效!!!但我在方向上遇到了问题…视频方向设置为横向,这是AVAsset的默认设置。我使用了你的链接提供的教程,但是方向问题来了。你能帮我摆脱这个困境吗?很高兴能帮我…如果没有任何效果,那么你可以尝试在AVPlayerLayer上“转换”属性,根据设备方向进行转换(CGAfflineTransform)。谢谢你的代码!哦,等等,你没有留下任何-1因为对于某些开发人员来说,方向已经足够了。