Latest 1.6.0
Homepage https://github.com/svtek/SceneKitVideoRecorder
License MIT
Platforms ios 10.0
Dependencies BrightFutures
Frameworks Metal, CoreGraphics, QuartzCore
Authors

SceneKitVideoRecorder

Version
Downloads
License
Platform
Build Status

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Apps using SceneKitVideoRecorder

Surreal AR
Arrow

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
Twitter Dribble Github

Sahin Boydas

Co-Founder @ MojiLaLa
LinkedIn

Inspired from

noppefoxwolf, [email protected]

License

SceneKitVideoRecorder is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "SceneKitVideoRecorder",
    "version": "1.6.0",
    "summary": "Record videos of SceneKit and ARKit",
    "description": "SceneKitVideoRecorder records videos of SceneKit and ARKit.nIt supports iOS10 or later on Metal supported devices.",
    "homepage": "https://github.com/svtek/SceneKitVideoRecorder",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "okaris": "[email protected]"
    },
    "social_media_url": "http://twitter.com/okarisman",
    "source": {
        "git": "https://github.com/svtek/SceneKitVideoRecorder.git",
        "tag": "1.6.0"
    },
    "platforms": {
        "ios": "10.0"
    },
    "source_files": "SceneKitVideoRecorder/Classes/**/*",
    "exclude_files": "Classes/Exclude",
    "frameworks": [
        "Metal",
        "CoreGraphics",
        "QuartzCore"
    ],
    "dependencies": {
        "BrightFutures": []
    }
}

Pin It on Pinterest

Share This