Video Issues
Gateway running but not receiving transcoding jobs
Gateway running but not receiving transcoding jobs
-maxPricePerUnit is set too low.-maxPricePerUnit is the maximum wei per pixel the Gateway pays Orchestrators. If Orchestrators on the network charge more than the cap, none accept jobs.Community standard for testing:-orchAddr list is specified, verify those addresses are active on Livepeer Explorer. Remove unreachable addresses and add active ones.4. Arbitrum RPC is disconnected.The Gateway requires a working Arbitrum RPC to issue and track payment tickets. See the Arbitrum RPC accordion below.Arbitrum RPC connection failing
Arbitrum RPC connection failing
result field containing a hex block number. A failed one returns an HTTP error or times out.Common causes and fixes:RPC endpoint options:- Infura: infura.io (free tier available)
- Alchemy: alchemy.com (free tier available)
- Public fallback:
https://arb1.arbitrum.io/rpc(rate-limited, not for production) - Self-hosted: Arbitrum full node guide
ETH deposit shows zero after bridging
ETH deposit shows zero after bridging
livepeer_cli after the bridge confirms.TicketParams expired errors in logs
TicketParams expired errors in logs
- If this error appears constantly (not intermittently) across all sessions, the Arbitrum RPC may be returning stale block numbers. Test the RPC with
eth_blockNumberand compare to Arbiscan’s current block. - If retries are consistently failing after the error, check
livepeer_payment_create_errorsin Prometheus.
Transcode session timed out or job lost
Transcode session timed out or job lost
- Re-publish the stream - the Gateway selects a new Orchestrator and session automatically.
- If it happens repeatedly: the Orchestrators in the pool may be dropping sessions. Remove underperforming addresses from
-orchAddrusing Explorer to find more reliable alternatives. - If CUDA errors appear in logs (
CUDA_ERROR_UNKNOWN,Cannot allocate memory) these originate on the Orchestrator side. The Gateway retries with a different Orchestrator automatically.
Gateway calling reward function unexpectedly
Gateway calling reward function unexpectedly
-reward=false is set in the launch command even when using a config file. Config file values can be overridden by command-line flags; always set reward=false explicitly on the command line.AI Issues
AI binary not available on Windows or macOS
AI binary not available on Windows or macOS
livepeer-windows-amd64) remains available and works normally for video transcoding workloads on Windows.AI Gateway starts but not receiving jobs
AI Gateway starts but not receiving jobs
-orchAddr that are currently online and running the requested pipeline. On-chain AI Gateways using -aiServiceRegistry discover Orchestrators automatically via the protocol.Check the -orchAddr list (off-chain):- Discord #local-gateways - community operators share endpoints
- Livepeer Explorer - contact active Orchestrators directly
- Livepeer Forum - search for community AI Orchestrator lists
Some AI pipelines return errors but others work
Some AI pipelines return errors but others work
- The pipeline is not supported by the connected Orchestrators - they may support
text-to-imagebut notimage-to-video. - The model is not loaded - the Orchestrator supports the pipeline but the specific model variant (e.g.
ByteDance/SDXL-Lightning) is not warm. Some Orchestrators support cold loading (slower first request). - Model ID mismatch - the model ID string in the request must exactly match what the Orchestrator has. Case and formatting matter.
Diagnostic approach: Start with
text-to-imageusing a common model against a known-good Orchestrator before testing less common pipelines.
Cannot discover available AI models or pipelines
Cannot discover available AI models or pipelines
Dual Issues
Resource contention between video and AI
Resource contention between video and AI
- AI model loading failures during active video sessions
- Increased transcoding latency correlated with AI request peaks
- GPU memory at or near 100% in
/hardware/stats
- Reduce AI session concurrency with
-maxSessions - Schedule AI-heavy workloads during lower video traffic periods
- Separate video and AI onto dedicated nodes
Port conflict on startup
Port conflict on startup
-httpAddr port (default 8935). A Dual Gateway does not open two separate ports - the -httpIngest flag enables AI endpoints on the same port used for video.If the default port is occupied, check for lingering processes:Common Errors
listen tcp 0.0.0.0:8935: bind: address already in use
listen tcp 0.0.0.0:8935: bind: address already in use
livepeer process that did not exit cleanly. Check for lingering processes with ps aux | grep livepeer (Linux) or Task Manager (Windows) before restarting.libnppig.so.11: cannot open shared object file
libnppig.so.11: cannot open shared object file
Could not connect to Ethereum node
Could not connect to Ethereum node
-ethUrl flag and restart. See the Arbitrum RPC accordion under Video Issues for full diagnosis.ETH account unlock fails
ETH account unlock fails
datadir or network was used in the past, copy the keystore file to the expected location:Docker container exits immediately
Docker container exits immediately
-
ETH password file not mounted or wrong path inside container:
The volume mount must include the password file, and the path in
-ethPasswordmust be the path inside the container, not on the host. -
-cliAddrusinglocalhostinstead of the container hostname: -
Deprecated
version:field in docker-compose.yml: Remove theversion: '3.9'line at the top of the compose file - it is deprecated in current Docker Compose versions and can cause unexpected behaviour on some systems. -
Missing required flags:
On-chain Gateways require at minimum:
-network,-ethUrl,-ethKeystorePath,-ethPassword.
Cannot allocate memory with -nvidia flag
Cannot allocate memory with -nvidia flag
-nvidia flag means GPU encoding/decoding session limits were hit during startup tests. Different NVIDIA GPUs have different limits.This is a hardware constraint. Options:- Check the GPU’s session limits in the NVIDIA encode/decode support matrix
- Reduce concurrent sessions via
-maxSessions - Upgrade to a GPU with higher session limits for production workloads
Unsupported input pixel format
Unsupported input pixel format
yuv420p).If the stream is operator-controlled, add -pix_fmt yuv420p to the FFmpeg command.Log Interpretation
Enable verbose logging when diagnosing issues:Severity guide
Escalation
If none of the above resolves the issue, include the following in a support request:- Gateway node type (Video / AI / Dual)
- go-livepeer version (
./livepeer --version) - Operating system and architecture
- Exact error message (copy from logs)
- First 50 lines of startup logs (
-v 6) - Output of
livepeer_cliOption 1 (Get node status) - redact the ETH private key path