AVReaderWriter demonstrates how to use AVAssetReader to read and decode sample data from a movie file, work directly with the sample data, then use AVAssetWriter to encode and write the sample data to a new movie file.
There are two versions: One is written in Objective-C and runs on OS X, the other is written in Swift and runs on iOS. Despite differing in the area of user interface management, both versions demonstrate the same basic concepts involved in working with raw media data. The execution of these concepts is concentrated in CyanifyOperation.swift (Swift/iOS version) and AAPLDocument.m (Objective-C/OS X version).
Xcode 8.0, macOS 10.12 SDK, iOS 10.0 SDK
OS X 10.11, iOS 9.0
Objective-C Version: Source files: AAPLDocument.h/m, AAPLProgressPanelController.h/m, main.m Project bundle: AVReaderWriter.xcodeproj, AVReaderWriterOSX-Info.plist, InfoPlist.strings User interface files: AAPLProgressPanel.xib, MainMenu.xib, AAPLDocument.xib User interface resources: AudioOnly2x.png, ErrorLoading2x.png
Swift Version: Main source file: CyanifyOperation.swift User interface source files: ProgressViewController.swift, ResultViewController.swift, StartViewController.swift, AppDelegate.swift Project bundle: AVReaderWriter.xcodeproj, Info.plist User interface files: LaunchScreen.storyboard, Main.storyboard, Assets.xcassets Resources: ElephantSeals.mov
Version 1.0
- First version.
Version 2.0
- Add Swift version.
Version 3.1
- Update for Swift 2.3
Copyright (C) 2016 Apple Inc. All rights reserved.