Skip to main content
Video transformations run as background jobs. Everything here is optional: left alone, the worker sizes itself to the container.

Variables

Each worker spawns an FFmpeg process, so raising VIDEO_MAX_CONCURRENT past what the container can feed will exhaust CPU and memory rather than going faster.

Auto-detection

Unset, concurrency is min(RAM / 2 GB, effective CPUs, 16), with a floor of 1. Both inputs are cgroup-aware, so inside a container they are the limits you set, not the host’s hardware. The CPU term usually decides. The bundled Compose file defaults DOCKER_CPU_LIMIT to 2.0, which caps auto-detection at 2 workers no matter how much RAM the machine has. For more workers, raise DOCKER_CPU_LIMIT alongside memory, or set VIDEO_MAX_CONCURRENT explicitly.

Fixed limits

These are in code, not configurable, and they explain most surprises about video output.

Video Transformations

URL parameters for resizing, trimming and encoding.

Upload & Cache Warming

Pre-generate video variants at upload time.

Docker Resources

The CPU limit that caps worker auto-detection.

Queue Jobs

Inspect, retry and cancel jobs through the API.