2016-09-21 11 views
3

ios10ではビデオキャプチャを取得したいのですがエラーが発生しました。 "[CIImage initWithCVPixelBuffer:options:]ピクセルフォーマットp422サポートされていません。"CIImage initWithCVPixelBuffer:options:"ピクセルフォーマットp422がiOS 10でサポートされていないために失敗しました

私のコードは以下です:

func previewImage(handle: (image: UIImage?) -> Void) { 
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {() -> Void in 
      dispatch_async(dispatch_get_main_queue(), {() -> Void in 
       guard let time = self.player?.currentTime() else { 
        return 
       } 
       guard let pixelBuffer = self.output?.copyPixelBufferForItemTime(time, 
        itemTimeForDisplay: nil) else { 
         return 
       } 
       let ciImage = CIImage(CVPixelBuffer: pixelBuffer) 
       let temporaryContext = CIContext(options: nil) 
       let rect = CGRectMake(
        0, 
        0, 
        CGFloat(CVPixelBufferGetWidth(pixelBuffer)), 
        CGFloat(CVPixelBufferGetHeight(pixelBuffer)) 
       ) 

       let image: UIImage? 
       if let videoImage = temporaryContext.createCGImage(ciImage, fromRect: rect) { 
        image = UIImage(CGImage: videoImage) 
       } 
       else { 
        image = nil 
       } 
       handle(image: image) 
      }) 
     }) 

    } 

は、このようなエラーが出る:

enter image description here

私は何をすべき?

答えて

2

AVPlayerItemVideoOutputの設定方法を教えてください。

kCVPixelFormatType_420YpCbCr8BiPlanarFullRangekCVPixelFormatType_32BGRAのような互換性の高いものの代わりに、4:2:2形式のもの(未知数、p422?)を使用しているようです。

関連する問題