# Video Interpolation Code

## Directory Structure

The `interp-website` directory contains the React project which builds the
website contents.

The `nnqueue` directory contains the Java Spring Boot project which handles
file uploads and validation, video processing status, and video downloads.

The `nnprocessor` directory contains the Python project which processes the
videos through the interpolation network.

## Installation

### Website

```
cd interp-website
npm install
npm run build
```

Copy the contents of dist/ to a web server, configured to forward all web
requests to the index JS file.

### Java Backend

```
cd nnqueue
./gradlew run
```

### Python NN Processor

```
cd nnprocessor
python3 -m venv venv
source venv/bin/activate
python3 -m pip install opencv-python moviepy numpy torch torchvision
python3 -m nnprocessor
```

## Usage

Upon successful deployment to your web server, simply visit the website and
follow the instructions given on the website. Whether you upload a video or
check on the status of an existing video, you should automatically receive a
download link for the video upon successful processing, or you'll be shown an
error message.
