SceneKitVideoRecorder
November 26, 2020 ยท View on GitHub

SceneKitVideoRecorder
Example
To run the example project, clone the repo, and run pod install from the Example directory first.
Apps using SceneKitVideoRecorder
Send a PR to add your app here
Installation
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'
Usage
Add NSMicrophoneUsageDescription to info.plist
Add below code to your view controller
var recorder: SceneKitVideoRecorder?
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if recorder == nil {
var options = SceneKitVideoRecorder.Options.default
let scale = UIScreen.main.nativeScale
let sceneSize = sceneView.bounds.size
options.videoSize = CGSize(width: sceneSize.width * scale, height: sceneSize.height * scale)
recorder = try! SceneKitVideoRecorder(withARSCNView: sceneView, options: options)
}
}
@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)
}
}
Performance tips
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.
Author
| Omer Karisman Product Manager @ MojiLaLa ![]() | ![]() | Sahin Boydas Co-Founder @ MojiLaLa |
|---|
Inspired from
noppefoxwolf, noppelabs@gmail.com
License
SceneKitVideoRecorder is available under the MIT license. See the LICENSE file for more info.



