Liquid Cam is a specialized iOS application designed to capture and process video streams into fluid artistic representations. The project utilizes Metal for high-performance rendering and includes support for both live camera capture and screen recording via a broadcast extension.
- Real-time video processing.
- Metal-accelerated rendering for performance and efficiency.
- Integrated screen recording through a custom broadcast extension.
- Flexible capture management for various input sources.
- Low-latency frame processing and distribution.
The codebase is organized into three primary modules:
- App: The main iOS application containing the user interface, control logic, and frame serving components.
- Extension: A broadcast extension that allows the processing to be applied to system-wide screen recordings.
- Shared: Core logic shared between the main app and the extension, including capture management, movie recording, and Metal-based image processing.
The application leverages a socket-based communication protocol for coordination between the main process and the broadcast extension. It uses the AVFoundation framework for media capture and the Metal framework for custom GPU-accelerated image filters.
- iOS 15.0 or later
- Xcode 13.0 or later
- Swift 5.5 or later
To build the project, run xcodegen generate in the project root to create the LiquidCam.xcodeproj, then open it in Xcode, select your target device or simulator, and run the build command.
This project is licensed under the BSD License. See the LICENSE file for details.