2013-04-01 76 views

回答

4
GPUImageMovie* movieFile = [[GPUImageMovie alloc] initWithAsset:asset]; 
    GPUImageCropFilter *cropFilter = [[GPUImageCropFilter alloc] initWithCropRegion:CGRectMake(0.0, 0.1, 1.0, 0.8)]; 

    [movieFile addTarget:cropFilter]; 
    GPUImageMovieWriter* movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(320.0, 320.0)]; 

    [cropFilter addTarget:movieWriter]; 
    [movieWriter startRecording]; 
    [movieFile startProcessing]; 
    [movieWriter finishRecordingWithCompletionHandler:^{ 

       NSLog(@"Completed Successfully"); 
       [cropFilter removeTarget:movieWriter]; 
       [movieFile removeTarget:cropFilter]; 
    }]; 

其中

  • asset是输入的电影文件。
  • cropRegion是要裁剪的区域。
  • movieUrl是目标URL,即可保存剪裁的电影。
+0

我不知道这个库。非常感谢! :) – fsh

+0

我尝试了上面的方法,但它正在采取的很多时间。对于12秒播放影片时超过12秒,修剪......请让我知道是否有可用来提高速度的任何解决方案。 –

-1

我不认为这是可能没有一些应用程序的帮助,这样做,或者即使它可能与一个应用程序,你可以捕捉那么视频它裁剪到1:1

+0

非常感谢您快速响应! 你介意告诉我怎样裁剪视频吗? – fsh

+0

最简单和免费的我可以记得的是Youtube视频编辑器,你也可以在谷歌,长单上搜索作物视频。 :) –

5
AVCaptureVideoPreviewLayer *_preview = [AVVideoCaptureVideoPreviewLayer layerWithSession:_session]; 

_preview.frame = CGRectMake(0,0,320,320); 
_preview.videoGravity = AVLayerVideoGravityResizeAspectFill; 



NSDictionary *videoSettings = [NSDictionary dictionaryWithObjectsAndKeys: 
           AVVideoCodecH264, AVVideoCodecKey, 
           [NSNumber numberWithInt:320], AVVideoWidthKey, 
           [NSNumber numberWithInt:320], AVVideoHeightKey, 
           AVVideoScalingModeResizeAspectFill,AVVideoScalingModeKey, 
           nil]; 

self.videoInput = [AVAssetWriterInput assetWriterInputWithMediaType: AVMediaTypeVideo 
                outputSettings: videoSettings]; 


self.videoInput.transform = CGAffineTransformMakeRotation(M_PI); 
if([_writer canAddInput:_videoInput]) // AVAssetWriter *_writer 
    [_writer addInput:_videoInput]; 

注:

_preview的videoGravity和videoSettings AVVideoScalingModeKey应该是相同的,以获得输出320×320

+0

谢谢你的回答! – fsh

+0

以上编码中的自我是什么?请让我知道,因为我认为这是视频剪裁的正确解决方案。 –

+0

自我是我的自定义类无我有“CameraRecorder.h .M班”和我有一个属性AVAssetWriterInput * videoInput。 – arunit21