This is way too long TODO: - [ ] Verify flags and options are correct - [ ] Decide on more
streamlined layour or steps flow - [ ] (fixme) #Configuration - [ ] (fixme)
##Deployment - [ ] Move Example to Guides & Resources
Livepeer 网关支持双设置配置,使单个节点能够同时处理传统的视频转码和AI处理工作负载。
这种统一的架构减少了基础设施的复杂性,同时提供了全面的媒体处理能力。
网关的双重功能由其模块化架构实现,不同的管理器处理特定的工作流程,同时共享用于媒体摄取、支付处理和结果交付的公共基础设施。
LivepeerNode 结构包含传统转码(Transcoder, TranscoderManager)和AI处理(AIWorker, AIWorkerManager)的字段livepeernode.go
网关根据请求确定处理类型:
标准转码请求通过 BroadcastSessionsManager 处理
AI 请求通过 AISessionManager 处理,并使用 AI 特定的身份验证和管道选择ai_auth.go
网关初始化时会创建两个不同的会话管理器:
// Traditional transcoding session manager
sessManager = NewSessionManager ( ctx , s . LivepeerNode , params )
// AI processing session manager
AISessionManager : NewAISessionManager ( lpNode , AISessionManagerTTL )
关键差异
Aspect Video Transcoding AI Pipelines Processing Type Format/bitrate conversion AI model inference Session Manager BroadcastSessionsManager AISessionManager Payment Model Per segment Per pixel processed Protocol Standard HLS/DASH Trickle protocol for real-time AI Components RTMP Server, Playlist Manager MediaMTX, Trickle Server
要配置网关以同时处理视频转码和 AI 处理,您需要在启动 livepeer 二进制文件时设置适当的标志和选项。
关键标志
要启用双设置,请使用以下标志配置网关:
Flag Description Required -gateway Run as a gateway node ✓ -httpIngest Enable HTTP ingest for AI requests ✓ -transcodingOptions Transcoding profiles for video ✓ -aiServiceRegistry Enable AI service registry ✓
参见:cmd/livepeer/livepeer.go
Verify all code below here
AI 专用配置
-aiModels = ${ env : HOME } /.lpData/cfg/aiModels.json
-aiModelsDir = ${ env : HOME } /.lpData/models
-aiRunnerContainersPerGPU = 1
-livePaymentInterval = 5s
转码配置
注意,如果transcodingOptions.json 文件未提供时,网关将使用默认的转码配置-transcodingOptions=P240p30fps16x9,P360p30fps16x9。
# -transcodingOptions=P240p30fps16x9,P360p30fps16x9
-transcodingOptions = ${ env : HOME } /.lpData/cfg/transcodingOptions.json
-maxSessions = 10
-nvidia = all # or specific GPU IDs
For local development and testing purposes, there is no need to connect to the blockchain payments layer. You will need to run your own orchestrator node for local development.
Off-Chain Gateway Deployment with dual capabilities
livepeer -gateway \
-httpIngest \
-transcodingOptions=${ env : HOME }/.lpData/offchain/transcodingOptions.json \
-orchAddr=0.0.0.0:8935 \
-httpAddr=0.0.0.0:9935 \
-httpIngest \
-v=6
# Verify these
-aiServiceRegistry \
-aiModels=${ env : HOME }/.lpData/cfg/aiModels.json \
-aiModelsDir=${ env : HOME }/.lpData/models \
-aiRunnerContainersPerGPU=1 \
For production deployment with blockchain integration You will need an ETH account with funds to pay for transcoding and AI processing and set the following environment variables:
$ETH_SECRET
$ETH_ACCT_ADDR On-Chain Gateway Deployment with dual capabilities
livepeer -gateway \
-transcodingOptions=${ env : HOME }/.lpData/offchain/transcodingOptions.json \
-orchAddr=0.0.0.0:8935 \
-httpAddr=0.0.0.0:9935 \
-httpIngest \
-v=6 \
-network=arbitrum-one-mainnet \
-ethUrl=https://arb1.arbitrum.io/rpc \
-ethPassword= < ETH_SECRET > \
-ethAcctAddr= < ETH_ACCT_ADDR > \
-v=6
# verfiy these
-aiServiceRegistry \
-aiModels=${ env : HOME }/.lpData/cfg/aiModels.json \
-aiModelsDir=${ env : HOME }/.lpData/models \
-aiRunnerContainersPerGPU=1 \
-livePaymentInterval=5s
集成网关/协调器的AI启用部署
同时处理协调和AI处理的节点
Combined Gateway/OrchestratorOn-Chain Deployment
livepeer -orchestrator -aiWorker -aiServiceRegistry \
-serviceAddr=0.0.0.0:8935 \
-nvidia=all \
-aiModels=${ env : HOME }/.lpData/cfg/aiModels.json \
-aiModelsDir=${ env : HOME }/.lpData/models \
-network=arbitrum-one-mainnet \
-ethUrl=https://arb1.arbitrum.io/rpc \
-ethPassword= < ETH_SECRET > \
-ethAcctAddr= < ETH_ACCT_ADDR > \
-ethOrchAddr= < ORCH_ADDR >
故障排除
常见问题
AI 模型未加载: 检查 -aiModelsDir 和模型文件权限
转码失败: 验证 GPU 驱动和 -nvidia配置
**端口冲突:**确保-rtmpAddr, -httpAddr, 和-cliAddr 可用
内存压力: 监控AI模型内存使用情况,调整 -aiRunnerContainersPerGPU
调试命令
# Check transcoding capabilities
curl http://localhost:8935/getBroadcastConfig
# Test AI endpoint
curl -X POST http://localhost:8935/text-to-image \
-H "Content-Type: application/json" \
-d '{"prompt":"test image"}'
# Monitor logs
livepeer -gateway -v=6 2>&1 | grep -E "(transcode|AI|segment)"
示例设置
本地开发的盒子设置演示了运行一个处理两种类型处理的网关。