Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
199 changes: 7 additions & 192 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,197 +1,12 @@
# Jeffrey Epstein Prison Video Forensic Analysis
# React + Vite

A comprehensive computational analysis of the DOJ's "raw" surveillance video that reveals definitive evidence of professional video editing using Adobe software.
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

## 🚨 Key Findings
Currently, two official plugins are available:

This analysis provides **computational proof** that the DOJ's "raw" surveillance video:
- Was processed through **Adobe Media Encoder 2024.0**
- Contains metadata from **multiple source video files**
- Shows evidence of **professional video editing and splicing**
- Has a **splice point at 6 hours 36 minutes** into the video
- Contradicts claims of being "raw" surveillance footage
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## πŸ“Š Live Analysis Report

**[πŸ” View Interactive Analysis Report](https://codegen-sh.github.io/forensic-analysis/)**

The live report includes:
- Step-by-step computational analysis
- Visual frame comparisons showing splice evidence
- Complete metadata breakdown
- Technical methodology details

## πŸ”¬ Technical Evidence Summary

### Adobe Editing Signatures
- **Software**: Adobe Media Encoder 2024.0 (Windows)
- **User Account**: `MJCOLE~1`
- **Project File**: `mcc_4.prproj`
- **XMP Metadata**: Extensive Adobe-specific editing data

### Source Clips Identified
- **File 1**: `2025-05-22 21-12-48.mp4` (23.76 seconds)
- **File 2**: `2025-05-22 16-35-21.mp4` (15.56 seconds)
- **Total spliced content**: ~39 seconds

### Splice Point Evidence
- **Location**: 23,760.47 seconds (6h 36m 0s) into the video
- **Visual Evidence**: 5.0% file size change between consecutive frames
- **Timing Accuracy**: Metadata prediction confirmed by frame analysis

## πŸš€ Quick Start

### Prerequisites

#### System Requirements
- Python 3.6 or higher
- At least 25 GB free disk space
- Internet connection for video download

#### Required Tools

**Ubuntu/Debian:**
```bash
sudo apt update
sudo apt install ffmpeg exiftool python3 python3-pip
```

**macOS (with Homebrew):**
```bash
brew install ffmpeg exiftool python3
```

**Windows:**
1. Install Python from https://python.org
2. Download ffmpeg from https://ffmpeg.org/download.html and add to PATH
3. Download exiftool from https://exiftool.org and add to PATH

### Installation & Usage

```bash
# Clone the repository
git clone https://github.com/codegen-sh/forensic-analysis.git
cd forensic-analysis

# Install Python dependencies (none required - uses standard library)
pip install -r requirements.txt

# Run the complete analysis
python epstein_video_analyzer.py
```

### What the Analysis Does

1. **Downloads** the 19.5 GB DOJ video automatically
2. **Extracts** comprehensive metadata using industry-standard tools
3. **Identifies** Adobe editing signatures and splice points
4. **Analyzes** frame discontinuities around the splice location
5. **Generates** professional HTML forensic reports
6. **Creates** visual evidence of the splice point

## πŸ“ Output Files

After running the analysis, you'll find:

- **`analysis_report.html`** - Main forensic report (open in browser)
- **`raw_video.mp4`** - Downloaded DOJ video file (19.5 GB)
- **`metadata.json`** - Complete extracted metadata
- **`xmp_metadata.xml`** - Adobe XMP editing metadata
- **`splice_frames/`** - Extracted frames around splice points
- **`splice_evidence_visualization.html`** - Interactive frame comparison

## πŸ” Key Evidence Commands

### Extract Adobe Editing Metadata
```bash
exiftool -CreatorTool -WindowsAtomUncProjectPath raw_video.mp4
# Output: Adobe Media Encoder 2024.0 (Windows)
```

### Calculate Splice Point Location
```bash
python3 -c "print(6035539564454400 / 254016000000)"
# Output: 23760.47 seconds = 6h 36m 0s
```

### Extract Frames Around Splice Point
```bash
ffmpeg -ss 23759 -t 4 -vf "fps=1" -q:v 2 splice_frames/frame_%03d.png raw_video.mp4
```

### Analyze Frame Size Discontinuities
```bash
ls -la splice_frames/frame_*.png | awk '{print $9, $5}'
# Shows 5.0% size jump between frames 2 and 3
```

## πŸ“Š Evidence Summary

### Definitive Proof of Editing
- βœ… **Adobe software signatures** embedded in metadata
- βœ… **Multiple source files** identified and documented
- βœ… **Professional editing timeline** with 5 save operations
- βœ… **Splice point location** calculated and visually confirmed
- βœ… **Frame discontinuities** showing 5.0% compression change

### Chain of Custody Issues
- ❌ **Not raw footage** - processed through professional editing software
- ❌ **Multiple sources** - assembled from separate video files
- ❌ **Content substitution** - 39 seconds replaced at critical time point
- ❌ **Deceptive labeling** - calling edited footage "raw" surveillance

## πŸ”— Related Resources

- [Original Wired Article](https://www.wired.com/story/metadata-shows-the-dojs-raw-jeffrey-epstein-prison-video-was-likely-modified/)
- [DOJ Video Release](https://www.justice.gov/opa/media/1407001/dl?inline)
- [ExifTool Documentation](https://exiftool.org/)
- [FFmpeg Documentation](https://ffmpeg.org/documentation.html)

## πŸ› οΈ Troubleshooting

### Common Issues

**"Tool not found" errors:**
- Ensure ffmpeg and exiftool are installed and in your PATH
- On Windows, restart command prompt after installation

**Download fails:**
- Check internet connection and disk space (25+ GB required)
- Download may take 10-60 minutes depending on connection speed

**Memory issues:**
- Ensure at least 4 GB RAM available
- Close other applications during analysis

**Permission errors:**
- Ensure write permissions in the analysis directory
- Try running from a different location

## βš–οΈ Legal and Ethical Considerations

This analysis is provided for:
- **Digital forensics research and education**
- **Transparency in government evidence presentation**
- **Academic investigation of metadata analysis techniques**
- **Public interest in evidence integrity**

The analysis:
- Does not modify the original video file
- Focuses solely on technical metadata examination
- Uses standard digital forensics methodologies
- Makes no claims about the events depicted in the video

## ⚠️ Disclaimer

This tool is provided for educational and research purposes. The analysis is based on technical metadata examination using standard digital forensics practices. Users should verify findings independently and consult with qualified digital forensics experts for legal or evidentiary purposes.

## πŸ“„ License

This project is released under the MIT License. See LICENSE file for details.

---

**Generated by**: Computational forensics analysis
**Last Updated**: January 2025
**Analysis Version**: 1.0
## Expanding the ESLint configuration

If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
77 changes: 77 additions & 0 deletions docs-backup/OPTIMIZATION_REPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Image Loading Optimization Report

## Problem
The forensic analysis GitHub Pages site was experiencing slow loading times due to large image files:
- **60 PNG images** totaling **121MB**
- Average image size: **~2MB per image**
- Poor user experience with slow loading times

## Solution Implemented

### 1. WebP Conversion
- Converted all PNG images to WebP format using `cwebp` with quality 90
- Maintained forensic image quality while achieving significant compression
- **Result: 95% size reduction (121MB β†’ 7.1MB)**

### 2. Smart Loading System
- **WebP Support Detection**: Automatically detects browser WebP support
- **Progressive Fallback**: Falls back to PNG for unsupported browsers
- **Image Caching**: Implements client-side caching to prevent re-downloads
- **Preloading**: Intelligently preloads adjacent frames for smooth navigation

### 3. Performance Monitoring
- Real-time load time tracking
- Format indicator showing optimization status
- Visual loading indicators for better UX

### 4. Optimized User Experience
- **Lazy Loading**: Images load only when needed
- **Smooth Transitions**: Loading indicators and opacity transitions
- **Responsive Design**: Maintains forensic quality while optimizing delivery

## Performance Improvements

| Metric | Before | After | Improvement |
|--------|--------|-------|-------------|
| Total Size | 121MB | 7.1MB | **95% reduction** |
| Average Image Size | ~2MB | ~120KB | **94% reduction** |
| Load Time | Slow | Fast | **Significant improvement** |
| Browser Support | PNG only | WebP + PNG fallback | **Enhanced compatibility** |

## Technical Implementation

### WebP Conversion
```bash
# High-quality WebP conversion maintaining forensic integrity
cwebp -q 90 -m 6 -mt input.png -o output.webp
```

### Smart Loading JavaScript
- Automatic format detection
- Promise-based image loading
- Intelligent caching system
- Adjacent frame preloading

### Browser Compatibility
- **WebP Support**: Modern browsers (Chrome, Firefox, Safari, Edge)
- **PNG Fallback**: Older browsers automatically use PNG
- **Progressive Enhancement**: Works on all browsers

## Benefits for Forensic Analysis

1. **Faster Evidence Review**: Reduced loading times improve analysis workflow
2. **Maintained Quality**: 90% WebP quality preserves forensic detail
3. **Better Accessibility**: Faster loading on slower connections
4. **Cost Effective**: Uses free GitHub Pages hosting efficiently

## Files Modified
- `docs/index.html` - Updated with smart loading system
- `docs/splice_frames/*/` - Added WebP versions of all images
- `optimize_images.sh` - Automation script for future updates

## Future Enhancements
- Service Worker implementation for offline caching
- Progressive JPEG support for additional fallback
- Automated CI/CD pipeline for image optimization
- CDN integration for global delivery optimization

Loading