A Swift library for iOS that provides customizable audio and video encoding options beyond AVAssetExportSession.
NextLevelSessionExporter is a Swift library for iOS that enables customizable media export and transcoding. It provides fine-grained control over audio and video encoding parameters, HDR support, and modern async/await APIs, solving the limitations of Apple's AVAssetExportSession for developers needing advanced media processing.
iOS developers building apps that require custom video editing, transcoding, or media export functionality, such as video editors, social media apps, or camera applications.
Developers choose NextLevelSessionExporter for its extensive customization options, modern Swift concurrency support, and HDR video handling, which are not available in Apple's built-in AVAssetExportSession.
🔄 Export and transcode media in Swift
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers native async/await support with cancellable exports and AsyncSequence progress updates, making it ideal for Swift 6 development and clean code.
Provides complete control over video and audio settings like bitrate, codec, and scaling modes, enabling custom transcoding beyond Apple's AVAssetExportSession limits.
Automatically detects and preserves HDR content (HLG and HDR10) with 10-bit HEVC encoding, essential for high-quality media apps handling modern video formats.
Includes QoS configuration and memory management fixes, addressing issues like thread priority inversion and crashes on long videos, as noted in the troubleshooting section.
Limited to iOS 15+ for modern APIs (iOS 13+ for legacy), making it unusable for any non-iOS development or older projects stuck on lower versions.
Requires workarounds for system-level bugs like error -11819, forcing developers to implement retry logic and extra robustness code, as admitted in the README.
Demands deep understanding of AVFoundation parameters for setup, which can be error-prone and time-consuming compared to drop-in solutions.