Aller au contenu principal

Capture Audio Pixel Streaming

Pixel Streaming est un plugin pour Unreal Engine qui diffuse les images rendues et synchronise les entrées/sorties via WebRTC. L'application s'exécute côté serveur, tandis que le côté client gère le rendu et l'interaction utilisateur. Pour plus de détails sur Pixel Streaming et sa configuration, reportez-vous à la Documentation Pixel Streaming.

Pixel Streaming vs Pixel Streaming 2

Ce plugin prend en charge les deux versions de Pixel Streaming disponibles dans Unreal Engine :

  • Pixel Streaming - Le plugin original, disponible depuis l'UE 5.2 et toujours activement utilisé dans les versions actuelles du moteur
  • Pixel Streaming 2 - Introduit dans l'UE 5.5 en tant qu'implémentation de nouvelle génération avec une architecture interne améliorée. En savoir plus sur Pixel Streaming 2

Les deux versions sont entièrement prises en charge et disponibles dans les dernières versions d'Unreal Engine. Choisissez la version qui correspond à la configuration Pixel Streaming de votre projet.

info

L'API pour les deux versions est identique, la seule différence étant que les classes et fonctions de Pixel Streaming 2 incluent "2" dans leurs noms (par exemple, UPixelStreamingCapturableSoundWave vs UPixelStreaming2CapturableSoundWave).

Compatibilité

Cette solution fonctionne avec :

L'implémentation a été testée dans ces environnements et fonctionne correctement quel que soit la solution d'hébergement Pixel Streaming utilisée.

Installation du Plugin d'Extension

Cette fonctionnalité est fournie en tant qu'extension au plugin Runtime Audio Importer. Pour l'utiliser, vous devez :

  1. Assurez-vous que le plugin Runtime Audio Importer est déjà installé dans votre projet
  2. Téléchargez le plugin d'extension pour votre version de Pixel Streaming :
  3. Extrayez le dossier de l'archive téléchargée dans le dossier Plugins de votre projet (créez ce dossier s'il n'existe pas)
  4. Recompilez votre projet (cette extension nécessite un projet C++)
important
  • Ces extensions sont fournies sous forme de code source et nécessitent un projet C++ pour être utilisées
  • Extension Pixel Streaming : Pris en charge dans UE 5.2 et versions ultérieures
  • Extension Pixel Streaming 2 : Pris en charge dans UE 5.5 et versions ultérieures
  • Pour plus d'informations sur la construction manuelle de plugins, consultez le tutoriel Building Plugins

Aperçu

Le Pixel Streaming Capturable Sound Wave étend le Capturable Sound Wave standard pour permettre la capture audio directement depuis les microphones des clients Pixel Streaming. Cette fonctionnalité vous permet de :

  • Capturer l'audio des navigateurs connectés via Pixel Streaming
  • Traiter l'audio de joueurs/pairs spécifiques
  • Implémenter le chat vocal, les commandes vocales ou l'enregistrement audio d'utilisateurs distants

Utilisation de base

Création d'un Pixel Streaming Capturable Sound Wave

Tout d'abord, vous devez créer un objet Pixel Streaming Capturable Sound Wave :

Create Pixel Streaming Capturable Sound Wave node

attention

Vous devez traiter la Pixel Streaming Capturable Sound Wave comme une référence forte pour éviter sa destruction prématurée (par exemple en l'assignant à une variable séparée dans Blueprints ou en utilisant UPROPERTY() en C++).

Démarrage et Arrêt de la Capture

Vous pouvez démarrer et arrêter la capture audio avec des appels de fonction simples :

Nœuds Démarrage et Arrêt de la Capture

remarque

Le paramètre DeviceId dans StartCapture est ignoré pour les ondes sonores capturables Pixel Streaming, car la source de capture est déterminée automatiquement ou par les informations du lecteur que vous avez définies.

Vérification du statut de capture

Vous pouvez vérifier si l'onde sonore capture actuellement de l'audio :

Nœud Is Capturing

Exemple Complet

Voici un exemple complet de configuration de la capture audio Pixel Streaming :

Exemple Complet de Capture Pixel Streaming

Travailler avec plusieurs lecteurs Pixel Streaming

Dans les scénarios où vous avez plusieurs clients Pixel Streaming connectés simultanément, vous devrez peut-être capturer l'audio de lecteurs spécifiques. Les fonctionnalités suivantes vous aident à gérer cela.

Obtenir les lecteurs Pixel Streaming disponibles

Pour identifier quels lecteurs Pixel Streaming sont connectés :

Nœud Obtenir les lecteurs Pixel Streaming disponibles

Configuration du lecteur à capturer

Lorsque vous devez capturer à partir d'un lecteur spécifique :

Nœud Set Player To Capture From

info

Si vous laissez l'ID du joueur vide, l'onde sonore écoutera automatiquement le premier joueur disponible qui se connecte. C'est le comportement par défaut qui fonctionne bien pour les scénarios à un seul joueur.

Cas d'utilisation courants

Mise en œuvre du chat vocal

Vous pouvez utiliser les Pixel Streaming Capturable Sound Waves pour mettre en œuvre un chat vocal entre les utilisateurs distants et les joueurs locaux :

  1. Créez une Pixel Streaming Capturable Sound Wave pour chaque joueur connecté
  2. Configurez un système pour gérer quels joueurs parlent actuellement
  3. Utilisez le système de Détection d'activité vocale pour détecter quand les utilisateurs parlent
  4. Spatialisez l'audio en utilisant le système audio d'Unreal Engine si nécessaire

Commandes vocales avec reconnaissance vocale

Vous pouvez mettre en œuvre la reconnaissance de commandes vocales pour les utilisateurs distants en combinant cette fonctionnalité avec le plugin Runtime Speech Recognizer :

  1. Capturez l'audio des clients Pixel Streaming en utilisant Pixel Streaming Capturable Sound Wave
  2. Transmettez l'audio capturé directement au Runtime Speech Recognizer
  3. Traitez le texte reconnu dans votre logique de jeu

Remplacez simplement la Capturable Sound Wave standard par une Pixel Streaming Capturable Sound Wave (ou Pixel Streaming 2 Capturable Sound Wave) dans les exemples du Runtime Speech Recognizer, et cela fonctionnera parfaitement avec l'entrée audio Pixel Streaming.

Enregistrement de l'audio des utilisateurs distants

Vous pouvez enregistrer l'audio des utilisateurs distants pour une lecture ultérieure :

  1. Capturez l'audio en utilisant Pixel Streaming Capturable Sound Wave
  2. Exportez l'audio capturé vers un fichier en utilisant Exporter l'audio
  3. Sauvegardez le fichier pour une utilisation ou une analyse ultérieure