Aller au contenu principal

Capture Audio Pixel Streaming

Pixel Streaming est un plugin pour Unreal Engine qui diffuse des 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, consultez 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 un "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 l'UE 5.2 et versions ultérieures
  • Extension Pixel Streaming 2 : Pris en charge dans l'UE 5.5 et versions ultérieures
  • Pour plus d'informations sur la façon de compiler manuellement des plugins, consultez le tutoriel Building Plugins

Aperçu

La Capturable Sound Wave Pixel Streaming étend la 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 depuis les 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'une Capturable Sound Wave Pixel Streaming

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

Nœud Create Pixel Streaming Capturable Sound Wave

attention

Vous devez traiter le 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émarrer et Arrêter la Capture

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

Nœuds Démarrer et Arrêter 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 joueur que vous avez définies.

Vérification de l'état de la 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ù plusieurs clients Pixel Streaming sont 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 Get Available Pixel Streaming Players

Définir le Joueur à Capturer

Lorsque vous devez capturer à partir d'un joueur 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 ondes sonores capturables Pixel Streaming pour mettre en œuvre un chat vocal entre les utilisateurs distants et les joueurs locaux :

  1. Créez une onde sonore capturable Pixel Streaming 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 à l'aide du 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 l'onde sonore capturable Pixel Streaming
  2. Transmettez l'audio capturé directement au Runtime Speech Recognizer
  3. Traitez le texte reconnu dans votre logique de jeu

Il suffit de remplacer l'onde sonore capturable standard par une onde sonore capturable Pixel Streaming (ou Pixel Streaming 2 Capturable Sound Wave) dans les exemples du Runtime Speech Recognizer, et cela fonctionnera de manière transparente 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 l'onde sonore capturable Pixel Streaming
  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