[Plugin] Feature: Hi-Res Auto-Relink #31

Closed
opened 2026-05-24 11:55:55 -04:00 by zgaetano · 0 comments
Owner

Overview

Detect proxy clip usage in timeline, render trimmed hi-res segments, and automatically relink clips.

User Workflow

  1. User edits timeline with proxy clips
  2. User clicks "Advanced" → "Fetch & Relink All"
  3. Plugin analyzes timeline and shows clip list with checkboxes
  4. User reviews and clicks "Fetch & Relink"
  5. Confirmation dialog shows summary
  6. Plugin requests trimmed segments from server
  7. Downloads segments and automatically relinks clips
  8. Shows completion summary (success/retry/failed)

Plugin Tasks

  • Add relinkClipToNewMedia() to jsx/premiere.jsx
  • Enhance exportTimelineData() with clip instance IDs
  • Create clip list UI with checkboxes
  • Implement batch trim request
  • Add download progress tracking
  • Implement automatic relink logic
  • Add confirmation dialog
  • Add retry logic for failed relinks
  • Test end-to-end workflow

Server Tasks

  • Add POST /api/v1/assets/batch-trim endpoint
  • Add GET /api/v1/assets/trim-status endpoint
  • Create temp_segments table in migration
  • Add 'trim' to job_type enum
  • Implement cleanup task for expired segments
  • Configure S3 lifecycle policy for temp-segments

Worker Tasks

  • Create worker/src/trimWorker.js
  • Implement frame-accurate FFMPEG trimming
  • Handle codec detection and stream copy
  • Register trim worker with concurrency: 4
  • Test with various codecs (ProRes, DNxHR, H.264)

Technical Details

  • Trim segments: exact frame matches (no handles)
  • Temp segments: 24-hour TTL
  • Failed relinks: retry once, then show summary
  • Multiple clip instances: render separate segments

Files

  • Plugin: jsx/premiere.jsx, js/main.js, index.html, css/styles.css
  • Server: routes/assets.js, db/migrations/006-advanced-features.sql, tasks/cleanupTempSegments.js
  • Worker: worker/src/trimWorker.js, worker/src/index.js

Estimated Time

1 week

## Overview Detect proxy clip usage in timeline, render trimmed hi-res segments, and automatically relink clips. ## User Workflow 1. User edits timeline with proxy clips 2. User clicks "Advanced" → "Fetch & Relink All" 3. Plugin analyzes timeline and shows clip list with checkboxes 4. User reviews and clicks "Fetch & Relink" 5. Confirmation dialog shows summary 6. Plugin requests trimmed segments from server 7. Downloads segments and automatically relinks clips 8. Shows completion summary (success/retry/failed) ## Plugin Tasks - [ ] Add `relinkClipToNewMedia()` to `jsx/premiere.jsx` - [ ] Enhance `exportTimelineData()` with clip instance IDs - [ ] Create clip list UI with checkboxes - [ ] Implement batch trim request - [ ] Add download progress tracking - [ ] Implement automatic relink logic - [ ] Add confirmation dialog - [ ] Add retry logic for failed relinks - [ ] Test end-to-end workflow ## Server Tasks - [ ] Add `POST /api/v1/assets/batch-trim` endpoint - [ ] Add `GET /api/v1/assets/trim-status` endpoint - [ ] Create temp_segments table in migration - [ ] Add 'trim' to job_type enum - [ ] Implement cleanup task for expired segments - [ ] Configure S3 lifecycle policy for temp-segments ## Worker Tasks - [ ] Create `worker/src/trimWorker.js` - [ ] Implement frame-accurate FFMPEG trimming - [ ] Handle codec detection and stream copy - [ ] Register trim worker with concurrency: 4 - [ ] Test with various codecs (ProRes, DNxHR, H.264) ## Technical Details - Trim segments: exact frame matches (no handles) - Temp segments: 24-hour TTL - Failed relinks: retry once, then show summary - Multiple clip instances: render separate segments ## Files - Plugin: `jsx/premiere.jsx`, `js/main.js`, `index.html`, `css/styles.css` - Server: `routes/assets.js`, `db/migrations/006-advanced-features.sql`, `tasks/cleanupTempSegments.js` - Worker: `worker/src/trimWorker.js`, `worker/src/index.js` ## Estimated Time 1 week
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: WildDragonLLC/dragonflight#31
No description provided.