Skip to content

Conversation

@codihuston
Copy link
Owner

@codihuston codihuston commented Jan 30, 2026

Summary

Add video clip export functionality allowing users to extract segments from videos using ffmpeg stream copy. Users can specify start/end timestamps and download clips directly from the browser.

Changes

  • Product changes
  • Security changes
  • Test changes
  • Dependency changes
  • UX changes
  • Architecture changes
  • Feature/code changes
  • CI/CD changes
  • Breaking changes

Testing

  • Tests pass locally
  • New tests added (if applicable)
  • Manual testing completed

Related Issues

N/A

Screenshots (if applicable)

N/A


e08544b feat(clip-export): add user-editable timestamp inputs and ffmpeg to backend
c58c8b0 feat(api): add video clip export endpoint

Detailed Changes

Backend

  • Add GET /api/v1/videos/{video_id}/clip endpoint for exporting video segments
  • Accept start_ms, end_ms, buffer_ms query parameters
  • Validate video exists and timestamp range is valid
  • Use ffmpeg stream copy for fast extraction (no re-encoding)
  • Stream output directly to client with descriptive filename in Content-Disposition header
  • Install ffmpeg in backend Docker container

Frontend

  • Add start/end time inputs in MM:SS format for clip export
  • Add "set to current time" buttons for each timestamp input
  • Show export clip controls on any video (not just search results)
  • Add loading state during clip export

Tests

  • Add backend/tests/test_clip_export.py with endpoint tests
  • Add frontend tests for export clip button visibility and loading state

Add GET /api/v1/videos/{video_id}/clip endpoint for exporting
video segments using ffmpeg stream copy.

- Accept start_ms, end_ms, buffer_ms parameters
- Validate video exists and timestamp range
- Stream output directly to client
- Generate descriptive filename in Content-Disposition header
- Regenerate backend poetry.lock
- Add optional language property to RunInfo interface in OCRViewer
- Add optional language property to RunInfo interface in TranscriptViewer
…ackend

- Add start/end time inputs (MM:SS format) for clip export
- Add 'set to current time' buttons for each timestamp
- Show export clip controls on any video (not just search results)
- Install ffmpeg in backend Docker container for clip extraction
- Add tests for export clip button visibility and loading state
@codihuston codihuston merged commit ecae43f into main Jan 30, 2026
2 checks passed
@codihuston codihuston deleted the clip branch January 31, 2026 06:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant