How do I use AVAssetWriter?

zoul picture zoul · Sep 16, 2010 · Viewed 22.1k times · Source

I’d like to take some video frames and encode them into a video. It looks like that’s exactly what AVAssetWriter was meant for, but no matter how I eyeball the docs and Google I can’t find any way to actually use it. From the docs it looks like I need an input (AVAssetWriterInput) to feed the writer from. Fine. But the AVAssetWriterInput class is abstract and the only subclass that I know of in 4.1 is AVAssetWriterInputPixelBufferAdaptor that requires a AVAssetWriterInput in its initializer…? Am I missing something obvious here?

Answer

zoul picture zoul · Sep 16, 2010

Ah yes, I have to acquire an instance using +[AVAssetWriterInput assetWriterInputWithMediaType:outputSettings:], see my post under a different question for a detailed code sample.