gpt4 book ai didi

iphone - 使用 GPUImage 编辑某些电影帧

转载 作者:行者123 更新时间:2023-12-03 20:07:18 26 4
gpt4 key购买 nike

我想使用 GPUImage 对电影的某些帧应用效果。我已经成功地为整个电影文件添加了效果,那么有没有办法在不同的帧上添加不同的效果?

例如,我想在5秒到10秒的视频上应用棕褐色效果。所以我需要 0-5 秒为原始视频,5-10 秒为棕褐色效果,10 秒为原始视频。

另外,我想使用 GPUImage 在某些帧上绘制文本/图像,可以吗?

任何回应将不胜感激。

最佳答案

您可以要求 MPMoviePlayerController 或 AVAssetImageGenerator 在您指定的时间生成缩略图。

iPhone Read UIimage (frames) from video with AVFoundation

AVAssetImageGenerator provides images rotated

如果您想要视频而不仅仅是帧,您可以修剪视频的一部分并对其应用效果。这会获取视频的 URL 并将其修剪到指定的时间。

    AVURLAsset *videoAsset = [AVURLAsset URLAssetWithURL:videoURL options:nil]; 
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:videoAsset presetName:AVAssetExportPresetHighestQuality];
exportSession.outputURL = [NSURL fileURLWithPath:outputURL];
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
CMTimeRange timeRange = CMTimeRangeMake(CMTimeMake(startMilliseconds, 1000), CMTimeMake(endMilliseconds - startMilliseconds, 1000));
exportSession.timeRange = timeRange;

[exportSession exportAsynchronouslyWithCompletionHandler:^{
switch (exportSession.status) {
case AVAssetExportSessionStatusCompleted:
///
// Call something to apply the effect
///
break;
case AVAssetExportSessionStatusFailed:
NSLog(@"Failed:%@", exportSession.error);
break;
case AVAssetExportSessionStatusCancelled:
NSLog(@"Canceled:%@", exportSession.error);
break;
default:
break;
}
}];

完成后,您将应用效果,如果您采用视频剪辑路线,则将它们组合起来并进行编码。

How to combine video clips with different orientation using AVFoundation

关于iphone - 使用 GPUImage 编辑某些电影帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10528183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com