Add media processing, mine feed filter, and preserve ended streams as videos

- Add ffmpeg-based media asset generation (poster, thumbnail, clip) for previews and videos
- Add GET /media/thumbnails/:filename serving route
- Add filter=mine to feed endpoint for user's own published streams
- Feed response now includes posterUrl, thumbnailUrl, clipUrl
- Deleting an ENDED plan with preview preserves it as a Video record
- Add sourcePlanId to Video schema
This commit is contained in:
2026-03-04 21:07:18 +01:00
parent 36dce50b64
commit a814dd3387
11 changed files with 458 additions and 9 deletions

View File

@@ -166,6 +166,7 @@ model Video {
videoUrl String
fileSize Int?
isPublic Boolean @default(true)
sourcePlanId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
likes VideoLike[]