You use an
AVAssetWriter object to write media data to a new file of a specified audiovisual container type, such as a QuickTime movie file or an MPEG-4 file, with support for automatic interleaving of media data for multiple concurrent tracks.
- iOS 4.1+
- macOS 10.7+
- tvOS 4.1+
You can get the media data for one or more assets from instances of
AVAssetReader or even from outside the AV Foundation API set. Media data is presented to
AVAssetWriter for writing in the form of CMSampleBuffers (see CMSampleBuffer). Sequences of sample data appended to the asset writer inputs are considered to fall within “sample-writing sessions.” You must call
startSession(atSourceTime:) to begin one of these sessions.
AVAssetWriter, you can optionally re-encode media samples as they are written. You can also optionally write metadata collections to the output file.
You can only use a given instance of
AVAssetWriter once to write to a single file. If you want to write to files multiple times, you must use a new instance of
AVAssetWriter each time.