Saltar al contenido principal
This is way too long
La puerta de entrada Livepeer admite una configuración de doble conjunto que permite a un nodo realizar transcodificación de video tradicional y cargas de trabajo de procesamiento de IA simultáneamente. Esta arquitectura unificada reduce la complejidad de la infraestructura mientras proporciona capacidades completas de procesamiento de medios.

Visión general

La capacidad dual de la puerta de entrada se habilita mediante su arquitectura modular, donde diferentes administradores manejan flujos de trabajo específicos mientras comparten infraestructura común para la ingestión de medios, procesamiento de pagos y entrega de resultados. La estructura LivepeerNode contiene campos para la transcodificación tradicional (Transcoder, TranscoderManager) y el procesamiento de IA (AIWorker, AIWorkerManager)livepeernode.go La puerta de entrada determina el tipo de procesamiento según la solicitud:
  • Las solicitudes de codificación estándar pasan por el BroadcastSessionsManager
  • Las solicitudes de IA pasan por el AISessionManager con autenticación y selección de pipeline específicos para IAai_auth.go
La puerta de enlace se inicializa con dos administradores de sesiones distintos:
// Traditional transcoding session manager
sessManager = NewSessionManager(ctx, s.LivepeerNode, params)
// AI processing session manager
AISessionManager: NewAISessionManager(lpNode, AISessionManagerTTL)
Diferencias clave
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

Configuración

Para configurar una puerta de enlace para que maneje tanto la codificación de video como el procesamiento de IA, debe establecer las banderas y opciones adecuadas al iniciar el binario livepeer. Banderas esenciales Para habilitar la configuración dual, configure la puerta de enlace con las siguientes banderas:
FlagDescriptionRequired
-gatewayRun as a gateway node
-httpIngestEnable HTTP ingest for AI requests
-transcodingOptionsTranscoding profiles for video
-aiServiceRegistryEnable AI service registry
Ver: cmd/livepeer/livepeer.go
Verify all code below here

Configuración específica de IA

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

Configuración de transcodificación

Nota, si transcodingOptions.jsonarchivo no se proporciona, la puerta de enlace usará los perfiles de transcodificación predeterminados-transcodingOptions=P240p30fps16x9,P360p30fps16x9.
Transcoding flags
# -transcodingOptions=P240p30fps16x9,P360p30fps16x9
-transcodingOptions=${env:HOME}/.lpData/cfg/transcodingOptions.json
-maxSessions=10
-nvidia=all  # or specific GPU IDs

Despliegue

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 \

Despliegue con puerta de enlace/Orquestador con capacidad de inteligencia artificial

Para nodos que manejan tanto la orquestación como el procesamiento de inteligencia artificial
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>

Solución de problemas

Problemas comunes
  • Modelos de IA no se cargan: Verificar -aiModelsDir y permisos del archivo del modelo
  • Fallos en la transcodificación: Verificar controladores de GPU y -nvidia configuración
  • Conflictos de puerto: Asegúrate de que-rtmpAddr, -httpAddr, y -cliAddr estén disponibles
  • Presión de memoria: Supervisar el uso de memoria de los modelos de IA, ajustar-aiRunnerContainersPerGPU
Comandos de depuración
    # 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)"

Configuración de ejemplo

La configuración de la caja para desarrollo local demuestra la ejecución de una puerta de enlace que maneja ambos tipos de procesamiento.
livepeer/go-livepeer - box/box.mdView on GitHub
Last modified on March 1, 2026