miliPolo / ARVideoKit

Capture & record ARKit videos πŸ“Ή, photos πŸŒ„, Live Photos πŸŽ‡, and GIFs πŸŽ†.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

intro image

An iOS Framework that enables developers to capture videos πŸ“Ή, photos πŸŒ„, Live Photos πŸŽ‡, and GIFs πŸŽ† with ARKit content.

In other words, you NO LONGER have to screen record/screenshot to capture videos πŸ“Ή and photos πŸŒ„ of your awesome ARKit apps!

Table of Contents Description
Documentation Describes the configuration options ARVideoKit offers
Preview Displays 2 GIF images captured using the supported gif method in ARVideoKit
Key Features Lists the key features ARVideoKit offers
Compatibility Describes the ARVideoKit device and iOS compatibality
Example Projects Explains how to run the example project provided in this repository
Installation Describes the Manual option to install ARVideoKit
Implementation Lists the steps needed for Objective-C & Swift, notes, and reference for more options
Publishing to the App Store Describes the steps required before submitting an application using ARVideoKit to the App Store.
Donate Donations will support me to keep maintaining ARVideoKit ❀️
Contributions Describes how you can contribute to this project
License Describes ARVideoKit license
AppCoda Tutorial Check out a detailed tutorial about implementing ARVideoKit with SpriteKit ☺️

Preview

πŸ‘Ύ Initialized with SpriteKitπŸ‘‡ πŸš€ Initialized with SceneKit πŸ‘‡
SpriteKit Preview SceneKit Preview

Key Features

βœ… Capture Photos from ARSCNView and ARSKView

βœ… Capture Live Photos & GIFs from ARSCNView and ARSKView

βœ… Record Videos from ARSCNView and ARSKView

βœ… Pause/Resume video

βœ… Allow device's Music playing in the background while recording a video

βœ… Returns rendered and raw buffers in a protocol method for additional Image & Video processing

Compatibility

ARVideoKit is compatible on iOS devices that support both ARKit and Metal. Check Apple's iOS Device Compatibility Reference for more information.

ARVideoKit requires:

  • iOS 11
  • Swift 3.2 or higher

Example Projects

To try the example project, simply clone this repository and open the Examples folder to choose between the Objective-C and Swift project files.

Installation

Manual

Drag the ARVideoKit.framework file as an embedded binary of your project targets. ARVideoKit.framework can be found in the /Framework Build/ folder of this repository. Tutorial

Or you may drag ARVideoKit.xcodeproj into your project and click the + button in the embedded binaries section of your project's target. example embed framework

Implementation

Swift

Click here to check the Swift implementation steps.

Objective-C

Click here to check the Objective-C implementation steps.

NOTE

Make sure you add the usage description of the camera, microphone, and photo library in the app's Info.plist.

<key>NSCameraUsageDescription</key>
<string>AR Camera</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Export AR Media</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Export AR Media</string>
<key>NSMicrophoneUsageDescription</key>
<string>Audiovisual Recording</string>

Info Plist Screenshot

You're all set. πŸ€“

Check RecordAR documentation for more options!

Publishing to the App Store

Before publishing to the App Store make sure to add the ARVideoKit License to your app licences list.

Additionally, if you are using the binary build from Framework Build or the latest release, you MUST strip out the simulator architectures from the framework before pushing an application to the App Store.

To do so, follow those steps:

  1. Install Carthage

Download Carthage.pkg from here

Or install with Homebrew using this command brew install carthage

  1. Go to your project target's Build Phase

screen shot 2017-11-14 at 8 21 44 pm

  1. Add a new Run Script Phase

screen shot 2017-11-14 at 8 22 14 pm

  1. Add the following command to the Run Script Phase
/usr/local/bin/carthage copy-frameworks

screen shot 2017-11-14 at 8 30 12 pm

  1. Finally, add ARVideoKit.framework file path as an Input File. In my case, I have it in a folder named Frameworks inside my project folder

screen shot 2017-11-14 at 8 41 06 pm

Donate

Donations will support me to keep maintining ARVideoKit Framework ❀️

Donate

Contributions

If you have an idea for a new ARVideoKit feature/functionality and want to add it to this repository, feel free to fork the project and create a pull request!

Also, feel free to create an issue if you have any suggestions or need any help ☺️

Copyright 2017 Ahmed Fathi Bekhit, www.ahmedbekhit.com, me@ahmedbekhit.com

ARVideoKit is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Capture & record ARKit videos πŸ“Ή, photos πŸŒ„, Live Photos πŸŽ‡, and GIFs πŸŽ†.

License:Apache License 2.0


Languages

Language:Swift 75.7%Language:Objective-C 24.3%