Skip to content

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:00

Block-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.