Skip to main content
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
FlagTypeDescription
Network & Addresses
-networkBothNetwork to connect to (offchain, arbitrum-one-mainnet, etc.)
-rtmpAddrVideoAddress to bind for RTMP commands (video ingest)
-cliAddrBothAddress to bind for CLI commands
-httpAddrBothAddress to bind for HTTP commands
-serviceAddrBothOrchestrator service URI for broadcasters to contact
-gatewayHostBothExternal hostname where Gateway node is running
Node Type
-gatewayBothSet to true to be a gateway (handles both video and AI)
-orchestratorBothSet to true to be an orchestrator
-transcoderVideoSet to true to be a transcoder
-aiWorkerAISet to true to run an AI worker
-broadcasterVideo⚠️ Set to true to be a broadcaster (deprecated, use -gateway)
Video Transcoding
-transcodingOptionsVideoTranscoding profiles for broadcast job
-maxAttemptsVideoMaximum transcode attempts
-maxSessionsBothMax concurrent sessions (transcoding for orchestrator, RTMP streams for gateway)
-nvidiaVideoComma-separated list of Nvidia GPU device IDs
-netintVideoComma-separated list of NetInt device GUIDs
-hevcDecodingVideoEnable or disable HEVC decoding
-testTranscoderVideoTest Nvidia GPU transcoding at startup
-currentManifestVideoExpose active ManifestID as “/stream/current.m3u8”
AI Processing
-aiServiceRegistryAIUse an AI ServiceRegistry contract address
-aiModelsAIModels (pipeline:model_id) for AI worker to load
-aiModelsDirAIDirectory where AI model weights are stored
-aiRunnerImageAI⚠️ Docker image for the AI runner (deprecated use -aiRunnerImageOverrides)
-aiRunnerImageOverridesAIDocker image overrides for different pipelines
-aiVerboseLogsAIEnable verbose logs for AI runner containers
-aiProcessingRetryTimeoutAITimeout for retrying AI processing requests
-aiRunnerContainersPerGPUAINumber of AI runner containers per GPU
Live AI Video
-mediaMTXApiPasswordAIHTTP basic auth password for MediaMTX API
-liveAITrickleHostForRunnerAITrickle Host used by AI Runner
-liveAIAuthApiKeyAIAPI key for Live AI authentication requests
-liveAIAuthWebhookUrlAILive AI RTMP authentication webhook URL
-livePaymentIntervalAIInterval for Gateway ↔ Orchestrator payments for Live AI
Orchestrator Selection
-orchAddrVideoComma-separated list of orchestrators to connect to
-orchWebhookUrlVideoOrchestrator discovery callback URL
-orchBlocklistVideoComma-separated list of blocklisted orchestrators
-orchMinLivepeerVersionVideoMinimal go-livepeer version for orchestrators
-selectRandFreqVideoWeight of random factor in orchestrator selection
-selectStakeWeightVideoWeight of stake factor in orchestrator selection
-selectPriceWeightVideoWeight of price factor in orchestrator selection
-selectPriceExpFactorVideoSignificance of small price changes in selection
-orchPerfStatsUrlVideoURL of Orchestrator Performance Stream Tester
-regionVideoRegion where broadcaster is deployed
-minPerfScoreVideoMinimum orchestrator performance score to accept
-discoveryTimeoutVideoTime to wait for orchestrator info for manifest
Pricing & Payments
-maxPricePerUnitVideoMaximum transcoding price per pixelsPerUnit
-maxPricePerCapabilityAIJSON list of prices per AI capability/model
-ignoreMaxPriceIfNeededBothAllow exceeding max price if no orchestrator meets requirement
-pricePerUnitVideoPrice per pixelsPerUnit amount for transcoding
-pixelsPerUnitBothAmount of pixels per unit for pricing
-priceFeedAddrBothETH address of Chainlink price feed contract
-autoAdjustPriceVideoEnable automatic price adjustments
-pricePerGatewayVideoJSON list of price per gateway
-pricePerBroadcasterVideoJSON list of price per broadcaster
Blockchain / Ethereum
-ethAcctAddrBothExisting ETH account address
-ethPasswordBothPassword for ETH account or path to file
-ethKeystorePathBothPath to ETH keystore directory or keyfile
-ethOrchAddrBothETH address of on-chain registered orchestrator
-ethUrlBothEthereum node JSON-RPC URL
-ethControllerBothProtocol smart contract address
-transactionTimeoutBothTime to wait for ETH transaction confirmation
-maxTransactionReplacementsBothNumber of times to replace pending ETH transactions
-gasLimitBothGas limit for ETH transactions
-minGasPriceBothMinimum gas price for ETH transactions in wei
-maxGasPriceBothMaximum gas price for ETH transactions in wei
Ticket System
-ticketEVBothExpected value for PM tickets
-maxFaceValueBothMax ticket face value in WEI
-maxTicketEVBothMaximum acceptable expected value for one PM ticket
-maxTotalEVBothMaximum acceptable expected value for one PM payment
-depositMultiplierBothDeposit multiplier for max acceptable ticket faceValue
Services
-redeemerBothRun a ticket redemption service
-redeemerAddrBothURL of ticket redemption service to use
-rewardBothRun a reward service
-initializeRoundBothTranscoder should automatically initialize new rounds
-initializeRoundMaxDelayBothMaximum delay before initializing a round
Monitoring & Metrics
-monitorBothSend performance metrics
-metricsPerStreamBothGroup performance metrics per stream
-metricsClientIPBothExpose client’s IP in metrics
-metadataQueueUriBothURI for message broker to send operation metadata
-metadataAmqpExchangeBothName of AMQP exchange for operation metadata
-metadataPublishTimeoutBothMax time to wait for publishing metadata events
Storage
-dataDirBothDirectory that data is stored in
-objectStoreBothURL of primary object store
-recordStoreBothURL of object store for recordings