feat(podcasts): prepare seekable MP4 replays and overlay controls

Remux completed broadcasts with FFmpeg, retain source segments and account for both formats. Serve authenticated byte ranges and add native Android/Desktop replay controls with auto-hide.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Paul Schneider 2026-10-25 00:48:53 +01:00
commit 1dcbfe159a
Signed by: notazof
GPG key ID: AD4B9B545FBD7D12
31 changed files with 1386 additions and 36 deletions

View file

@ -36,6 +36,19 @@ Authorization: Bearer {{token}}
POST {{baseUrl}}/api/v1/podcasts/{{id}}/complete
Authorization: Bearer {{token}}
### Ready MP4: authenticated seek range (206; 409 until replay.state is Ready)
GET {{baseUrl}}/api/v1/podcasts/{{id}}/replay.mp4
Authorization: Bearer {{token}}
Range: bytes=0-65535
### MP4 size and range support without downloading the body
HEAD {{baseUrl}}/api/v1/podcasts/{{id}}/replay.mp4
Authorization: Bearer {{token}}
### Retry failed MP4 preparation (owner only; 202)
POST {{baseUrl}}/api/v1/podcasts/{{id}}/replay/retry
Authorization: Bearer {{token}}
### Delete an ended podcast (owner only)
DELETE {{baseUrl}}/api/v1/podcasts/{{id}}
Authorization: Bearer {{token}}