I really stucked with that problem, because I haven\'t seen enough information in the internet regarding video encoding in iOS, however we can observe plenty of apps that de
After googling and making some research in this area, I found this one library http://www.foxitsolutions.com/iphone_h264_sdk.html. They really use hardware encoding. I've examined demo example with instruments, and they showed me that while encoding, ~12% cpu is used and syscall read()
constantly called. From that I can conclude, that their library uses standard AVFoundation's AVAssetWriter
to write into the temporary file, and (most probably) concurrent thread is used to read this temp file for retrieving encoded frames.
Also, take a look at http://www.videolan.org/developers/x264.html. It is under GPL, but still can be useful.