2013-08-02 3 views
2

Я хочу реализовать эффект размытия для видео. Для воспроизведения видео я использую MPMoviePlayerViewController. Но, я не знаю, как реализовать эффект размытия для фильма. Я попытался наложить изображение размытия над фильмом, чтобы реализовать эффект размытия, но это невозможно. При воспроизведении видеоролика оно должно меняться в реальном времени. Я обнаружил, что библиотеки реализуют эффект размытия изображения, но не могут найти библиотеку для применения эффекта размытия к видео с помощью realtime. Я использую mp4-файл для эффекта размытия. Я попытался использовать инфраструктуру GPUImage, но она не работает точно. Как это реализовать? Пожалуйста, помогите мне. Спасибо.Файл фильма Blur effect

enter image description here

ответ

1

Я считаю GPUImage от Брэда Ларсона является лучшим способом для достижения.

Ниже приводится выдержка из страницы GitHub из GPUImage

//Filtering live video 

//To filter live video from an iOS device's camera, you can use code like the following: 

GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack]; 
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait; 

GPUImageFilter *customFilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"CustomShader"]; 
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, viewWidth, viewHeight)]; 

// Add the view somewhere so it's visible 

[videoCamera addTarget:customFilter]; 
[customFilter addTarget:filteredVideoView]; 

[videoCamera startCameraCapture]; 

С GPUImage имеет открытый код, вы можете открыть GPUImageVideoCamera класс и изучать ту часть, где выполнять прямую фильтрацию видеоданных. Затем используйте фреймворк Apple CoreVideo, чтобы захватить видеоданные воспроизводимого видеоролика и сделать для этого часть GPUImage.

Иногда коды котельной плиты недоступны, но всегда есть выход. Удачи. :)

+0

но, рамки не работают. он падает. Поэтому я не могу использовать фреймворк. –

+0

Пройдите еще один процесс импорта GPUImage. Это работает очень хорошо. Я использовал его. :) – CodenameLambda1

Смежные вопросы