Video Deepfake Detection

Detect deepfake videos, face replacement, video replay attacks, and liveness spoofing to prevent video-based identity fraud.

Video Deepfake Detection

Detect AI-generated and manipulated videos including face swaps, video replay attacks, and liveness spoofing to prevent video-based fraud.

Common Attack Vectors

Face Swap Videos

Real-Time Face Replacement:

  • Live webcam feed with face replaced in real-time
  • Software like DeepFaceLab, FaceSwap
  • Can fool basic liveness checks
  • Increasingly common in video KYC fraud

Pre-Recorded Face Swap:

  • Legitimate user's verification video with face swapped
  • Target person's face mapped onto real person's movements
  • Synced with audio
  • Very convincing if done well

Video Replay Attacks

Screen Playback:

  • Playing pre-recorded video on phone/tablet screen
  • Held up to webcam
  • Can include real person performing liveness actions
  • Detectable via screen moiré patterns

Virtual Camera:

  • Software (OBS, ManyCam) feeds pre-recorded video to webcam
  • No physical screen (harder to detect)
  • Often used with deepfake face swap
  • Can include interactive elements

AI-Generated Videos

Synthetic Person:

  • Completely AI-generated person (doesn't exist)
  • Generated frame-by-frame or video-to-video
  • May include synthesized speech
  • Very sophisticated attacks

Video-to-Video Translation:

  • Target person's movements mapped to source video
  • Maintains expressions and head movements
  • Convincing for short clips
  • Emerging threat

5 Credits Per video analysis

Detection Capabilities

1. Temporal Coherence Analysis

Analyze frame-to-frame consistency.

What We Check:

  • Blinking Patterns: Natural vs. synthetic blinks
  • Micro-Expressions: Subtle facial movements
  • Head Movement: Natural motion patterns
  • Background Consistency: Static background should remain static
  • Lighting Changes: Abrupt vs. gradual changes

Deepfake Indicators:

  • Unnatural blinking frequency (GANs struggle with eyes)
  • Jittery movements (frame inconsistency)
  • Face "pops" or sudden changes
  • Background shifts when face moves (poor masking)

Analysis:

{
  "temporalCoherence": {
    "score": 45, // 0-100, lower = more suspicious
    "issues": [
      "Irregular blinking pattern (7 blinks in 3 seconds)",
      "Micro-jitter in face region",
      "Background shifts inconsistently with head movement"
    ],
    "suspiciousFrames": [45, 67, 89, 112]
  }
}

2. Face Detection Consistency

Track face detection confidence across frames.

Authentic Video: Face detected with 95-99% confidence in all frames

Deepfake Video: Confidence drops or face lost in some frames

  • GAN artifacts confuse face detector
  • Poorly blended face swap
  • Temporal inconsistency
{
  "faceDetection": {
    "averageConfidence": 72, // Should be 95+
    "stableDetection": false,
    "framesWithLowConfidence": 23, // out of 150 frames
    "verdict": "suspicious"
  }
}

3. Optical Flow Analysis

Analyze motion patterns between frames.

Natural Motion:

  • Smooth, continuous movement
  • Consistent velocity
  • Proper motion blur

Deepfake Motion:

  • Abrupt changes in motion direction
  • Inconsistent motion vectors
  • Missing or incorrect motion blur

4. Audio-Visual Synchronization

Check if lip movements match audio.

Lip-Sync Analysis:

{
  "audioVisualSync": {
    "lipSyncScore": 68, // 0-100, authentic usually 90+
    "issues": [
      "Lip movements lag audio by 200ms",
      "Mouth shape doesn't match phonemes",
      "Audio quality inconsistent with video"
    ],
    "verdict": "likely_deepfake"
  }
}

Common in:

  • Voice cloning + face swap attacks
  • Video with dubbed audio
  • Screen replay with separate audio track

5. Screen Replay Detection

Detect videos played on screens and re-captured.

Detection Methods:

  • Moiré Patterns: Interference from screen pixels
  • Bezels/Edges: Screen edges visible in frame
  • Refresh Rate Artifacts: Screen flicker at specific frequencies
  • Reflection Analysis: Screen reflections
  • Resolution Mismatch: Lower resolution from screen capture
{
  "screenReplay": {
    "detected": true,
    "confidence": 89,
    "indicators": [
      "Moiré pattern detected in frames 23-145",
      "Screen bezel visible in corner",
      "60Hz screen refresh detected",
      "Consistent rectangular region (device screen)"
    ]
  }
}

Liveness Detection

Passive Liveness

Analyze single frame or short video for spoofing.

Detection Methods:

  • 3D depth estimation (flat photos lack depth)
  • Texture analysis (paper/screen texture)
  • Face movement naturalness
  • Eye tracking (reflections, pupil dilation)

Result:

{
  "passiveLiveness": {
    "result": "fail",
    "confidence": 92,
    "spoofingType": "photo_attack",
    "indicators": [
      "No depth detected (flat surface)",
      "Paper texture visible",
      "No pupil dilation observed"
    ]
  }
}

Active Liveness

User performs specific actions (blink, smile, turn head).

Challenges:

  1. "Please blink twice"
  2. "Smile"
  3. "Turn your head to the left"
  4. "Turn your head to the right"

Analysis:

{
  "activeLiveness": {
    "result": "pass",
    "challenges": [
      { "action": "blink", "response": "correct", "naturalness": 94 },
      { "action": "smile", "response": "correct", "naturalness": 88 },
      { "action": "turn_left", "response": "correct", "naturalness": 91 },
      { "action": "turn_right", "response": "correct", "naturalness": 90 }
    ],
    "overallScore": 91
  }
}

Deepfake Challenges:

  • Actions performed but movements unnatural
  • Timing delays (deepfake processing lag)
  • Artifacts during complex movements

Analysis Process

Step 1: Upload Video

const formData = new FormData();
formData.append('video', videoFile);
formData.append('analysisType', 'verification'); // or 'general'
formData.append('includeLiveness', 'true');
 
const job = await fetch('/api/v4/deepfake/analyse', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${apiKey}`
  },
  body: formData
});
 
// Returns job ID (processing takes 30-120s)
{
  "jobId": "job_xyz789",
  "status": "processing",
  "estimatedTime": "45 seconds"
}

Step 2: Processing

Analysis Pipeline (30-120 seconds):

  1. Video preprocessing (extract frames, audio)
  2. Frame-by-frame analysis (150-300 frames)
  3. Face detection and tracking
  4. Temporal coherence analysis
  5. Optical flow calculation
  6. Audio-visual sync check
  7. Liveness detection (if applicable)
  8. Screen replay detection
  9. Final risk scoring

Step 3: Receive Results

GET /api/v4/deepfake/jobs/:jobId
 
{
  "jobId": "job_xyz789",
  "status": "completed",
  "video": {
    "filename": "verification_video.mp4",
    "duration": "12.5 seconds",
    "frameCount": 375,
    "resolution": "1280x720",
    "fps": 30
  },
  "result": {
    "isDeepfake": true,
    "confidence": 89,
    "manipulationType": "face_swap",
    "riskScore": 85,
    "recommendation": "reject"
  },
  "analysis": {
    "temporalCoherence": {
      "score": 42,
      "issues": ["Irregular blinking", "Micro-jitter"]
    },
    "faceDetection": {
      "averageConfidence": 76,
      "stableDetection": false
    },
    "audioVisualSync": {
      "lipSyncScore": 65,
      "verdict": "poor_sync"
    },
    "screenReplay": {
      "detected": false
    },
    "liveness": {
      "result": "fail",
      "spoofingType": "deepfake_video"
    }
  },
  "suspiciousFrames": [
    {
      "frameNumber": 45,
      "timestamp": "1.5s",
      "issue": "Face detection dropped",
      "confidence": 42
    },
    {
      "frameNumber": 89,
      "timestamp": "3.0s",
      "issue": "Blending artifact",
      "confidence": 68
    }
  ]
}

Confidence Scores

ScoreAssessmentAction
90-100%Highly likely deepfakeReject
70-89%Likely deepfakeManual review
40-69%UncertainEnhanced verification
0-39%Likely authenticAccept

Video Requirements

Technical Requirements

RequirementSpecification
FormatMP4, MOV, WebM
Min Resolution640x480 pixels
Max Duration60 seconds
Max File Size50 MB
Min Frame Rate15 FPS
Recommended FPS30 FPS
LightingEvenly lit face
AudioRequired for lip-sync analysis

Quality Checks

Reject If:

  • Resolution < 640x480
  • FPS < 15
  • Face too small (< 200x200px)
  • Face not visible in >20% of frames
  • Extreme lighting (overexposed/underexposed)
  • Heavy motion blur throughout

Integration with Verification

Enhanced Verification Workflow

{
  "workflowType": "enhanced",
  "livenessType": "active",
  "enableDeepfakeCheck": true, // Video deepfake scan
  "videoRequirements": {
    "minDuration": 5, // seconds
    "maxDuration": 15,
    "requireActions": ["blink", "smile", "turn_head"],
    "rejectDeepfakeThreshold": 70
  }
}

Flow:

  1. User records video with liveness actions
  2. Video uploaded
  3. Liveness check (user performed actions?)
  4. Deepfake scan (is video authentic?)
  5. Face match (matches ID document?)
  6. Decision: Approve/Reject/Manual Review

Best Practices

  1. Require active liveness - Harder to deepfake with random actions
  2. Set video duration 5-15 seconds - Enough frames to analyse, not too long
  3. Check audio-visual sync - Voice cloning often has sync issues
  4. Combine with image deepfake - Scan ID document too
  5. Manual review uncertain cases - 70-89% confidence range
  6. Limit retries - Fraudsters will retry until successful, limit to 3 attempts
  7. Monitor suspicious patterns - Multiple failed liveness from same device

Limitations

Detection Challenges

Current Performance:

  • Face swap detection: 92%
  • Screen replay: 97%
  • Liveness spoofing: 94%
  • Overall: 92%

Difficult Cases:

  • High-quality real-time deepfakes (expensive hardware required)
  • Short videos (<5 seconds, fewer frames to analyse)
  • Low resolution (artifacts harder to detect)
  • Poor lighting (masks deepfake artifacts)

False Positives

Common Causes:

  • Webcam quality (low-end cameras have artifacts)
  • Compression (heavy video compression adds artifacts)
  • Lighting changes (moving between shadows)
  • Network lag (in live video calls, can cause jitter)

Mitigation:

  • Use 70%+ threshold
  • Manual review 70-89% range
  • Allow retake with better lighting/camera

Attack Evolution

Current Threats (2024)

  1. Real-Time Face Swap:

    • Software: DeepFaceLive, FaceSwap Live
    • Requires: Powerful GPU, training data
    • Effectiveness: Medium (detectable with temporal analysis)
  2. Video-to-Video:

    • Techniques: First Order Motion Model, Face2Face
    • Quality: High for short clips
    • Effectiveness: High (harder to detect)
  3. Screen Replay:

    • Simple but common
    • Effectiveness: Low (easily detected)

Emerging Threats

  • Neural Rendering: Real-time photorealistic face synthesis
  • Audio-Driven Face Reenactment: Lip-sync from audio only
  • Full-Body Deepfakes: Beyond just face replacement

Continuous Updates

Our detection models are updated monthly to counter new deepfake techniques. Keep your integrations up-to-date for best protection.

API Reference

Analyze Video

POST /api/v4/deepfake/analyse
 
// multipart/form-data
{
  "video": File,
  "analysisType": "verification" | "general",
  "includeLiveness": boolean,
  "returnSuspiciousFrames": boolean
}
 
// Returns
{
  "jobId": "job_xyz789",
  "status": "processing",
  "estimatedTime": "45 seconds"
}

Get Results

GET /api/v4/deepfake/jobs/:jobId
 
// Returns full analysis including frame-by-frame data

Extract Suspicious Frames

GET /api/v4/deepfake/jobs/:jobId/frames?frameNumbers=45,89,112
 
// Returns specific frames as images for manual review

Pricing

Video DurationProcessing TimeCost
Standard video30-120 seconds5 Credits
Extended videosContact usCustom pricing

Next Steps

See it in action

Experience the full power of VeriPlus compliance platform.

Start Free Trial

Ready to get started?

Start with our free plan. No credit card required.

We value your privacy

We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies. Read our Privacy Policy and Cookie Policy for more information.