To run the example project, clone the repo, and run pod install from the Example directory first.
Send a PR to add your app here
SceneKitVideoRecorder is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'SceneKitVideoRecorder'To install Swift 4 branch add the following line to your Podfile:
pod 'SceneKitVideoRecorder', :git => 'https://github.com/svtek/SceneKitVideoRecorder.git', :branch => 'swift4'Add NSMicrophoneUsageDescription to info.plist
Add below code to your view controller
var recorder: SceneKitVideoRecorder?
override func viewDidLoad() {
  super.viewDidLoad()
  ...
  recorder = try! SceneKitVideoRecorder(withARSCNView: sceneView)
}
@IBAction func startRecording (sender: UIButton) {
  self.recorder?.startWriting().onSuccess {
    print("Recording Started")
  }
}
@IBAction func stopRecording (sender: UIButton) {
  self.recorder?.finishWriting().onSuccess { [weak self] url in
    print("Recording Finished", url)
  }
}
Here is a piece of Apple sample code
 if let camera = sceneView.pointOfView?.camera {
  camera.wantsHDR = true
  camera.wantsExposureAdaptation = true
  camera.exposureOffset = -1
  camera.minimumExposure = -1
}
The line camera.wantsHDR = true and camera.wantsExposureAdaptation = true causes a huge drop in video recording performance. You should remove or disable it for video recording.
| Omer Karisman Product Manager @ MojiLaLa     ![]()  | 
![]()  | 
Sahin Boydas Co-Founder @ MojiLaLa  | 
|---|
noppefoxwolf, [email protected]
SceneKitVideoRecorder is available under the MIT license. See the LICENSE file for more info.




