VKit Overview

The purpose of VKit is to provide you an easy way to integrate video playback, recording, and storage for your app.

We provide this simplicity through the following few classes:

Class Purpose
VKAccount Main facility in configuring account session
VKVideoStore Provides access to the videos in your application
VKVideoPlaylist A collection of queried videos
VKVideoObject Video object used and stored by VKit
VKPlayerViewController Video player used to play videos from
VKPlayersManager Video players manager to easily prepare videos for custom playback approach
VKRecorderViewController Video recorder used to record videos to be stored onto
VKLiveStreamViewController Live stream controller to perform live streaming and saving stream to


This class provides the central control over a session on You can do the following within this class:


This class provides access to the entire video collection container for your app. It provides facilities to both query and delete videos.


This object represents a collection of videos that represents a certain set of metadata and tags.

You use tags to indicate words that are associated with the video. For example a birthday video may have tags like birthday, candle, cake.

As for metadata you would use it indicate specific information for your own implementation processing. It is a dictionary of [String:String]. For example you may want to indicate the version of your app that the video was taken with like "AppVersion":"2.5".


This data objects represents a single video. It is the object that the player uses to play a video and also the object which is returned when the recorder has recorded a video.

Each video has information with regards to tags and metadata associated with it.


The player allows you to play videos with zero-latency using smart preloading, adaptive bitrates and advanced fetching mechanisms. It could take in a single VKVideoObject, VKVideoPlaylist or list of video ids to play.


Players manager created for more specific use case when single view player doesn't work for you. This component handles loading, caching and pre-rendering for you, you only need to provide list of video ids you want to play and get prepared player instance.


We provide this recorder to embed into your UI in order to provide video recording capabilities. It provides instant uploading experience due to advanced uploading while recording mechanism, has reach editing tools and can be easily customized.


Live stream component gives you ability to perform high quality broadcasting that adopts to diverse wireless condition, has sub 2 seconds latency and can scale to millions of viewers.

For more information about the framework, please head to the API Reference site.