A web-based job submission and monitoring tool for Adobe Media Encoder (AME) in a Grassvalley AMPP environment. Editors upload `.prproj` files through the browser, the server remaps `.gves` proxy paths to high-resolution UNC paths, then delivers the remapped project to AME's watch folder for automated rendering.
## How It Works
1. Editor uploads a Premiere Pro `.prproj` file via the web UI
2. The server parses and remaps any `.gves` proxy media paths to their high-res UNC equivalents
3. The remapped project file is written to AME's watch folder
4. AME picks up the file, renders it, and writes output to the output folder
5. The job manager polls both folders and updates job status automatically: `queued → encoding → complete`
| `queued` | File written to watch folder, waiting for AME to pick it up |
| `encoding` | File disappeared from watch folder — AME is actively rendering |
| `complete` | Output file detected in the output folder |
| `error` | Job timed out or AME log reported an error |
The server polls both folders every `POLL_INTERVAL_MS` milliseconds to detect status transitions.
## Path Remapping
The core function of this tool is to make `.prproj` files renderable on a high-res render machine. Premiere projects created on AMPP workstations often reference `.gves` proxy files. This server rewrites those references to the corresponding UNC/high-res paths before handing the project to AME.
The remapping logic lives in `prproj-remapper.js`. You can test a remap without submitting a job using the analyze endpoint or the dry-run button in the UI.
## API Reference
| Method | Endpoint | Description |
|--------|----------|-------------|
| POST | `/api/login` | Authenticate and get a session ID |
| POST | `/api/logout` | End session |
| POST | `/api/jobs` | Submit a `.prproj` file and create a job |
| POST | `/api/jobs/analyze` | Dry-run analysis of a `.prproj` (no submission) |
| GET | `/api/jobs` | List all jobs |
| GET | `/api/jobs/:id` | Get a single job by ID |
| DELETE | `/api/jobs/:id` | Delete a job record |
| GET | `/api/status` | System status — folder health, job counts, AME log stats |
| GET | `/api/ame/logs` | Full AME log data with recent entries |