Разрешение AVCaptureVideoDataOutput - PullRequest
0 голосов
/ 06 апреля 2019

Я пытаюсь указать размер вывода 960x720 в настройках видео. Однако, это не похоже на работу.

self.videoDataOutput = AVCaptureVideoDataOutput()  
if self.session.canAddOutput(self.videoDataOutput!) {  
    self.session.addOutput(videoDataOutput!)   
    self.videoDataOutput!.videoSettings = [kCVPixelBufferPixelFormatTypeKey: Int(kCVPixelFormatType_32BGRA),  
                                           kCVPixelBufferHeightKey: 960,  
                                           kCVPixelBufferWidthKey: 720] as [String : Any]  

}  

Есть ли другой способ получить видеоданные с меньшим разрешением?

1 Ответ

1 голос
/ 06 апреля 2019

Извините, вы должны придерживаться любой из этих предустановок

https://developer.apple.com/documentation/avfoundation/avcapturesession/preset

или используйте эту библиотеку для масштабирования

https://github.com/NextLevel/NextLevelSessionExporter

И это соответствующая часть

let exporter = NextLevelSessionExporter(withAsset: asset) 
exporter.videoOutputConfiguration = [
    AVVideoCodecKey: AVVideoCodec.h264,
    AVVideoWidthKey: NSNumber(integerLiteral: 720),
    AVVideoHeightKey: NSNumber(integerLiteral: 960),
    AVVideoScalingModeKey: AVVideoScalingModeResizeAspectFill,
    AVVideoCompressionPropertiesKey: compressionDict
]
...