Compare commits
21 Commits
Author | SHA1 | Date |
---|---|---|
|
181144ce33 | |
|
40e47a469c | |
|
874abb4e59 | |
|
18b259da70 | |
|
01900dcfb5 | |
|
07e30fe781 | |
|
3dda4f2179 | |
|
71735e4f60 | |
|
90d5c28542 | |
|
104d8cf4d6 | |
|
ac3696b69d | |
|
76fb209e6c | |
|
2dcd552c4b | |
|
66248a37b4 | |
|
aa9b7ed3b6 | |
|
51a4246050 | |
|
3f1c072fac | |
|
f91f9203e7 | |
|
80477676b4 | |
|
c728994e6b | |
|
65da3be2a4 |
88
README.md
88
README.md
|
@ -30,18 +30,13 @@ By using this software, you agree to these terms and commit to using it in a man
|
||||||
|
|
||||||
Users are expected to use this software responsibly and legally. If using a real person's face, obtain their consent and clearly label any output as a deepfake when sharing online. We are not responsible for end-user actions.
|
Users are expected to use this software responsibly and legally. If using a real person's face, obtain their consent and clearly label any output as a deepfake when sharing online. We are not responsible for end-user actions.
|
||||||
|
|
||||||
|
## Exclusive v2.0 Quick Start - Pre-built (Windows / Nvidia)
|
||||||
|
|
||||||
## Quick Start - Pre-built (Windows / Nvidia)
|
<a href="https://deeplivecam.net/index.php/quickstart"> <img src="https://github.com/user-attachments/assets/7d993b32-e3e8-4cd3-bbfb-a549152ebdd5" width="285" height="77" />
|
||||||
|
|
||||||
<a href="https://hacksider.gumroad.com/l/vccdmm"> <img src="https://github.com/user-attachments/assets/7d993b32-e3e8-4cd3-bbfb-a549152ebdd5" width="285" height="77" />
|
|
||||||
|
|
||||||
##### This is the fastest build you can get if you have a discrete NVIDIA GPU.
|
##### This is the fastest build you can get if you have a discrete NVIDIA GPU.
|
||||||
|
|
||||||
## Quick Start - Pre-built (Mac / Silicon)
|
|
||||||
|
|
||||||
<a href="https://krshh.gumroad.com/l/Deep-Live-Cam-Mac"> <img src="https://github.com/user-attachments/assets/d5d913b5-a7de-4609-96b9-979a5749a703" width="285" height="77" />
|
|
||||||
|
|
||||||
###### These Pre-builts are perfect for non-technical users or those who don’t have time to, or can't manually install all the requirements. Just a heads-up: this is an open-source project, so you can also install it manually.
|
###### These Pre-builts are perfect for non-technical users or those who don't have time to, or can't manually install all the requirements. Just a heads-up: this is an open-source project, so you can also install it manually. This will be 60 days ahead on the open source version.
|
||||||
|
|
||||||
## TLDR; Live Deepfake in just 3 Clicks
|
## TLDR; Live Deepfake in just 3 Clicks
|
||||||

|

|
||||||
|
@ -123,7 +118,8 @@ This is more likely to work on your computer but will be slower as it utilizes t
|
||||||
**2. Clone the Repository**
|
**2. Clone the Repository**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
https://github.com/hacksider/Deep-Live-Cam.git
|
git clone https://github.com/hacksider/Deep-Live-Cam.git
|
||||||
|
cd Deep-Live-Cam
|
||||||
```
|
```
|
||||||
|
|
||||||
**3. Download the Models**
|
**3. Download the Models**
|
||||||
|
@ -137,14 +133,44 @@ Place these files in the "**models**" folder.
|
||||||
|
|
||||||
We highly recommend using a `venv` to avoid issues.
|
We highly recommend using a `venv` to avoid issues.
|
||||||
|
|
||||||
|
For Windows:
|
||||||
```bash
|
```bash
|
||||||
|
python -m venv venv
|
||||||
|
venv\Scripts\activate
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
**For macOS:** Install or upgrade the `python-tk` package:
|
**For macOS:**
|
||||||
|
|
||||||
|
Apple Silicon (M1/M2/M3) requires specific setup:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Install Python 3.10 (specific version is important)
|
||||||
|
brew install python@3.10
|
||||||
|
|
||||||
|
# Install tkinter package (required for the GUI)
|
||||||
brew install python-tk@3.10
|
brew install python-tk@3.10
|
||||||
|
|
||||||
|
# Create and activate virtual environment with Python 3.10
|
||||||
|
python3.10 -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
** In case something goes wrong and you need to reinstall the virtual environment **
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Deactivate the virtual environment
|
||||||
|
rm -rf venv
|
||||||
|
|
||||||
|
# Reinstall the virtual environment
|
||||||
|
python -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
|
||||||
|
# install the dependencies again
|
||||||
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
**Run:** If you don't have a GPU, you can run Deep-Live-Cam using `python run.py`. Note that initial execution will download models (~300MB).
|
**Run:** If you don't have a GPU, you can run Deep-Live-Cam using `python run.py`. Note that initial execution will download models (~300MB).
|
||||||
|
@ -169,19 +195,39 @@ python run.py --execution-provider cuda
|
||||||
|
|
||||||
**CoreML Execution Provider (Apple Silicon)**
|
**CoreML Execution Provider (Apple Silicon)**
|
||||||
|
|
||||||
1. Install dependencies:
|
Apple Silicon (M1/M2/M3) specific installation:
|
||||||
|
|
||||||
|
1. Make sure you've completed the macOS setup above using Python 3.10.
|
||||||
|
2. Install dependencies:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip uninstall onnxruntime onnxruntime-silicon
|
pip uninstall onnxruntime onnxruntime-silicon
|
||||||
pip install onnxruntime-silicon==1.13.1
|
pip install onnxruntime-silicon==1.13.1
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Usage:
|
3. Usage (important: specify Python 3.10):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python run.py --execution-provider coreml
|
python3.10 run.py --execution-provider coreml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Important Notes for macOS:**
|
||||||
|
- You **must** use Python 3.10, not newer versions like 3.11 or 3.13
|
||||||
|
- Always run with `python3.10` command not just `python` if you have multiple Python versions installed
|
||||||
|
- If you get error about `_tkinter` missing, reinstall the tkinter package: `brew reinstall python-tk@3.10`
|
||||||
|
- If you get model loading errors, check that your models are in the correct folder
|
||||||
|
- If you encounter conflicts with other Python versions, consider uninstalling them:
|
||||||
|
```bash
|
||||||
|
# List all installed Python versions
|
||||||
|
brew list | grep python
|
||||||
|
|
||||||
|
# Uninstall conflicting versions if needed
|
||||||
|
brew uninstall --ignore-dependencies python@3.11 python@3.13
|
||||||
|
|
||||||
|
# Keep only Python 3.10
|
||||||
|
brew cleanup
|
||||||
|
```
|
||||||
|
|
||||||
**CoreML Execution Provider (Apple Legacy)**
|
**CoreML Execution Provider (Apple Legacy)**
|
||||||
|
|
||||||
1. Install dependencies:
|
1. Install dependencies:
|
||||||
|
@ -226,7 +272,6 @@ pip install onnxruntime-openvino==1.15.0
|
||||||
```bash
|
```bash
|
||||||
python run.py --execution-provider openvino
|
python run.py --execution-provider openvino
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
@ -247,6 +292,19 @@ python run.py --execution-provider openvino
|
||||||
- Use a screen capture tool like OBS to stream.
|
- Use a screen capture tool like OBS to stream.
|
||||||
- To change the face, select a new source image.
|
- To change the face, select a new source image.
|
||||||
|
|
||||||
|
## Tips and Tricks
|
||||||
|
|
||||||
|
Check out these helpful guides to get the most out of Deep-Live-Cam:
|
||||||
|
|
||||||
|
- [Unlocking the Secrets to the Perfect Deepfake Image](https://deeplivecam.net/index.php/blog/tips-and-tricks/unlocking-the-secrets-to-the-perfect-deepfake-image) - Learn how to create the best deepfake with full head coverage
|
||||||
|
- [Video Call with DeepLiveCam](https://deeplivecam.net/index.php/blog/tips-and-tricks/video-call-with-deeplivecam) - Make your meetings livelier by using DeepLiveCam with OBS and meeting software
|
||||||
|
- [Have a Special Guest!](https://deeplivecam.net/index.php/blog/tips-and-tricks/have-a-special-guest) - Tutorial on how to use face mapping to add special guests to your stream
|
||||||
|
- [Watch Deepfake Movies in Realtime](https://deeplivecam.net/index.php/blog/tips-and-tricks/watch-deepfake-movies-in-realtime) - See yourself star in any video without processing the video
|
||||||
|
- [Better Quality without Sacrificing Speed](https://deeplivecam.net/index.php/blog/tips-and-tricks/better-quality-without-sacrificing-speed) - Tips for achieving better results without impacting performance
|
||||||
|
- [Instant Vtuber!](https://deeplivecam.net/index.php/blog/tips-and-tricks/instant-vtuber) - Create a new persona/vtuber easily using Metahuman Creator
|
||||||
|
|
||||||
|
Visit our [official blog](https://deeplivecam.net/index.php/blog/tips-and-tricks) for more tips and tutorials.
|
||||||
|
|
||||||
## Command Line Arguments (Unmaintained)
|
## Command Line Arguments (Unmaintained)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -320,5 +378,3 @@ Looking for a CLI mode? Using the -s/--source argument will make the run program
|
||||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=hacksider/deep-live-cam&type=Date" />
|
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=hacksider/deep-live-cam&type=Date" />
|
||||||
</picture>
|
</picture>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import insightface
|
||||||
import threading
|
import threading
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import modules.globals
|
import modules.globals
|
||||||
|
import logging
|
||||||
import modules.processors.frame.core
|
import modules.processors.frame.core
|
||||||
from modules.core import update_status
|
from modules.core import update_status
|
||||||
from modules.face_analyser import get_one_face, get_many_faces, default_source_face
|
from modules.face_analyser import get_one_face, get_many_faces, default_source_face
|
||||||
|
@ -105,14 +106,20 @@ def process_frame(source_face: Face, temp_frame: Frame) -> Frame:
|
||||||
many_faces = get_many_faces(temp_frame)
|
many_faces = get_many_faces(temp_frame)
|
||||||
if many_faces:
|
if many_faces:
|
||||||
for target_face in many_faces:
|
for target_face in many_faces:
|
||||||
temp_frame = swap_face(source_face, target_face, temp_frame)
|
if source_face and target_face:
|
||||||
|
temp_frame = swap_face(source_face, target_face, temp_frame)
|
||||||
|
else:
|
||||||
|
print("Face detection failed for target/source.")
|
||||||
else:
|
else:
|
||||||
target_face = get_one_face(temp_frame)
|
target_face = get_one_face(temp_frame)
|
||||||
if target_face:
|
if target_face and source_face:
|
||||||
temp_frame = swap_face(source_face, target_face, temp_frame)
|
temp_frame = swap_face(source_face, target_face, temp_frame)
|
||||||
|
else:
|
||||||
|
logging.error("Face detection failed for target or source.")
|
||||||
return temp_frame
|
return temp_frame
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def process_frame_v2(temp_frame: Frame, temp_frame_path: str = "") -> Frame:
|
def process_frame_v2(temp_frame: Frame, temp_frame_path: str = "") -> Frame:
|
||||||
if is_image(modules.globals.target_path):
|
if is_image(modules.globals.target_path):
|
||||||
if modules.globals.many_faces:
|
if modules.globals.many_faces:
|
||||||
|
|
|
@ -15,11 +15,7 @@ torch==2.5.1; sys_platform == 'darwin'
|
||||||
torchvision==0.20.1; sys_platform != 'darwin'
|
torchvision==0.20.1; sys_platform != 'darwin'
|
||||||
torchvision==0.20.1; sys_platform == 'darwin'
|
torchvision==0.20.1; sys_platform == 'darwin'
|
||||||
onnxruntime-silicon==1.16.3; sys_platform == 'darwin' and platform_machine == 'arm64'
|
onnxruntime-silicon==1.16.3; sys_platform == 'darwin' and platform_machine == 'arm64'
|
||||||
onnxruntime-gpu==1.16.3; sys_platform != 'darwin'
|
onnxruntime-gpu==1.17; sys_platform != 'darwin'
|
||||||
tensorflow; sys_platform != 'darwin'
|
tensorflow; sys_platform != 'darwin'
|
||||||
opennsfw2==0.10.2
|
opennsfw2==0.10.2
|
||||||
protobuf==4.23.2
|
protobuf==4.23.2
|
||||||
tqdm==4.66.4
|
|
||||||
gfpgan==1.3.8
|
|
||||||
tkinterdnd2==0.4.2
|
|
||||||
pygrabber==0.2
|
|
||||||
|
|
Loading…
Reference in New Issue