Closed Alpha
FluxPlay is currently in Closed Alpha. This documentation is a work in progress and may be incomplete or out of date. Features, UI, and APIs are subject to change without notice. For access inquiries, please contact [email protected].
PRETRANSCODING
Pre-generate HLS renditions ahead of time for instant, buffer-free playback. Users press play and content is immediately available at the right quality level — no waiting for on-demand transcoding.
Zero-Wait Playback
Pretranscoded content starts instantly because all HLS segments already exist on disk. The player never has to wait for the server to transcode a segment before it can buffer the next one.
Capabilities
Transcoding Profiles
Define target resolutions, bitrates, codecs, and encoder settings. Multiple profiles can be assigned to a library.
Window Policy
Schedule pretranscoding to run only within allowed time windows — e.g. 2 AM to 6 AM — to avoid peak-hour resource contention.
Block-When-Streaming
Live playback takes priority. When users are actively streaming, pretranscoding is suspended to preserve bandwidth and GPU resources.
GPU Concurrency
Set maximum concurrent jobs per encoder (NVENC, QSV, AMF, VAAPI) to stay within GPU driver limits and prevent thermal throttling.
Job Recovery
On startup, the recovery service finds interrupted jobs and resumes or cleans them up. Crash-safe via journaled file transactions.
Disk Space Validation
Disk space is checked before each job starts. Jobs are deferred when free space falls below the configured threshold.
Profile Setup
Pretranscoding profiles are configured under Admin → Pretranscoding → Profiles. Each profile defines one target rendition. Multiple profiles can be active simultaneously — for example a 1080p profile and a 720p profile for mobile clients.
Profile settings
- →Video codec: H.264, H.265/HEVC, AV1
- →Resolution and bitrate target
- →Encoder: NVENC, QSV, AMF, VAAPI, or CPU (libx265/libx264)
- →Quality preset (speed vs compression tradeoff)
- →HLS segment duration (default 6 seconds)
Window Policy
The window policy restricts when the pretranscoding worker is allowed to run. Each policy defines a set of day-of-week and time-of-day windows. The worker checks the current time before picking up a new job — if outside the configured windows, it waits until the next window opens.
Example window configuration
Windows:
- Days: Monday-Friday
Start: 00:00
End: 06:00
- Days: Saturday, Sunday
Start: 00:00
End: 10:00Block-When-Streaming
When BlockWhenStreaming is enabled (default: true), the pretranscoding worker pauses immediately when any user starts an active stream. The worker resumes automatically when the last stream ends. This ensures that GPU and network resources are fully available for live playback sessions.
Job Recovery
When FluxPlay starts, the pretranscoding recovery service scans for jobs that were interrupted by a crash, power loss, or forced restart. Incomplete temporary files (.tmp, .pretranscode.bak) are cleaned up, and jobs are reset to Pending so the worker can retry them cleanly.