Commit Graph

6 Commits

Author SHA1 Message Date
CallMeVerity cc3904705c Add video transcoding to H264/MP4, use high quality CRF 18 2026-06-03 04:32:01 +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