Library iOS video picker using AVCapturexxxx libraries
- 264 / AAC video and audio hardware accelerated encoding
- return mp4 frames
- including flv packetizer
- 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
Source code for the SDK is available on GitHub
$ git clone git@github.com:ifactorylab/IFVideoPicker.git
CocoaPods installs all dependencies for the library project
$ cd IFVideoPicker
$ pods install
$ open IFVideoPicker.xcodeproj
Create a Podfile if not exist, add the line below
pod 'IFVideoPicker', '~> 1.0.2'
IFVideoPickerDemo demonstrates how the library works.
#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
bitRate:500000
maxKeyFrame:200];
[videoPicker_ startCaptureWithEncoder:ve
audio:ae
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
}];