This should be dynamic and auto-generated from codebase to future proof it - It’s currently static
Gateway Configuration Flags
Related Wiki pages:Table Legend:
● Video ● AI ● Both
● Video ● AI ● Both
| Flag | Type | Description |
|---|---|---|
| Network & Addresses | ||
-network | Both | Network to connect to (offchain, arbitrum-one-mainnet, etc.) |
-rtmpAddr | Video | Address to bind for RTMP commands (video ingest) |
-cliAddr | Both | Address to bind for CLI commands |
-httpAddr | Both | Address to bind for HTTP commands |
-serviceAddr | Both | Orchestrator service URI for broadcasters to contact |
-gatewayHost | Both | External hostname where Gateway node is running |
| Node Type | ||
-gateway | Both | Set to true to be a gateway (handles both video and AI) |
-orchestrator | Both | Set to true to be an orchestrator |
-transcoder | Video | Set to true to be a transcoder |
-aiWorker | AI | Set to true to run an AI worker |
-broadcaster | Video | ⚠️ Set to true to be a broadcaster (deprecated, use -gateway) |
| Video Transcoding | ||
-transcodingOptions | Video | Transcoding profiles for broadcast job |
-maxAttempts | Video | Maximum transcode attempts |
-maxSessions | Both | Max concurrent sessions (transcoding for orchestrator, RTMP streams for gateway) |
-nvidia | Video | Comma-separated list of Nvidia GPU device IDs |
-netint | Video | Comma-separated list of NetInt device GUIDs |
-hevcDecoding | Video | Enable or disable HEVC decoding |
-testTranscoder | Video | Test Nvidia GPU transcoding at startup |
-currentManifest | Video | Expose active ManifestID as “/stream/current.m3u8” |
| AI Processing | ||
-aiServiceRegistry | AI | Use an AI ServiceRegistry contract address |
-aiModels | AI | Models (pipeline:model_id) for AI worker to load |
-aiModelsDir | AI | Directory where AI model weights are stored |
-aiRunnerImage | AI | ⚠️ Docker image for the AI runner (deprecated use -aiRunnerImageOverrides) |
-aiRunnerImageOverrides | AI | Docker image overrides for different pipelines |
-aiVerboseLogs | AI | Enable verbose logs for AI runner containers |
-aiProcessingRetryTimeout | AI | Timeout for retrying AI processing requests |
-aiRunnerContainersPerGPU | AI | Number of AI runner containers per GPU |
| Live AI Video | ||
-mediaMTXApiPassword | AI | HTTP basic auth password for MediaMTX API |
-liveAITrickleHostForRunner | AI | Trickle Host used by AI Runner |
-liveAIAuthApiKey | AI | API key for Live AI authentication requests |
-liveAIAuthWebhookUrl | AI | Live AI RTMP authentication webhook URL |
-livePaymentInterval | AI | Interval for Gateway ↔ Orchestrator payments for Live AI |
| Orchestrator Selection | ||
-orchAddr | Video | Comma-separated list of orchestrators to connect to |
-orchWebhookUrl | Video | Orchestrator discovery callback URL |
-orchBlocklist | Video | Comma-separated list of blocklisted orchestrators |
-orchMinLivepeerVersion | Video | Minimal go-livepeer version for orchestrators |
-selectRandFreq | Video | Weight of random factor in orchestrator selection |
-selectStakeWeight | Video | Weight of stake factor in orchestrator selection |
-selectPriceWeight | Video | Weight of price factor in orchestrator selection |
-selectPriceExpFactor | Video | Significance of small price changes in selection |
-orchPerfStatsUrl | Video | URL of Orchestrator Performance Stream Tester |
-region | Video | Region where broadcaster is deployed |
-minPerfScore | Video | Minimum orchestrator performance score to accept |
-discoveryTimeout | Video | Time to wait for orchestrator info for manifest |
| Pricing & Payments | ||
-maxPricePerUnit | Video | Maximum transcoding price per pixelsPerUnit |
-maxPricePerCapability | AI | JSON list of prices per AI capability/model |
-ignoreMaxPriceIfNeeded | Both | Allow exceeding max price if no orchestrator meets requirement |
-pricePerUnit | Video | Price per pixelsPerUnit amount for transcoding |
-pixelsPerUnit | Both | Amount of pixels per unit for pricing |
-priceFeedAddr | Both | ETH address of Chainlink price feed contract |
-autoAdjustPrice | Video | Enable automatic price adjustments |
-pricePerGateway | Video | JSON list of price per gateway |
-pricePerBroadcaster | Video | JSON list of price per broadcaster |
| Blockchain / Ethereum | ||
-ethAcctAddr | Both | Existing ETH account address |
-ethPassword | Both | Password for ETH account or path to file |
-ethKeystorePath | Both | Path to ETH keystore directory or keyfile |
-ethOrchAddr | Both | ETH address of on-chain registered orchestrator |
-ethUrl | Both | Ethereum node JSON-RPC URL |
-ethController | Both | Protocol smart contract address |
-transactionTimeout | Both | Time to wait for ETH transaction confirmation |
-maxTransactionReplacements | Both | Number of times to replace pending ETH transactions |
-gasLimit | Both | Gas limit for ETH transactions |
-minGasPrice | Both | Minimum gas price for ETH transactions in wei |
-maxGasPrice | Both | Maximum gas price for ETH transactions in wei |
| Ticket System | ||
-ticketEV | Both | Expected value for PM tickets |
-maxFaceValue | Both | Max ticket face value in WEI |
-maxTicketEV | Both | Maximum acceptable expected value for one PM ticket |
-maxTotalEV | Both | Maximum acceptable expected value for one PM payment |
-depositMultiplier | Both | Deposit multiplier for max acceptable ticket faceValue |
| Services | ||
-redeemer | Both | Run a ticket redemption service |
-redeemerAddr | Both | URL of ticket redemption service to use |
-reward | Both | Run a reward service |
-initializeRound | Both | Transcoder should automatically initialize new rounds |
-initializeRoundMaxDelay | Both | Maximum delay before initializing a round |
| Monitoring & Metrics | ||
-monitor | Both | Send performance metrics |
-metricsPerStream | Both | Group performance metrics per stream |
-metricsClientIP | Both | Expose client’s IP in metrics |
-metadataQueueUri | Both | URI for message broker to send operation metadata |
-metadataAmqpExchange | Both | Name of AMQP exchange for operation metadata |
-metadataPublishTimeout | Both | Max time to wait for publishing metadata events |
| Storage | ||
-dataDir | Both | Directory that data is stored in |
-objectStore | Both | URL of primary object store |
-recordStore | Both | URL of object store for recordings |