- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的项目中添加了用于视频编辑的 gpuimage 框架,但它无法播放干净的视频(根据屏幕截图)我检查了 gpuimage 框架中的示例,即“SimpleVideoFileFilter”, 但它也有同样的问题,音频干净,易于保存(此处未显示电影编剧代码)我检查了不同的视频格式,即“mp4”、“mov”、“m4v”,但有同样的问题
我的代码在下面,
.h文件
#import <UIKit/UIKit.h>
#import <GPUImage.h>
#import <AVFoundation/AVFoundation.h>
@interface ViewController : UIViewController<GPUImageMovieDelegate>
@end
后面是.m文件
#import "ViewController.h"
@interface ViewController ()
{
GPUImageMovie *movieFile;
GPUImageOutput<GPUImageInput> *filter;
GPUImageMovieWriter *movieWriter;
}
@property (nonatomic,strong) GPUImageView *gpuImageViewObj;
@property (nonatomic,strong) AVPlayer *player;
@property (nonatomic,strong) AVPlayerItem *playerItem;
@end
@implementation ViewController
@synthesize gpuImageViewObj,player,playerItem;
- (void)viewDidLoad
{
[super viewDidLoad];
gpuImageViewObj = [[GPUImageView alloc] initWithFrame:CGRectMake(0, 0, 568, 320)];
[self.view addSubview:gpuImageViewObj];
[self try128];
}
-(void)try128{
//AVplayer
NSURL *sampleURL = [[NSBundle mainBundle] URLForResource:@"Sample" withExtension:@"m4v"];
playerItem = [[AVPlayerItem alloc]initWithURL:sampleURL];
player = [[AVPlayer alloc ]initWithPlayerItem:playerItem];
[player play];
//GPUImage movie
movieFile = [[GPUImageMovie alloc] initWithPlayerItem:playerItem];
// movieFile.runBenchmark = YES;
movieFile.playAtActualSpeed = YES;
movieFile.delegate = self;
//filter
filter = [[GPUImageFilter alloc] init];
[filter forceProcessingAtSize:gpuImageViewObj.sizeInPixels];
[movieFile addTarget:filter];
[filter addTarget:gpuImageViewObj];
[movieFile startProcessing];
player.actionAtItemEnd = AVPlayerActionAtItemEndNone;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didCompletePlayingMovie)
name:AVPlayerItemDidPlayToEndTimeNotification
object:nil];
}
#pragma mark - GPUImageMovieDelegate
-(void)didCompletePlayingMovie
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:AVPlayerItemDidPlayToEndTimeNotification object:nil];
[filter removeTarget:movieWriter];
// [movieFile endProcessing]; //not needed
NSLog(@"finish............");
}
#pragma mark -GPUImageMovieWriterDelegate
- (void)movieRecordingCompleted{
NSLog(@"movieRecordingCompleted called...");
// [movieWriter finishRecording];
}
- (void)movieRecordingFailedWithError:(NSError*)error{
NSLog(@"movieRecordingFailedWithError called...");
}
我的 o/p 图片
最佳答案
我猜您正试图在模拟器中运行它,而不是在实际设备上运行。电影播放从未在模拟器上正常运行,这就是其中之一。
相反,在实际的 iOS 硬件上进行开发。
关于ios - 通过 GPUImageMovie 的视频过滤器无法播放干净的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24285979/
我正在尝试控制 GPUImageMovie 的播放。我想要存档的是从一帧跳转到另一帧(来回查找时间,滑动控制),而不是播放视频,但我不明白它的组件是否是为此用途而设计的。 GPUImageMovie
我正在使用 GPUImage 转换电影。 如何在 GPUImageMovie 中将开始时间设置为 15 秒,将结束时间设置为 20 秒? startTime 或 endTime 是不同的。 最佳答案
我正在使用 Brad Larson 的优秀图书馆 GPUImage为我的申请。目前我遇到了一个问题。我的应用程序捕获 10 秒的视频,然后允许应用 filter。在 GPUImageMovie 中应用
我正在尝试使用一些 GPUImagePicture 作为纹理源以及用于过滤播放视频的片段着色器。 我能够以这种方式很好地处理静止图像,但我似乎无法弄清楚我缺少什么才能让它在 GPUImageMovie
我在我的项目中添加了用于视频编辑的 gpuimage 框架,但它无法播放干净的视频(根据屏幕截图)我检查了 gpuimage 框架中的示例,即“SimpleVideoFileFilter”, 但它也有
我正在使用 GPUImage 库来过滤视频(基于文件的输入)。我按照 https://github.com/BradLarson/GPUImage 的指示进行操作.不清楚的是如何跟踪 GPUImage
有没有办法检测 GPUImageMovie 何时完成处理?目前我不想保存电影,所以没有带有完成 block 的 GPUImageMovieWriter。 self.movieFile = [[GPUI
我正在使用正在播放电影文件的 GPUImageMovie,该文件是在 iOS 设备上录制的。 但是,当 GPUImageMovie 播放它时,它的方向错误,因此视频不会旋转以正确显示。 如何让它尊重它
我像这样通过 GPUImage 创建视频效果 self.overlayerView = [[GPUImageView alloc] init]; self.overlayerView.frame =
感谢您看到这个问题。 我从 GPUImageMovieComposition 和 GPUImageWriter 创建了一个电影,有时 (5% ~ 10%) 电影在开头有红框。 请教我为什么会出现这种现
这是我设置播放的方式: movie = GPUImageMovie(url: url) movie.playAtActualSpeed = true movie.delegate = self mov
我是一名优秀的程序员,十分优秀!