Video Platform
The Video Platform (VPE) replaces Frame.io as Heliconflow's video review system. Videos are stored on AWS S3, delivered via CloudFront, and reviewed in an in-app player with timecode comments. Share links let clients and external reviewers watch and comment without an account. > Architecture note: The VPS never touches video bytes. All video delivery happens via CloudFront's edge network. The VPS only handles metadata — presigned URL generation, comment storage, and share token validation.
Video upload
Simple presigned single-PUT upload
Select or drop a video file — supported formats: MP4, MOV, WebM, AVI, MPEG. The browser uploads directly to S3 via a presigned URL with a progress bar. After upload, the system creates a thumbnail from the first frame and queues transcoding to a browser-playable proxy.
Multipart (chunked, parallel) upload
Large files are automatically split into 64MB parts and uploaded in parallel. Each part has its own retry logic. The upload assembles on S3 when all parts complete.
Abort / cancel
Cancel an in-progress upload. The partial S3 object and pending row are cleaned up automatically.
Drag-and-drop / file-type validation
Videos can be dropped or selected via file picker. Non-video files are rejected with a client-side error.
Video Review page
Open the Video Review page
Navigate to /review/[videoAssetId] — accessible from a production card, the Qual page, or a notification. External users can only access videos from their assigned clients.
Video playback
Full player with play/pause, scrubber, time display, playback speed (0.5×–2×), volume, fullscreen, and restart. Keyboard shortcuts: Space = play/pause, Left/Right arrows = step one frame.
Comment dots on the scrubber
Each comment appears as a green dot on the progress bar. Click a dot to seek to that comment's timecode and highlight it in the panel.
Transcript panel
If the video has been transcribed, a scrollable transcript appears. Click any word to seek the player to that timestamp. Copy copies the full text. Export SRT downloads the transcript as a subtitle file.
Approve / Back-to-Editing from review page
When arriving in Qual-review context, Approve and Back-to-Editing buttons appear in the top bar. Same notifications fire as from the Video Card or Qual page.
Archived-version picker
Switch between the current version and earlier archived versions of the same production's video using a dropdown.
Restore archived video as current
Brings an archived version back as the production's current video. The previously current version is archived.
Permanently delete archived video
Permanently deletes an archived version. Only allowed on already-archived assets.
Comments
Add a timecode comment
Click in the comment composer (or press Shift+C to focus, Enter to send) while the video is at the moment you want to pin. The comment is saved at the current playhead time.
Reply to a comment
Click "↩ Reply" under any comment to add a threaded reply at the same timecode.
Edit own comment or reply
Click "Edit" on a comment or reply you authored, change the text, and save.
Delete own comment or reply
Click "Delete" and confirm. Deleting a parent comment removes its replies too. Admins can delete any comment.
Resolve / unresolve a comment
Click "○ Resolve" to mark a comment resolved (records who resolved it and when). Click "✓ Resolved" to unresolve. Resolved comments are dimmed and excluded from the open-comment count. Resolution is for internal users only — hidden from external/guest viewers.
Jump to a comment's timecode
Click any comment or reply card to seek the player to that timecode.
Sort comments
Sort by timecode, newest, or oldest using the sort dropdown.
Downloads
Download video (signed URL)
Returns a presigned S3 URL for the original video file. Short-lived. Available to all logged-in users with card access.
Bulk zip download
Select multiple videos to start a background zip job. The system streams the videos into a zip on S3 (never fully materializing them in VPS memory). Poll status until complete, then download. Job expires after 1 hour.