Transcoding microservice: on-demand transcode for unsupported formats #14
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add a transcoding service that converts media on-the-fly when the client cannot direct-play the source format. Design: streaming service detects client capabilities from Accept header or query param (codec, container, resolution); if direct-play is possible, returns existing S3 URL as today; if not, proxies through transcoding service which uses FFmpeg/jellyfin-ffmpeg to transcode in real-time (HLS or progressive MP4). Prefer direct play always. Transcoding service should expose /transcode/{token} endpoint returning chunked video stream. Codec negotiation and client detection logic lives in the streaming service.