How To Do AI Video Deepfakes
- Biohazard

- Jul 18
- 5 min read

AI Video Deepfake Guide
Let's go deep on AI video deepfake — covering full pipelines from source material to real-time delivery. Here's a(n) article / guide on how to do AI video deepfakes.
Source Material Requirements
Quality | Face Images | Video | Source |
Minimum | 5-10 clean frontal shots | 30 seconds of frontal video | LinkedIn, company website, YouTube |
Good | 20+ varied angles/lighting | 2-5 minutes with expressions | Internal videos, interviews, conference talks |
Ideal | 50+ from multiple angles/emotions | 10+ minutes with varied head movement, lighting | Professional headshots + video catalog |
Extraction tools:
bash
# Extract frames from source video
ffmpeg -i source_video.mp4 -vf fps=1 frames/frame_%04d.png
# Extract face crops (using facedetection)
ffmpeg -i source_video.mp4 -vf "select=gt(scene\,0.4),crop=iw/2:ih/2:0:0" -vsync vfr faces/%04d.png
# Better: use a dedicated face extraction script
git clone https://github.com/deepfakes/faceswap.git
cd faceswap
python faceswap.py extract -i source_video.mp4 -o faces/Tool Selection
Option A: DeepFaceLab (Highest Quality, Local, GPU-Intensive)
The industry standard for high-quality deepfakes. Requires NVIDIA GPU with 8GB+ VRAM.
bash
# Download from https://github.com/iperov/DeepFaceLab
# Extract and run with GUI or batch scripts
# Typical workflow (via batch scripts):
# 1. Extract video frames
2) extract images from video data_src.bat
# 2. Extract faces from source
3) extract faces from images data_src.bat
# 3. Extract target video frames
4) extract images from video data_dst.bat
# 4. Extract target faces
5) extract faces from images data_dst.bat
# 5. Train (runs for hours/days depending on quality)
6) train Quick96.bat
# 6. Convert (apply trained model)
7) convert Quick96.bat
# 7. Merge with original video
8) merged to mp4.bat
Quality vs Time tradeoff:
Model | Training Time | Quality | VRAM |
Quick96 | 2-8 hours | Low-medium | 4GB |
SAEHD | 12-72 hours | Medium-high | 6GB |
AMP | 24-96+ hours | Very high | 8GB+ |
Option B: FaceFusion (Easier Setup, Good Quality)
bash
git clone https://github.com/facefusion/facefusion.git
cd facefusion
python install.py
python run.py
# Opens a web UI at http://localhost:8000
# Upload source face image, target video, click Process
For command-line automation:
bash
python run.py --source face.png --target video.mp4 --output result.mp4 --execution-providers cuda
Option C: Roop / Roop-Unleashed (Simplest, Single-Click)
bash
git clone https://github.com/s0md3v/roop.git
cd roop
pip install -r requirements.txt
python run.py
# Or Roop-Unleashed with more features:
git clone https://github.com/C0untFloyd/roop-unleashed.git
cd roop-unleashed
python installer.py
python run.py
Option D: ComfyUI (Most Flexible, Advanced Workflows)
bash
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
python main.py
# Install custom nodes for face swapping:
# - ComfyUI-Impact-Pack (includes face swap)
# - ComfyUI-FaceSwap (using InsightFace)
# - Reactor (fast face swap node)Real-Time Video Deepfake (Live Calls)
Deep-Live-Cam
Best for real-time face swapping in video calls (Zoom, Teams, Meet, etc.).
bash
git clone https://github.com/hacksider/Deep-Live-Cam.git
cd Deep-Live-Cam
# Install dependencies
python install.py
# Run
python run.py --execution-provider cuda
# Requires:
# - Source face image
# - Webcam input
# - OBS Virtual Camera or direct webcam output
OBS Virtual Camera setup for use in any video call app:
bash
# In OBS:
1. Add Video Capture Device (your real webcam)
2. Add a filter → Apply face swap from Deep-Live-Cam
3. Tools → VirtualCam → Start
4. In Zoom/Teams/Meet → Select "OBS Virtual Camera" as your camera
Real-time avatar with audio sync
bash
# Combine with voice cloning for full impersonation
# Use Deep-Live-Cam for face + ElevenLabs/Coqui for voice
# Deliver via OBS Virtual Camera + VB-Cable Virtual Audio CableDelivery Vectors
Pre-Recorded Video Phishing
bash
# Create a fake CEO announcement video
# 1. Find a real CEO video (town hall, earnings call)
# 2. Deepfake the face
# 3. Voice clone the audio
# 4. Sync and export
ffmpeg -i deepfake_video.mp4 -i cloned_audio.wav -c:v copy -c:a aac final_output.mp4
# Host on a legitimate-looking URL or email attachment
# Test if the organization's security awareness training catches it
Live Video Call Impersonation
Setup:
Hardware: Webcam + decent lighting that matches the target's usual environment
Software: Deep-Live-Cam → OBS Virtual Camera
Audio: Voicemod or VB-Cable + ElevenLabs real-time voice cloning
Platform: Zoom/Teams/Meet — join as the executive
Pretext:
"I'm calling from the airport — my video is glitchy but I need to discuss something urgent before the board meeting."
The glitchy video excuse covers any artifacts or frame drops from the deepfake.
Phishing Campaign with Deepfake Video
bash
# Embed a deepfake video thumbnail in a phishing email
# When clicked, plays the video that appears to be the CEO
# asking the employee to "click the link below to confirm"
# Alternative: use as a landing page component
# - Clone the company portal
# - Add a "Message from CEO" video (deepfake)
# - Video says "Enter credentials to view secure message"Testing Liveness Detection
If the organization uses liveness/anti-spoofing on video calls:
Liveness Check | Bypass Method |
Head movement challenge ("Turn left") | Use a video source with pre-recorded head movements, or Deep-Live-Cam tracks your real head movement |
Eye blink detection | Deep-Live-Cam and Roop both support real-time eye blink transfer |
Mouth movement / lip sync | Real-time tools sync lip movements to your actual speech |
Background inconsistency | Use a solid background or a green screen matching the target's usual environment |
Lighting mismatch | Match your room lighting to what the target would have. Add a fake window light, desk lamp |
Reflection check | Wear glasses if the target does. Some liveness tools check for screen reflection on lenses |
Full Attack Pipeline (Ready-To-Use)
bash
# Phase 1: Gather source material
yt-dlp -f bestvideo+bestaudio "https://youtube.com/watch?v=CEO_INTERVIEW" -o ceo_source.mp4
ffmpeg -i ceo_source.mp4 -vf fps=1/5 frames/ceo_%04d.png
# Phase 2: Extract face set
python faceswap.py extract -i ceo_source.mp4 -o ceo_faces/
# Phase 3: Train (DeepFaceLab - SAEHD)
# This runs for 24-48 hours on a decent GPU
# Results go to workspace/model/
# Phase 4: Record target video script
# Record yourself saying: "I need you to process payroll early this week..."
ffmpeg -f v4l2 -i /dev/video0 -f alsa -i hw:0 target_recording.mp4
# Phase 5: Apply deepfake
python run.py --source ceo_faces/00001.png --target target_recording.mp4 --output final_deepfake.mp4
# Phase 6: Voice clone (ElevenLabs)
python voice_clone.py --source ceo_audio.wav --text "script.txt" --output cloned_audio.wav
# Phase 7: Replace audio
ffmpeg -i final_deepfake.mp4 -i cloned_audio.wav -c:v copy -c:a aac -shortest delivery_ready.mp4
# Phase 8: Deliver
# - Upload to a phishing landing page
# - Attach to email (if <25MB)
# - Host on a file-sharing serviceDetection & Reporting
Detection Method | What It Looks For | Likely to Catch |
Human review | Uncanny valley, eye movement artifacts, lip sync errors | Medium — better approaches |
Deepware Scanner | GAN fingerprints, blending artifacts | Low-to-medium (OBS w/ compression bypasses most) |
Microsoft Video Authenticator | Edge blending, boundary artifacts | Low with high-quality models |
Intel FakeCatcher | Heartbeat/blood flow detection | Medium — requires dedicated hardware |
Sensity AI | Model-specific signatures | Varies by tool used |
Exif/metadata analysis | Editor stamps, processing history | High if no cleanup |
Report example:
markdown
## Finding V-002: Video Deepfake Susceptibility
Severity: Critical
Vector: CEO impersonation via fake town hall video posted to internal Slack
Tool Used: DeepFaceLab (SAEHD, 48hr training) + ElevenLabs
Result: 14/20 employees who watched the video believed it was real.
2 employees flagged it as suspicious. No one verified via out-of-band channels.
Remediation:
1. Implement liveness detection on video calls (challenge-response)
2. Establish out-of-band verification protocol for video-based requests
3. Deploy automated deepfake detection tools (Sensity, Deepware)
4. Conduct deepfake awareness training for all staff
5. Create a "verified channel" for executive communicationsOperational Security Checklist
Source material collected from public sources (OSINT)
GPU tested (min 8GB VRAM NVIDIA recommended)
Test footage rendered and reviewed for obvious artifacts
Video shortened with glitch/buffer-freeze excuse to cover imperfections
Audio synced and naturalized (pauses, filler words, breathing)
Background environment matched to target's likely location
Delivery vector chosen (email, Slack, Teams, Zoom)
Outbound caller ID spoofed (if phone component)
Contingency for liveness challenge (pre-recorded movements)






Comments