Commit Graph

13 Commits

Author SHA1 Message Date
CallMeVerity 87e408f1a7 Re-add static file serving catch-all route 2026-06-04 22:47:25 +01:00
CallMeVerity 32e13fcc85 Change /video/ route to /run/, add embed support 2026-06-04 22:42:39 +01:00
CallMeVerity f0f50a6f12 Retry S3 GetObject on first-request failures, return 502 for stream errors 2026-06-03 06:55:57 +01:00
CallMeVerity c0b93a2a6e Remove server-side transcoding 2026-06-03 04:56:31 +01:00
CallMeVerity ff2c3997a0 Auto-transcode on upload, show transcode status to user 2026-06-03 04:38:51 +01:00
CallMeVerity 8121369a58 Stream download for transcode, multipart upload for large output 2026-06-03 04:34:26 +01:00
CallMeVerity cc3904705c Add video transcoding to H264/MP4, use high quality CRF 18 2026-06-03 04:32:01 +01:00
CallMeVerity 17ea6ce7c4 Expose Content-Range, Accept-Ranges, Content-Length in CORS 2026-06-03 04:24:09 +01:00
CallMeVerity 1704b0b736 Fix video streaming: parse total size from S3 Content-Range header 2026-06-03 04:18:21 +01:00
CallMeVerity 6da2539c03 Stream video through backend with Range request support
Previously videos were served via direct RustFS URLs, which meant:
- No HTTP Range support (browsers had to download the entire file)
- Large videos couldn't play at all
- Video player rendered broken

Now videos stream through GET /api/videos/:id/stream which:
- Proxies video data from RustFS to the browser
- Supports Range requests (HTTP 206 Partial Content) for seeking
- Sets proper headers (Accept-Ranges, Content-Range, Content-Type)
- Caches for 24 hours

Frontend changes:
- VideoPlayer: added playsInline, preload=metadata, object-contain, error state
- VideoDetail: removed duplicate inline video, now uses VideoPlayer component
- index.css: style WebKit video controls (dark panel, no border-radius)
2026-06-03 03:56:39 +01:00
CallMeVerity dc021e4856 S3 multipart upload for large videos, EISDIR fix 2026-06-03 03:30:54 +01:00
CallMeVerity ba9752d33c Fix directory EISDIR on root path, remove favicon 2026-06-03 01:43:24 +01:00
CallMeVerity 3369f22f69 Initial commit 2026-06-03 00:44:48 +01:00