小编Jas*_*ang的帖子

在 iOS 中的视频上添加 GIF 水印

我需要完成这个功能:一个视频上有一个GIF叠加,希望能把这个视频和GIF合成一个新的视频。我正在使用以下代码,但结果只是没有 GIF 的视频:

- (void)mixVideoAsset:(AVAsset *)videoAsset {

    LLog(@"Begining");

    NSDate * begin = [NSDate date];

    // 2 - Create AVMutableComposition object. This object will hold your AVMutableCompositionTrack instances.
    AVMutableComposition *mixComposition = [[AVMutableComposition alloc] init];

    // 3 - Video track
    AVMutableCompositionTrack *videoTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo
                                                                        preferredTrackID:kCMPersistentTrackID_Invalid];
    [videoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration)
                        ofTrack:[[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]
                         atTime:kCMTimeZero error:nil];

    // - Audio
    AVMutableCompositionTrack *audioCompositionTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
    AVAssetTrack *audioTrack = [[videoAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
    [audioCompositionTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, audioTrack.timeRange.duration) ofTrack:audioTrack atTime:kCMTimeZero error:nil];

    // 3.1 - Create AVMutableVideoCompositionInstruction
    AVMutableVideoCompositionInstruction *mainInstruction …
Run Code Online (Sandbox Code Playgroud)

video gif avfoundation calayer ios

5
推荐指数
1
解决办法
2549
查看次数

标签 统计

avfoundation ×1

calayer ×1

gif ×1

ios ×1

video ×1