Programming language: Swift
License: Apache License 2.0
Tags: Augmented Reality    
Latest version: v1.51

ARVideoKit alternatives and similar libraries

Based on the "Augmented Reality" category.
Alternatively, view ARVideoKit alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of ARVideoKit or a related project?

Add another 'Augmented Reality' Library


Use swift_4_2 branch for projects written in Swift 4.2

Use master branch for projects written in Swift 4.0


Chemical Wedding

Chemical Wedding


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 Cocoapods, Carthage & Manual options 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 ❀️
Sponsors Featuring the sponsors of this project
Contributions Describes how you can contribute to this project
Apps using ARVideoKit A list of published applications using ARVideoKit
License Describes ARVideoKit license
AppCoda Tutorial Check out a detailed tutorial about implementing ARVideoKit with SpriteKit ☺️


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

Key Features

βœ… Capture Photos from ARSCNView, ARSKView, and SCNView

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

βœ… Record Videos from ARSCNView, ARSKView, and SCNView

βœ… 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


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.



  1. Add this line to your project's Podfile (for Swift 5.0) ``` pod 'ARVideoKit', '~> 1.5.51'
2. Install the pod

$ pod install

### Carthage
1. Add this line to your project's `Cartfile`

github "AFathi/ARVideoKit" ~> 1.31

2.  Update your Carthage directory

$ carthage update

### Swift Package Manager (available Xcode 11.2 and forward)

1. In Xcode, select File > Swift Packages > Add Package Dependency.
2. Follow the prompts using the URL for this repository.

### Manual
Drag `ARVideoKit.xcodeproj` into your project and click the **+** button in the embedded binaries section of your project's target.
![example embed framework](http://www.ahmedbekhit.com/embeddedBinary.png)
## Implementation
### Swift
[Click here to check the Swift implementation steps.](https://github.com/AFathi/ARVideoKit/tree/master/Examples/Swift)
### Objective-C
[Click here to check the Objective-C implementation steps.](https://github.com/AFathi/ARVideoKit/tree/master/Examples/Objective-C)

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

NSCameraUsageDescription AR Camera NSPhotoLibraryAddUsageDescription Export AR Media NSPhotoLibraryUsageDescription Export AR Media NSMicrophoneUsageDescription Audiovisual Recording

![Info Plist Screenshot](http://www.ahmedbekhit.com/infoPlistUsage.png)

### You're all set. πŸ€“
Check [`RecordAR`](https://github.com/AFathi/ARVideoKit/wiki/RecordAR) documentation for more options!

## Publishing to the App Store
Before publishing to the App Store make sure to add the [ARVideoKit License](#license) to your app licences list.

1. Build ARVideoKit for release
> Open ARVideoKit.xcodeproj

> Select ARVideoKitRelease scheme with Generic iOS Device

> Build the project (cmd + B)

> Right click on Products/ARVideoKit.framework -> Show in finder

> Copy and replace ARVideoKit.framework in your project 

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:

2. Install Carthage
> Download `Carthage.pkg` [from here](https://github.com/Carthage/Carthage/releases)

> Or install with Homebrew using this command `brew install carthage` 
3. Go to your project target's `Build Phase`
<img width="684" alt="screen shot 2017-11-14 at 8 21 44 pm" src="https://user-images.githubusercontent.com/4106695/32813978-e70ae5a0-c97a-11e7-9d19-3ef434e4c4f1.png">

4. Add a new `Run Script Phase`
<img width="686" alt="screen shot 2017-11-14 at 8 22 14 pm" src="https://user-images.githubusercontent.com/4106695/32814003-0ab4cffc-c97b-11e7-97d0-cf3143afec6d.png">

5. Add the following command to the `Run Script Phase`

/usr/local/bin/carthage copy-frameworks

<img width="676" alt="screen shot 2017-11-14 at 8 30 12 pm" src="https://user-images.githubusercontent.com/4106695/32814033-3302bece-c97b-11e7-867c-e8707ac7dd6b.png">

6. 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
<img width="672" alt="screen shot 2017-11-14 at 8 41 06 pm" src="https://user-images.githubusercontent.com/4106695/32814258-327bd048-c97c-11e7-8148-8d606d545214.png">

## Donate
Donations will support me to keep maintining **ARVideoKit Framework** ❀️

[![Donate](https://www.paypalobjects.com/webstatic/en_US/i/btn/png/btn_donate_92x26.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&[email protected]&item_name=Support+ARVideoKit+Developer&item_number=ARVideoKit+Framework+Donations&amount=0%2e00&currency_code=USD)

## 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 ☺️

## Apps using ARVideoKit
| App  |  Description   |
| ------------------ |:------------------:|
| [Pathica](https://apps.apple.com/us/app/pathica/id1564780182) | The first proof of the theory of "six degrees of separation" which is the idea that any two people on the planet can be connected through five or fewer individuals. |
| [Our SolAR](https://itunes.apple.com/app/id1267675913) | An app that allows you to see our Solar System anywhere at all! |
| [In The Walls](https://apps.apple.com/us/app/id1522257130) | Uses real time face tracking and AR to put your face in any real world wall! |
| [ScribScrab](https://apps.apple.com/in/app/scribscrab/id1339432955) | ScribScrab is a tool for creativity. You’re only limited to your imagination and your battery life. |

_Feel free to add your application to this list!_
## License
### ARVideoKit Framework
Copyright 2018 Ahmed Fathi Bekhit, www.ahmedbekhit.com, [email protected]

`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


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.

### ARVideoKit Logo & Header
Designed by [**Gabriel Garcia**](https://github.com/ggabogarcia) and licensed under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/)

*Note that all licence references and agreements mentioned in the ARVideoKit README section above are relevant to that project's source code only.