Latest 1.0.3
License MIT
Platforms ios 6.0

Library iOS video picker using AVCapturexxxx libraries


  • 264 / AAC video and audio hardware accelerated encoding
  • return mp4 frames
  • including flv packetizer

Getting Started

Install the Prerequisites

  • OS X is requried for all iOS development
  • XCODE from the App Store.
  • GIT is required.
  • CocoaPods is required for the iOS dependency management. You should have ruby installed on your machine before install CocoaPods

Install the library

Source code for the SDK is available on GitHub

$ git clone [email protected]:ifactorylab/IFVideoPicker.git

Run CocoaPods

CocoaPods installs all dependencies for the library project

$ cd IFVideoPicker
$ pods install
$ open IFVideoPicker.xcodeproj

Add IFVideoPicker to your project

Create a Podfile if not exist, add the line below

pod 'IFVideoPicker',   '~> 1.0.2'


IFVideoPickerDemo demonstrates how the library works.

Capture video

#import "IFVideoPicker.h"
#import "MP4Reader.h"

// Create Audio AAC codec with 64kbps and samplerate 44100
IFAudioEncoder *ae = 
  [IFAudioEncoder createAACAudioWithBitRate:64000 sampleRate:44100];

// Create Video H264 codec with 500kbps and 512x288
CMVideoDimensions dimensions;
dimensions.width = 512;
dimensions.height = 288;

IFVideoEncoder *ve =
  [IFVideoEncoder createH264VideoWithDimensions:dimensions

[videoPicker_ startCaptureWithEncoder:ve
                         captureBlock:^(NSArray *frames, NSData *buffer) {
                        // Captured MP4 frames are coming
                        NSLog(@"buffer: %d bytes, with %d frames", [buffer length], [frames count]);
                    } metaHeaderBlock:^(MP4Reader *reader) {}
                        // MP4 moov header coming
                       } failureBlock:^(NSError *error) {
                        // Failed to capture video / audio chunk


[email protected]

Latest podspec

    "name": "IFVideoPicker",
    "version": "1.0.3",
    "license": "MIT",
    "summary": "Library iOS video picker using AVCapturexxxx libraries.",
    "homepage": "",
    "authors": {
        "Min Kim": "[email protected]"
    "source": {
        "git": "",
        "tag": "1.0.3",
        "submodules": true
    "requires_arc": false,
    "platforms": {
        "ios": "6.0"
    "public_header_files": [
    "source_files": "IFVideoPicker/IF{*}.{h,m}",
    "ios": {
        "frameworks": [
    "subspecs": [
            "name": "MP4",
            "source_files": "IFVideoPicker/MP4{*}.{h,m}"
            "name": "H264",
            "source_files": "IFVideoPicker/NALUnit.{h,m}"
            "name": "FLV",
            "source_files": "IFVideoPicker/FLV{*}.{h,m}"
            "name": "NSData",
            "source_files": [

Pin It on Pinterest

Share This