Phase 3.2 et 3.3 - Documentation intégrations audio professionnelles DANTE_SETUP.md: - Guide installation Dante Virtual Soundcard (DVS) - Configuration JACK pour macOS/Linux/Windows - Routing Dante Controller vers PTT Live - Configuration multi-canaux (8+ canaux) - Scripts de connexion automatique JACK - Troubleshooting latence et connectivite - Budget latence end-to-end (62-165ms) - Comparaison couts DVS vs AES67 AES67_SETUP.md: - Alternative open source gratuite a Dante - Installation driver Merging ALSA RAVENNA (Linux) - Configuration PTP (Precision Time Protocol) complete - Setup reseau (VLAN, QoS, IGMP snooping) - Configuration services systemd (ptp4l, phc2sys) - Integration JACK avec flux RTP multicast - Interoperabilite Dante mode AES67 - Configuration real-time Linux - Troubleshooting PTP sync et xruns JACK - Alternative trx pour RTP sans driver RAVENNA Fonctionnalites documentees: - Routing audio multi-canaux professionnel - Synchronisation horloge reseau (PTP) - Configuration switches manageables - Optimisations performance Linux - Budget latence < 150ms end-to-end TODO.md mis a jour: Phase 3.2 et 3.3 partiellement completees
10 KiB
Configuration Dante avec PTT Live
Guide pour intégrer PTT Live avec des équipements Dante (Audinate)
Vue d'ensemble
Dante (Digital Audio Network Through Ethernet) est un protocole audio professionnel sur IP largement utilisé dans l'événementiel et le broadcast. PTT Live peut s'interfacer avec des équipements Dante via JACK Audio Connection Kit.
Architecture
[Équipements Dante] ←→ [Dante Virtual Soundcard (DVS)] ←→ [JACK] ←→ [PTT Live]
Prérequis
Matériel
- Mac ou PC avec interface réseau Ethernet (Gigabit recommandé)
- Équipements Dante (console, preamps, etc.)
- Switch réseau dédié (VLAN audio recommandé)
Logiciel
- Dante Virtual Soundcard (~300€ licence personnelle)
- macOS 10.14+ ou Windows 10+
- Téléchargement : https://www.audinate.com/products/software/dante-virtual-soundcard
- Dante Controller (gratuit)
- Configuration et routing Dante
- Téléchargement : https://www.audinate.com/products/software/dante-controller
- JACK Audio Connection Kit
- macOS :
brew install jackou via JackPilot - Linux : voir install/linux.sh
- Windows : https://jackaudio.org/downloads/
- macOS :
Installation
1. Installation Dante Virtual Soundcard (DVS)
- Acheter et télécharger DVS depuis le site Audinate
- Installer le package (.dmg sur macOS, .exe sur Windows)
- Redémarrer l'ordinateur
- Lancer DVS :
- macOS :
/Applications/Dante Virtual Soundcard.app - Windows : Menu Démarrer > Dante Virtual Soundcard
- macOS :
2. Configuration DVS
Paramètres recommandés pour PTT Live
| Paramètre | Valeur | Description |
|---|---|---|
| Latency | 5-10 ms | Latence réseau (plus bas = moins de buffer) |
| Sample Rate | 48 kHz | Standard audio pro (requis par PTT Live) |
| Encoding | PCM 24-bit | Qualité maximale |
| Channels | 8-32 | Selon besoins (min 2 pour stéréo) |
Configuration :
- Ouvrir Dante Virtual Soundcard
- Onglet "Settings"
- Définir les paramètres ci-dessus
- Cliquer "Start" pour activer la carte virtuelle
3. Installation JACK
macOS
# Via Homebrew
brew install jack
# Ou télécharger JackPilot :
# http://www.jackosx.com/
Linux
# Ubuntu/Debian
sudo apt install jackd2 jack-tools qjackctl
# Arch Linux
sudo pacman -S jack2 qjackctl
Windows
Télécharger depuis https://jackaudio.org/downloads/ et installer.
4. Configuration JACK
Paramètres recommandés
| Paramètre | Valeur |
|---|---|
| Sample Rate | 48000 Hz |
| Buffer Size | 256-512 samples (5-10ms) |
| Periods | 2-3 |
Via QjackCtl (GUI)
- Lancer QjackCtl
- Cliquer "Setup"
- Configurer :
- Driver : CoreAudio (macOS), ALSA (Linux), PortAudio (Windows)
- Sample Rate : 48000
- Frames/Period : 256 ou 512
- Cliquer "OK" puis "Start"
Via ligne de commande (macOS)
jackd -d coreaudio -r 48000 -p 512
Via ligne de commande (Linux)
jackd -d alsa -r 48000 -p 512
Routing Audio
1. Dante Controller - Configuration réseau
- Lancer Dante Controller
- Vérifier que DVS apparaît dans la liste des devices (ex: "MacBook-DVS")
- Configurer le routing Dante :
- Sources : équipements physiques (colonnes)
- Destinations : DVS (lignes)
- Cocher les cases pour router les canaux
Exemple :
- Console Dante (8 canaux) → DVS Input 1-8
- DVS Output 1-8 → Console Dante (8 canaux)
2. JACK - Connexion DVS ↔ PTT Live
Via QjackCtl (GUI)
- Lancer PTT Live (voir ci-dessous)
- Dans QjackCtl, cliquer "Graph" ou "Connections"
- Connecter les ports :
- Capture :
DVS:capture_1→PTTLive:input_1 - Playback :
PTTLive:output_1→DVS:playback_1
- Capture :
Via jack_connect (CLI)
# Liste des ports disponibles
jack_lsp
# Connexion entrée Dante → PTT Live
jack_connect "DVS:capture_1" "PTTLive:input_1"
jack_connect "DVS:capture_2" "PTTLive:input_2"
# Connexion sortie PTT Live → Dante
jack_connect "PTTLive:output_1" "DVS:playback_1"
jack_connect "PTTLive:output_2" "DVS:playback_2"
Démarrage PTT Live avec Dante
1. Ordre de démarrage recommandé
1. Démarrer le serveur JACK
2. Lancer Dante Virtual Soundcard
3. Configurer le routing dans Dante Controller
4. Démarrer le serveur PTT Live
5. Connecter les ports JACK (DVS ↔ PTT Live)
2. Lancer PTT Live
cd server
npm start
PTT Live détectera automatiquement JACK comme backend audio (sur Linux/macOS avec JACK actif).
3. Vérification
Dans les logs du serveur PTT Live, vous devriez voir :
✓ Backend audio : JACK (Linux professionnel)
📻 Devices audio détectés : X
- JACK System Capture (in:8, out:0)
- JACK System Playback (in:0, out:8)
Configuration Multi-canaux
Exemple : 8 canaux Dante ↔ 8 groupes PTT Live
1. Configuration réseau Dante
Dans Dante Controller :
- Console OUT 1-8 → DVS Input 1-8
- DVS Output 1-8 → Console IN 1-8
2. Configuration PTT Live
Éditer server/config/config.yaml :
audio:
backend: jack
sampleRate: 48000
channels: 8
routing:
inputs:
- name: "Canal 1 - Régie"
jackPort: "DVS:capture_1"
groups: ["regie"]
- name: "Canal 2 - Scene"
jackPort: "DVS:capture_2"
groups: ["scene"]
# ... etc
outputs:
- name: "Retour Régie"
jackPort: "DVS:playback_1"
groups: ["regie"]
- name: "Retour Scene"
jackPort: "DVS:playback_2"
groups: ["scene"]
# ... etc
groups:
- id: regie
name: "Régie"
inputChannels: [0]
outputChannels: [0]
- id: scene
name: "Scène"
inputChannels: [1]
outputChannels: [1]
# ... autres groupes
3. Routing JACK automatique
Créer un script server/scripts/connect-dante.sh :
#!/bin/bash
# Connexion automatique JACK ↔ Dante
echo "Connexion des canaux Dante → PTT Live..."
for i in {1..8}; do
jack_connect "DVS:capture_$i" "PTTLive:input_$i"
jack_connect "PTTLive:output_$i" "DVS:playback_$i"
done
echo "✓ Routing JACK configuré"
chmod +x server/scripts/connect-dante.sh
./server/scripts/connect-dante.sh
Monitoring et Troubleshooting
Vérification du statut JACK
# Ports disponibles
jack_lsp
# Ports DVS (exemple)
DVS:capture_1
DVS:capture_2
DVS:playback_1
DVS:playback_2
# Connexions actives
jack_lsp -c
# Stats serveur JACK
jack_samplerate # Devrait afficher 48000
jack_bufsize # Devrait afficher 256 ou 512
Problèmes courants
DVS ne s'affiche pas dans Dante Controller
Cause : Firewall ou réseau incorrect
Solution :
- Vérifier que DVS est "Started" dans l'application
- Désactiver temporairement le firewall
- Vérifier que l'interface réseau est en Gigabit
- Brancher sur le même switch que les équipements Dante
Latence élevée ou craquements audio
Cause : Buffer JACK trop petit ou latence Dante trop faible
Solution :
- Augmenter le buffer JACK : 512 ou 1024 samples
- Augmenter la latence DVS : 10ms au lieu de 5ms
- Vérifier le trafic réseau (pas de flood broadcast)
Pas de son entre PTT Live et Dante
Cause : Ports JACK non connectés
Solution :
# Vérifier les connexions
jack_lsp -c
# Reconnecter manuellement
jack_connect "DVS:capture_1" "PTTLive:input_1"
jack_connect "PTTLive:output_1" "DVS:playback_1"
PTT Live ne détecte pas JACK
Cause : Serveur JACK non démarré avant PTT Live
Solution :
- Arrêter PTT Live
- Vérifier que JACK tourne :
jack_lsp(ne doit pas donner d'erreur) - Relancer PTT Live
Configuration Réseau Recommandée
VLAN Audio (optionnel mais recommandé)
Pour isoler le trafic Dante du reste du réseau :
| Paramètre | Valeur |
|---|---|
| VLAN ID | 10 (exemple) |
| Subnet | 192.168.10.0/24 |
| QoS/DSCP | EF (Expedited Forwarding) |
| IGMP Snooping | Activé |
| Jumbo Frames | Activé (MTU 9000) |
Switch manageable
Fonctionnalités requises :
- VLAN tagging
- QoS/DSCP
- IGMP snooping
- Gigabit Ethernet (min)
Modèles testés :
- Netgear M4300 series
- Cisco SG350/SG550
- Ubiquiti EdgeSwitch
Latence End-to-End
Budget latence typique
| Étape | Latence |
|---|---|
| Dante network | 5-10 ms |
| DVS | 2-5 ms |
| JACK | 5-10 ms (256 samples @ 48kHz) |
| PTT Live bridge | 20-40 ms (jitter buffer) |
| WebRTC client | 30-100 ms |
| TOTAL | 62-165 ms |
Objectif : < 150ms end-to-end (validé en Phase 1)
Optimisation
Pour réduire la latence :
- Dante latency : 2-5ms (au lieu de 10ms)
- JACK buffer : 128 samples (au lieu de 512)
- PTT Live jitter buffer : preset "ULTRA_LOW" (20ms au lieu de 40ms)
Attention : Latence trop faible = risque de craquements audio si réseau/CPU chargé.
Coût et Licences
| Élément | Prix | Licence |
|---|---|---|
| Dante Virtual Soundcard | ~300€ | Par poste (licence personnelle) |
| Dante Controller | Gratuit | - |
| JACK | Gratuit | Open Source (GPL) |
| PTT Live | Gratuit | Open Source |
Note : Pour un déploiement multi-postes, chaque ordinateur exécutant DVS nécessite sa propre licence.
Alternatives
AES67 (sans Dante Virtual Soundcard)
Si le budget DVS est un problème, voir AES67_SETUP.md pour utiliser le protocole AES67 natif (interopérable avec Dante).
Avantages :
- Gratuit (pas de licence DVS)
- Standard ouvert
Inconvénients :
- Configuration plus complexe
- Support PTP sync requis
- Moins de GUI (configuration CLI)
Support et Ressources
- Dante Academy : https://www.audinate.com/learning/training-certification/dante-certification-program
- JACK Documentation : https://jackaudio.org/faq/
- PTT Live Issues : https://github.com/username/ptt-live/issues
Dernière mise à jour : 2026-05-26 Version PTT Live : 0.1.0 (Phase 3)