Оказалось, что это было не так сложно, перераспределив часть кода из GPUImage3 Вход камеры, я заставил его работать. Теперь с этим может быть какая-то очевидная проблема, но, похоже, она работает до сих пор
let device = videoCamera
if ((device?.inputCamera.activeFormat.isVideoStabilizationModeSupported(AVCaptureVideoStabilizationMode.standard))!){
var captureConnection: AVCaptureConnection!
if #available(iOS 13.0, *) {
for connection in (device?.captureSession.connections)! {
for port in connection.inputPorts {
if port.mediaType == AVMediaType.video {
captureConnection = connection
captureConnection.preferredVideoStabilizationMode = .standard
print("capture connection from within startStabilization is \(String(describing: captureConnection))")
print("preferred video stab mode set to on")
let currentStabMode = captureConnection.activeVideoStabilizationMode.rawValue
print("active stabilization mode from startStabilization is \(currentStabMode)")
}
}
}
} else {
// put in warning pop up if stabilization not available
print("startStabilization failed")
}
}