A high-performance Swift library for GPU-accelerated real-time image and video processing on Apple platforms using Metal.
Harbeth is a high-performance Swift library for GPU-accelerated real-time image and video processing on Apple platforms. It provides over 200 built-in filters and tools for applying effects to images, camera feeds, and videos using Metal technology, solving the need for fast, efficient visual processing in apps.
iOS and macOS developers building camera apps, photo editors, video processing tools, or any application requiring real-time visual effects and filters.
Developers choose Harbeth for its exceptional performance through Metal GPU acceleration, comprehensive filter library, and intuitive Swift API that simplifies complex image processing tasks while maintaining cross-platform compatibility across Apple ecosystems.
🎨 GPU accelerated image / video and camera filter library based on Metal. Support macOS & iOS. 图像、视频、相机滤镜框架
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Metal for up to 5x faster processing than CPU, enabling real-time filter chains at 60 FPS, as demonstrated in performance charts showing GPU time growing slowly compared to CPU.
Offers over 200 built-in filters across categories like color adjustment, blur, and stylization, reducing development time for effects from basic adjustments to artistic simulations.
Runs seamlessly on iOS, macOS, tvOS, and watchOS with native UIKit/AppKit and SwiftUI integration, as highlighted in the features section for broad compatibility.
Provides chainable filter operations with operator overloading (e.g., ->>) and extensions like HarbethIO, making complex image processing concise and Swift-friendly.
Supports smooth, 60 FPS real-time filtering for camera feeds and video files, integrated with Kakapos for video editing and export, as noted in the video processing features.
Built entirely on Metal and Core Image, it's only usable on Apple devices, limiting cross-platform development and creating vendor dependency for long-term projects.
Creating custom filters requires knowledge of Metal shaders and LUTs, which the README acknowledges but provides limited guidance for, posing a barrier for developers without GPU programming experience.
Requires manual tuning of properties like bufferPixelFormat and enableDoubleBuffer to avoid issues like blue tints or memory inefficiencies, adding complexity to setup and optimization.
As a specialized Swift library, it has a smaller ecosystem compared to broader frameworks like OpenCV or GPUImage, with fewer third-party resources or plugins available.
Harbeth is an open-source alternative to the following products: