pixop-nvencc
pixop-nvencc
Run NVEncC inside the digest-pinned Pixop LIVE container image with arbitrary NVEncC arguments. This is an advanced diagnostic wrapper for encoder capabilities, help text, and low-level GPU checks—not a supported file transcoding interface.
For file and directory jobs on the appliance, use pixop-process. For live pipeline control, use pixopctl, pixop-stack, and systemd units—not pixop-nvencc.
Usage
pixop-nvencc [NVEncC arguments ...]There are no subcommands or Pixop-specific flags. Everything after the script name is passed to the container entrypoint (NVEncC).
Examples:
pixop-nvencc --version
pixop-nvencc --help
pixop-nvencc --check-hwOption pass-through is literal: quoting and order follow NVEncC rules inside the container.
Command reference
| Aspect | Behavior |
|---|---|
| Image | LIVE_IMAGE from /etc/pixop-live/live.env (must be repo@sha256:…) |
| Docker | docker run --rm --pull=never --log-driver=none --gpus all |
| GPU env | NVIDIA_DRIVER_CAPABILITIES=compute,utility,video |
| TTY | -t added only when stdout is a terminal (avoids control characters in pipes) |
| Stdin | Not attached (-i is not used) |
What changes / what never changes
| Changes | Never changes |
|---|---|
| Nothing persistent (ephemeral container) | live.env, local Docker images, live pipeline state |
Each invocation starts a new container that exits when NVEncC exits. It does not start pixop-live or TSDuck.
Preconditions and scope
| Requirement | Detail |
|---|---|
| Platform | Appliance guest (AL2023) with NVIDIA driver and container toolkit |
| Config | Readable /etc/pixop-live/live.env with digest-pinned LIVE_IMAGE |
| Image present | Image must exist locally; no pull at runtime |
| GPU | Host must expose GPUs to Docker (--gpus all) |
| Privilege | No sudo wrapper; user must be able to run Docker and read live.env |
KVM guests behave the same inside the VM. The Ubuntu host does not use this script.
Version note: Availability depends on the appliance image; verify command -v pixop-nvencc and pixop-nvencc --help. NVEncC functionality follows the build inside digest-pinned LIVE_IMAGE, not the host package list.
Typical workflows
Confirm GPU visibility matches live service expectations:
pixop-nvencc --check-hwCompare encoder version with pixop-test-live (Pixop binary --version, not NVEncC):
pixop-test-live
pixop-nvencc --versionInspect an encoder flag before changing a pixop-process preset (read-only):
pixop-nvencc --help 2>&1 | lessOutput interpretation
- stdout/stderr are NVEncC’s own. Exit code is the container exit code.
pixop-nvencc: …on stderr with exit 2 means wrapper validation failed beforedocker run.
Test-only environment variables
Not operator flags; used in development overlays:
| Variable | Purpose |
|---|---|
PIXOP_NVENCC_LIVE_ENV | Alternate live.env path |
PIXOP_NVENCC_DOCKER | Alternate docker binary path |
Common errors
| Message | Cause |
|---|---|
Pixop LIVE configuration not found | Missing live.env |
cannot read … LIVE_IMAGE must be readable | Permissions |
LIVE_IMAGE must be an immutable digest | Tag-only reference in live.env |
docker not found | Docker not installed or wrong PIXOP_NVENCC_DOCKER |
| Docker GPU errors | Driver/toolkit mismatch; see GPU requirements (FAQ) |
Security
- Does not mount operator media paths unless NVEncC arguments request inputs inside the container filesystem.
- Do not pass secrets on the command line in shared screen sessions; they appear in process listings.
Related
- pixop-process — supported file transcoding
- pixop-test-live — smoke-test Pixop image
--versionwith GPU - pixop-stack — live stack status
- GPU requirements (FAQ)
Updated about 8 hours ago
