Skip to content

knightsky-cpu/Liquid-Cam-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Liquid Cam

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.

Features

  • 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.

Project Structure

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.

Technical Details

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.

Installation and Requirements

  • 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.

License

This project is licensed under the BSD License. See the LICENSE file for details.

About

an iOS app that records video/photo with a live ascii render overlay and saves to photolibrary.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages