A high-level video composition framework for iOS built on AVFoundation, simplifying complex video editing tasks.
Cabbage is a high-level video composition framework for iOS built on top of AVFoundation. It simplifies the process of creating complex video editing features by providing an intuitive Timeline-based API and extensible resource and configuration models. It solves the problem of AVFoundation's low-level complexity, making it easier to implement video composition, transitions, and custom media processing.
iOS developers building video editing applications or features who need a flexible, extensible framework to handle media composition without dealing directly with AVFoundation's intricate APIs.
Developers choose Cabbage because it abstracts AVFoundation's complexity into a simple, Timeline-driven model, reduces boilerplate code, and offers extensibility for custom resources, filters, and audio processing—saving development time and enabling rapid feature iteration.
A video composition framework build on top of AVFoundation. It's simple to use and easy to extend.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Organizes video, audio, and image resources on a timeline with precise time ranges, simplifying AVFoundation's complex track management as shown in the basic usage example with few steps.
Allows custom resource subclasses for specialized media like GIFs, enabling developers to integrate new formats without deep AVFoundation changes, as highlighted in the advance usage section.
Supports transformations, opacity, filters, and volume adjustments via VideoConfiguration and AudioConfiguration, with examples for adding custom filters and audio mixers through protocols.
Includes video and audio transitions between clips on the timeline, reducing boilerplate code for editing features that require smooth clip changes.
Limited to iOS 9.0+ and Swift 4.x, making it unsuitable for cross-platform projects or teams with legacy Objective-C codebases, as noted in the requirements.
Primary documentation is in Chinese, with only basic English examples in the README, which may hinder adoption by English-speaking developers despite the project's extensibility.
Inherits all constraints of AVFoundation, such as performance trade-offs and lack of certain advanced features, requiring workarounds or custom implementations as admitted in the 'Why I create this project' section.