Passer au contenu principal
This is way too long
Le Livepeer Gateway prend en charge une configuration de mise en réseau double qui permet à un seul nœud de gérer à la fois les charges de travail traditionnelles de transcodage vidéo et de traitement d’IA simultanément. Cette architecture unifiée réduit la complexité de l’infrastructure tout en offrant des capacités complètes de traitement des médias.

Aperçu

La capacité double du Gateway est activée par son architecture modulaire, où différents gestionnaires gèrent des workflows spécifiques tout en partageant une infrastructure commune pour l’ingestion des médias, le traitement des paiements et la livraison des résultats. La structure LivepeerNode contient des champs pour le transcodage traditionnel (Transcoder, TranscoderManager) et le traitement d’IA (AIWorker, AIWorkerManager)livepeernode.go Le gateway détermine le type de traitement en fonction de la demande :
  • Les demandes de transcoding standard passent par le BroadcastSessionsManager
  • Les demandes d’IA passent par le AISessionManager avec une authentification et une sélection de pipeline spécifiques à l’IAai_auth.go
Le gateway s’initialise avec deux gestionnaires de sessions distincts :
// Traditional transcoding session manager
sessManager = NewSessionManager(ctx, s.LivepeerNode, params)
// AI processing session manager
AISessionManager: NewAISessionManager(lpNode, AISessionManagerTTL)
Différences clés
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

Configuration

Pour configurer un gateway pour qu’il gère à la fois la transcoding vidéo et le traitement d’IA, vous devez définir les indicateurs et les options appropriés lors du lancement du binaire livepeer. Drapeaux essentiels Pour activer la configuration double, configurez la passerelle avec les drapeaux suivants :
FlagDescriptionRequired
-gatewayRun as a gateway node
-httpIngestEnable HTTP ingest for AI requests
-transcodingOptionsTranscoding profiles for video
-aiServiceRegistryEnable AI service registry
Voir :cmd/livepeer/livepeer.go
Verify all code below here

Configuration spécifique à l’IA

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

Configuration de la transcodage

Remarque, si le transcodingOptions.jsonfichier n’est pas fourni, la passerelle utilisera les profils de transcodage par défaut-transcodingOptions=P240p30fps16x9,P360p30fps16x9.
Transcoding flags
# -transcodingOptions=P240p30fps16x9,P360p30fps16x9
-transcodingOptions=${env:HOME}/.lpData/cfg/transcodingOptions.json
-maxSessions=10
-nvidia=all  # or specific GPU IDs

Déploiement

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 \

Déploiement AI-Enabled de la passerelle/Orchestrator

Pour les nœuds qui gèrent à la fois l’orchestration et le traitement 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>

Dépannage

Problèmes courants
  • Modèles d’IA ne chargeant pas : Vérifier -aiModelsDir et les autorisations du fichier de modèle
  • Échecs de transcodage : Vérifier les pilotes GPU et -nvidia configuration
  • **Conflits de port :**Assurez-vous que-rtmpAddr, -httpAddr, et -cliAddrsont disponibles
  • Pression de mémoire : Surveiller l’utilisation de la mémoire des modèles d’IA, ajuster-aiRunnerContainersPerGPU
Commandes de débogage
    # 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)"

Exemple de configuration

La configuration de la boîte pour le développement local montre l’exécution d’une passerelle qui gère les deux types de traitement.
livepeer/go-livepeer - box/box.mdView on GitHub
Last modified on March 1, 2026