Android CamSwap logo

Android CamSwap

By@zensu357
Open Source
Downloads
76
Version
vFinal
Size
9.11MB
Updated
5 Jul 2026

Module Overview

**

app-armeabi-v7a

Thanks to the android_virtual_cam project for giving me the idea and some code to start with.

Android CamSwap is a camera module. It uses the framework. This module intercepts camera preview and photo requests from Android. It then replaces the camera feed with a video chosen by the user.

I rebuilt this project using Android tools. I used Kotlin and Jetpack Compose. I also added a way to share data between processes. This uses ContentProvider. It works with strict file permission rules in newer Android versions like Android 11 and later.

Note:** If you want to know how older versions, like v2.0 worked look at the commits. This branch shows the refactored code.

✨ Key Features

  • Full API Support: Supports both Camera1 (Camera) and Camera2 (CameraDevice) APIs.

  • Video Replacement 🎥: Seamlessly replaces the camera preview feed with a specified MP4 video.

  • Audio Replacement 🎤: Option to play a custom MP3 audio file or sync with the replacement video’s audio.

  • Real-time Notification Bar Controls:

⏭ Switch to the next/previous video.

  • 🔄 Quickly adjust video rotation (+90° / -90°).

  • 🎲 Random playback mode.

  • Automatic Rotation Handling: Reads rotation angle from video metadata and renders correctly via OpenGL ES, requiring no manual adjustment.

  • Cross-Process Configuration Sync:

Primary Path: ContentProvider IPC (does not require storage permissions on the target app).

  • Fallback Path: Direct file reading + App cold-start pre-warming, completely resolving issues with configurations not being ready during cold starts.

  • Target App Filtering: Allows the module to take effect only in specified applications.

  • Modern UI: Management interface built with Material Design 3 and Jetpack Compose.

📱 Requirements

  • Android Version: Android 8.0 (API 26) and above (Android 11+ is highly recommended).

  • Root Permission: Required.

  • Xposed Framework: LSPosed is recommended (Zygisk or Riru versions both work).

🚀 Installation and Usage

  1. Install the Module
  • Download the latest Release APK. It is recommended to choose the package that matches your device architecture: most devices use arm64-v8a.

  • Install the APK on your Android device.

  • Enable the module in your LSPosed manager.

  • Scope Selection:

Highly Recommended: Check “System Framework” for the best compatibility.

  • Alternatively: Only check the specific target apps you want to replace the camera for (e.g., Camera, WeChat, TikTok, etc.).

  • Reboot your phone (or force restart the target app’s process).

2. Configure Media

  • Open the CamSwap app and grant the necessary file read/write permissions.

  • Go to the “Manage” page to import your MP4 video media.

  • Go to the “Settings” page to select the default video, configure audio replacement, and enable options like notification bar controls.

3. Start Using

  • Open any app that uses the camera, and the preview feed will be replaced by your selected video.

  • Tip: If the video orientation is incorrect, you can fine-tune it using the rotation buttons in the notification bar, or manually input a rotation offset angle in the app settings.

⚠️ Disclaimer

  • This project is intended strictly for security research, software testing, and educational purposes.

  • Do not use this project for any illegal activities (including but not limited to facial recognition bypass, identity fraud, etc.).

  • Users must bear all legal responsibilities arising from the use of this project.

Rate this Module

Share your experience with the community.

* You will be prompted to login via Google in one click to verify your rating.