【问题标题】:Can i set frame on video with GPUImage?我可以使用 GPUImage 在视频上设置帧吗?
【发布时间】:2012-07-06 12:00:51
【问题描述】:

我有一个本地视频文件,现在我在 GPUImage 库的帮助下应用了过滤器, 这是使用 GPUImage 制作过滤视频的代码

movieFile = [[GPUImageMovie alloc] initWithURL:sampleURL];
pixellateFilter = [[GPUImagePixellateFilter alloc] init];
GPUImageRotationFilter *rotationFilter = [[GPUImageRotationFilter alloc] initWithRotation:kGPUImageRotateRight];

[movieFile addTarget:rotationFilter];
[rotationFilter addTarget:pixellateFilter];

NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.m4v"];
unlink([pathToMovie UTF8String]);
NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];

movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(480.0, 640.0)];
[pixellateFilter addTarget:movieWriter];

[movieWriter startRecording];
[movieFile startProcessing];

[pixellateFilter removeTarget:movieWriter];
[movieWriter finishRecording];

现在我想在这个视频文件上应用帧,我的意思是我已经获取了视频文件的 naturalSize。并希望在此视频文件上应用带有 naturalSize 的帧。

我该怎么办?有可能吗?

问候,

********* 解决了********* 根据我的限制,在视频上添加 GPUImage 无法实现的图像.. 非常感谢link

【问题讨论】:

标签: iphone objective-c avfoundation video-processing gpuimage


【解决方案1】:

是的,您可以通过以下代码获取视频文件的自然大小.. by @mayur-shrivas 根据GPUImage : Apply filer to existing video file

AVURLAsset *asset = [AVURLAsset URLAssetWithURLNSURL fileURLWithPath:pathToMovie] options:nil];
AVAssetTrack *videoAssetTrack = [[asset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(videoAssetTrack.naturalSize.width, videoAssetTrack.naturalSize.height)];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-04
    • 2013-02-26
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    相关资源
    最近更新 更多