Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ VideoAuth β€” AI Video & Deepfake Forensic Detection Platform

VideoAuth is a Django-based AI video authentication and digital-forensics platform designed to analyze uploaded videos and estimate their authenticity using multiple forensic signals.

🌐 Live Demo: https://videoauthenticator-bs82.onrender.com/


πŸ“Œ Overview

VideoAuth analyzes digital video files and generates a forensic report containing authenticity indicators, deepfake risk, metadata/container information, visual quality signals, and other analysis metrics.

The application provides a simple web dashboard where users can:

  • Create an account and log in securely
  • Upload video files for forensic analysis
  • View analysis results and authenticity scores
  • Review previously analyzed videos
  • Search analyzed videos
  • Export analysis certificates as JSON
  • Delete analyzed video records

✨ Key Features

πŸŽ₯ Video Forensic Analysis

  • Multi-layer video authenticity analysis
  • Deepfake risk estimation
  • Authenticity scoring
  • Metadata and container analysis
  • Spatial sharpness / smoothing analysis
  • Temporal and visual forensic indicators
  • Video duration and technical information

πŸ“Š Interactive Dashboard

  • Total videos analyzed
  • Authentic videos detected
  • Deepfake/suspicious video count
  • Average authenticity score
  • Search and filtering by result type

πŸ‘€ User Authentication

  • User registration
  • Login/logout
  • User-specific video records
  • Django authentication system

πŸ“„ Reports & Certificates

  • Detailed forensic result page
  • Authenticity and AI-generation likelihood scores
  • JSON certificate export
  • Video deletion functionality

🧰 Tech Stack

Technology Purpose
Python 3.12 Core programming language
Django 5.2 Web framework
PostgreSQL Production database
SQLite Local development database
OpenCV Computer vision and video processing
NumPy Numerical processing
Pillow Image processing
Matplotlib Visualization/analysis
ImageIO Media processing
Gunicorn Production WSGI server
WhiteNoise Static file serving
dj-database-url Database configuration
Render Cloud deployment
Git & GitHub Version control

πŸ—οΈ Project Structure

VideoAuthenticator/
β”‚
β”œβ”€β”€ video/
β”‚   β”œβ”€β”€ migrations/
β”‚   β”œβ”€β”€ templates/
β”‚   β”œβ”€β”€ admin.py
β”‚   β”œβ”€β”€ apps.py
β”‚   β”œβ”€β”€ forms.py
β”‚   β”œβ”€β”€ models.py
β”‚   β”œβ”€β”€ urls.py
β”‚   β”œβ”€β”€ utils.py
β”‚   β”œβ”€β”€ views.py
β”‚   └── tests.py
β”‚
β”œβ”€β”€ videoauth/
β”‚   β”œβ”€β”€ settings.py
β”‚   β”œβ”€β”€ urls.py
β”‚   β”œβ”€β”€ asgi.py
β”‚   └── wsgi.py
β”‚
β”œβ”€β”€ static/
β”‚   └── css/
β”‚       └── style.css
β”‚
β”œβ”€β”€ templates/
β”‚   β”œβ”€β”€ base.html
β”‚   β”œβ”€β”€ login.html
β”‚   └── register.html
β”‚
β”œβ”€β”€ build.sh
β”œβ”€β”€ manage.py
β”œβ”€β”€ Procfile
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ .python-version
β”œβ”€β”€ .gitignore
└── README.md

πŸš€ Run Locally

1. Clone the repository

git clone https://github.com/ayush5735/VideoAuthenticator.git
cd VideoAuthenticator

2. Create a virtual environment

python3.12 -m venv venv

Activate it:

macOS/Linux

source venv/bin/activate

Windows

venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Apply migrations

python manage.py migrate

5. Collect static files

python manage.py collectstatic --noinput

6. Start the development server

python manage.py runserver

Open:

http://127.0.0.1:8000/

βš™οΈ Environment Variables

For production, configure the following environment variables:

SECRET_KEY=your-production-secret-key
DEBUG=False
DATABASE_URL=your-postgresql-database-url
ALLOWED_HOSTS=your-domain.com

For local development, the project can use SQLite as the default database.

Never commit production secrets or database credentials to GitHub.


☁️ Deployment

The application is deployed on Render.

Build Command

./build.sh

Start Command

gunicorn videoauth.wsgi:application --bind 0.0.0.0:$PORT --timeout 120

The deployment uses:

  • Python 3.12
  • Gunicorn
  • PostgreSQL
  • WhiteNoise
  • Django migrations
  • Static file collection

Live Application

https://videoauthenticator-bs82.onrender.com/


πŸ”¬ Forensic Analysis Workflow

A simplified workflow is:

Upload Video
      ↓
Read Video & Metadata
      ↓
Extract Frames / Video Information
      ↓
Run Forensic Analysis
      ↓
Calculate Individual Signals
      ↓
Generate Authenticity / Deepfake Risk
      ↓
Create Forensic Report
      ↓
Display Result & Export Certificate

πŸ“ˆ Example Result

A typical analysis report can include metrics such as:

Verdict: VERIFIED REAL CAMERA FOOTAGE

Deepfake Risk: LOW RISK

Authentic Real: 97.0%
AI Generation Likelihood: 3.0%
Metadata & Container: 100.0%
Spatial Sharpness / Smoothing: 97.3%

Note: These scores are forensic indicators generated by the application's analysis pipeline. They should not be treated as absolute proof of authenticity or manipulation.


πŸ” Security Notes

  • Production SECRET_KEY should be stored as an environment variable.
  • DEBUG should be disabled in production.
  • Database credentials should never be committed to source control.
  • Uploaded media should be handled using appropriate production storage.
  • Do not upload sensitive/private videos to a public demo without appropriate authorization.

⚠️ Production Storage Consideration

The application uses Django's file storage for uploaded media.

Cloud web-service filesystems can be ephemeral, meaning uploaded videos may not persist across service restarts or redeployments unless persistent or external object storage is configured.

For a production-scale deployment, consider:

  • Amazon S3
  • Cloudinary
  • Google Cloud Storage
  • Another object-storage provider
  • A suitable persistent disk configuration

🎯 Future Enhancements

  • Advanced deepfake detection models
  • Face-level manipulation detection
  • Audio deepfake analysis
  • Blockchain-based media provenance
  • Cloud object storage
  • Background processing for large videos
  • Real-time processing status
  • PDF forensic reports
  • API endpoints for third-party integrations
  • Advanced analytics dashboard
  • Automated benchmark testing on public deepfake datasets

πŸ‘¨β€πŸ’» Author

Ayush Singh

B.Tech β€” Computer Science & Engineering

GitHub: https://github.com/ayush5735


πŸ“„ License

This project is licensed under the MIT License.

About

AI-powered video authentication and deepfake forensic detection platform.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages