2016-10-15 1 views
0

신속하게 PBJVideoPlayer 포드를 사용하는 재생에서 비디오에 흑백 효과를 추가하려고합니다. 사용자가 필터를 적용하기 위해 버튼을 탭할 수 있도록 설정했습니다. AVVIdeoComposition의 아날로그가 포드에 어떤 것이 될지 확신 할 수 없기 때문에 내 문제가 발생한다고 생각합니다. 모든 통찰력은 인정 될 것이다.신속한 PBJVideoPlayer 포드를 사용하여 PhotoEffectNoir 필터 적용

@IBAction func filterTapped(sender: UIButton) { 


    switch self.media! { 
    case .Photo(let image): self.blackAndWhiteFilterForImage(image) 

    case .Video(let url): self.createBlackAndWhiteFilterForVideo(url) 

    } 




} 


func createBlackAndWhiteFilterForVideo(url: NSURL){ 

     //B&W Filter for Video 

     let asset = AVAsset(URL: url) 
     let filter = CIFilter(name: "CIPhotoEffectNoir")! 
     let composition = AVVideoComposition(asset: asset, applyingCIFiltersWithHandler: { request in 

      // Clamp to avoid blurring transparent pixels at the image edges 
      let source = request.sourceImage.imageByClampingToExtent() 
      filter.setValue(source, forKey: kCIInputImageKey) 

      // Vary filter parameters based on video timing 
      let seconds = CMTimeGetSeconds(request.compositionTime) 
      filter.setValue(seconds * 10.0, forKey: kCIInputRadiusKey) 

      // Crop the blurred output to the bounds of the original image 
      let output = filter.outputImage!.imageByCroppingToRect(request.sourceImage.extent) 

      // Provide the filter output to the composition 
      request.finishWithImage(output, context: nil) 


     }) 
     //Everything below this code is where I am unsure how to proceed 
     let playerItem = playerController.asset 
    print(playerItem) 

    /* 

     playerItem.comp 

     let player = AVPlayer(playerItem: playerItem) 


     player.play() 

    */ 


} 

답변

0

동영상에 CIPhotoEffect 개를 적용하는 데 문제가있었습니다. 다른 필터는 잘 작동하는 것 같습니다.