跳转到主要内容
This is way too long
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)
关键差异
AspectVideo TranscodingAI Pipelines
Processing TypeFormat/bitrate conversionAI model inference
Session ManagerBroadcastSessionsManagerAISessionManager
Payment ModelPer segmentPer pixel processed
ProtocolStandard HLS/DASHTrickle protocol for real-time AI
ComponentsRTMP Server, Playlist ManagerMediaMTX, Trickle Server

配置

要配置网关以同时处理视频转码和 AI 处理,您需要在启动 livepeer 二进制文件时设置适当的标志和选项。 关键标志 要启用双设置,请使用以下标志配置网关:
FlagDescriptionRequired
-gatewayRun as a gateway node
-httpIngestEnable HTTP ingest for AI requests
-transcodingOptionsTranscoding profiles for video
-aiServiceRegistryEnable AI service registry
参见:cmd/livepeer/livepeer.go
Verify all code below here

AI 专用配置

AI flags
-aiModels=${env:HOME}/.lpData/cfg/aiModels.json
-aiModelsDir=${env:HOME}/.lpData/models
-aiRunnerContainersPerGPU=1
-livePaymentInterval=5s

转码配置

注意,如果transcodingOptions.json 文件未提供时,网关将使用默认的转码配置-transcodingOptions=P240p30fps16x9,P360p30fps16x9
Transcoding flags
# -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 \

集成网关/协调器的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)"

示例设置

本地开发的盒子设置演示了运行一个处理两种类型处理的网关。
livepeer/go-livepeer - box/box.mdView on GitHub
Last modified on March 1, 2026