3

This question is about Apple's new ARKit framework introduced with iOS 11:

Is there a way to configure the captured video quality while using an ARSession? It seems to default to 1280x720 - which looks pretty bad, especially on an iPad. I'd love to change this to 1080p or 4k.

If this isn't possible, is there any way to use ARKit by providing a custom video stream?

Hundley
  • 3,167
  • 3
  • 23
  • 45

1 Answers1

7

Nope, and nope.

ARKit owns and entirely controls its underlying video capture session. It's hard to know why, but there are some likely guesses... to ensure that it gets video samples in a format and rate that works well for the computer vision work it does to provide world tracking. And/or to make sure said work is done efficiently enough to leave headroom for your app to do awesome things with SceneKit, Metal, etc. And/or to make world tracking performance/accuracy consistent across all supported hardware.

More capture session flexibility might be a good feature request to send to Apple, though.

rickster
  • 124,678
  • 26
  • 272
  • 326
  • Thanks for your answer. That's unfortunate, but I'll definitely be filing a report! – Hundley Jun 17 '17 at 04:28
  • @Rickster: Did Apple share this info, or how did you come to this conclusion? – Christopher Oezbek Jun 18 '17 at 20:16
  • 3
    As a note to future onlookers: I wanted to dig deeper, so I did a full header dumb of iOS 11 and looked closely at ARKit. Based on the headers, it seems unlikely that video customization will be possible in the near future, as the private APIs don't even appear to support it. The closest I got was extracting the underlying AVCaptureSession and changing the video settings, but this just crashes the application. – Hundley Jun 19 '17 at 16:46
  • 2
    @hundley could you share how did you extract the AVCaptureSession, please? – user1791567 Jul 06 '17 at 05:49