services:svxreflector
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
services:svxreflector [2023/03/16 16:24] – f4hof | services:svxreflector [2024/09/07 15:47] (current) – [Configuration d'Icecast] f4hof | ||
---|---|---|---|
Line 341: | Line 341: | ||
https:// | https:// | ||
+ | |||
+ | ===== Diffusion d'un salon sur Icecast ===== | ||
+ | |||
+ | Cette section décrit la procédure qui permet d' | ||
+ | |||
+ | ==== Architecture Générale ==== | ||
+ | |||
+ | < | ||
+ | | | ||
+ | | SVXReflector |===[socket]===| SVXLink |===[Loopback audio]===| DarkICE |===[socket]===| Icecast | | ||
+ | |______________| | ||
+ | </ | ||
+ | |||
+ | ==== Installation des prérequis ==== | ||
+ | |||
+ | Lancer les commandes suivantes en tant que root: | ||
+ | |||
+ | <code bash>apt install darkice icecast2</ | ||
+ | |||
+ | ==== Configuration d' | ||
+ | |||
+ | Le fichier de configuration suivant permet de servir les flux de diffusion avec une socket non sécurisée, | ||
+ | |||
+ | Les valeurs des champs suivants DOIT être modifiée: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | <!-- You may have multiple < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | | ||
+ | | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | | ||
+ | < | ||
+ | <header name=" | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <alias source="/" | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Si vous n' | ||
+ | |||
+ | La génération des certificats est laissée à votre discrétion, | ||
+ | - La chaîne de certification dans l' | ||
+ | - Le certificat utilisé par le serveur. | ||
+ | - La clé privée, non protégée par un mot de passe. | ||
+ | |||
+ | Les permissions de votre fichier bundle.pem doivent être positionnées à '' | ||
+ | |||
+ | |||
+ | ==== Ajout des interfaces de bouclage ==== | ||
+ | |||
+ | Lancer les commandes suivantes pour créer une interface de bouclage. | ||
+ | <code bash> | ||
+ | echo " | ||
+ | echo " | ||
+ | modprobe snd-aloop | ||
+ | </ | ||
+ | |||
+ | Lancer les commandes suivantes pour créer quatre interfaces de bouclage. | ||
+ | <code bash> | ||
+ | echo " | ||
+ | echo " | ||
+ | modprobe snd-aloop | ||
+ | </ | ||
+ | |||
+ | Le code précédent permet de: | ||
+ | - Définir des options à passer implicitement au chargement du module '' | ||
+ | - Ajouter '' | ||
+ | - Charger le module manuellement pour cette fois-ci sans avoir à rebooter. | ||
+ | |||
+ | Si vous voulez modifier le nombre d' | ||
+ | |||
+ | Pour appliquer les changements sans rebooter votre serveur, il faut arrêter tous les programmes qui utilise les interfaces de bouclage, puis lancer la commande suivante en tant que root, pour que les nouveaux paramètres soient pris en compte: | ||
+ | |||
+ | <code bash> | ||
+ | ==== Configuration des clients SVXLink ==== | ||
+ | |||
+ | Un client SVXLink doit être configuré pour chaque réflecteur. | ||
+ | |||
+ | Reprendre le patron de configuration suivant, et changer le contenu de ces champs: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | <code ini> | ||
+ | ############################################################################### | ||
+ | # # | ||
+ | # Configuration file for the SvxLink client | ||
+ | # # | ||
+ | ############################################################################### | ||
+ | |||
+ | [GLOBAL] | ||
+ | LOGICS=SimplexLogic, | ||
+ | CFG_DIR=svxlink.d | ||
+ | TIMESTAMP_FORMAT=" | ||
+ | CARD_SAMPLE_RATE=48000 | ||
+ | LINKS=ALLlink | ||
+ | |||
+ | [SimplexLogic] | ||
+ | TYPE=Simplex | ||
+ | RX=NONE | ||
+ | TX=TxStream | ||
+ | CALLSIGN=ICECAST | ||
+ | EVENT_HANDLER=/ | ||
+ | DEFAULT_LANG=en_US | ||
+ | |||
+ | [ReflectorLogic] | ||
+ | TYPE=Reflector | ||
+ | HOST=127.0.0.1 | ||
+ | PORT=5310 | ||
+ | CALLSIGN=" | ||
+ | AUTH_KEY=" | ||
+ | AUDIO_CODEC=OPUS | ||
+ | EVENT_HANDLER=/ | ||
+ | |||
+ | [ALLlink] | ||
+ | CONNECT_LOGICS=SimplexLogic: | ||
+ | DEFAULT_ACTIVE=1 | ||
+ | TIMEOUT=0 | ||
+ | |||
+ | [TxStream] | ||
+ | TYPE=Local | ||
+ | AUDIO_DEV=alsa: | ||
+ | AUDIO_CHANNEL=0 | ||
+ | PTT_TYPE=NONE | ||
+ | TIMEOUT=7200 | ||
+ | TX_DELAY=0 | ||
+ | PREEMPHASIS=0 | ||
+ | </ | ||
+ | |||
+ | Sauver le résultat modifié dans ''/ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Configuration de Darkice ==== | ||
+ | |||
+ | Editer votre fichier ''/ | ||
+ | |||
+ | < | ||
+ | 127.0.0.1 localhost icecast.example.com | ||
+ | </ | ||
+ | |||
+ | Dans le dossier ''/ | ||
+ | |||
+ | <code ini my-reflector.cfg> | ||
+ | [general] | ||
+ | duration | ||
+ | bufferSecs | ||
+ | reconnect | ||
+ | realtime | ||
+ | rtpio = 3 | ||
+ | |||
+ | |||
+ | [input] | ||
+ | device | ||
+ | sampleRate | ||
+ | bitsPerSample | ||
+ | channel | ||
+ | |||
+ | |||
+ | [icecast2-0] | ||
+ | bitrateMode | ||
+ | format | ||
+ | bitrate | ||
+ | # | ||
+ | channel | ||
+ | lowpass | ||
+ | highpass | ||
+ | server | ||
+ | port = 5299 # port of the IceCast2 server, usually 8000 | ||
+ | password | ||
+ | mountPoint | ||
+ | name = Reflecteur-ARA # name of the stream | ||
+ | description | ||
+ | url = http:// | ||
+ | genre = Ham Radio , Radioamateur | ||
+ | public | ||
+ | |||
+ | </ | ||
+ | |||
+ | Fichier d' | ||
+ | |||
+ | <code ini darkice@.service> | ||
+ | [Unit] | ||
+ | Description=Darkice server for room %I | ||
+ | Documentation=man: | ||
+ | After=network.target time.target sound.target icecast2.service | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | User=svxlink | ||
+ | Group=svxlink | ||
+ | EnvironmentFile=-/ | ||
+ | Environment=CFGFILE=/ | ||
+ | # | ||
+ | ExecStart=/ | ||
+ | ExecStop=/ | ||
+ | Restart=on-failure | ||
+ | TimeoutStartSec=60 | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | </ | ||
+ | |||
+ | Lancer la commande suivante en tant que root pour rafraîchir la config de systemd | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | Ensuite, activer votre instance nommée de darkice pour qu' | ||
+ | <code bash> | ||
+ | systemctl start darkice@my-reflector | ||
+ | </ | ||
+ | |||
+ | Répéter cette opération pour l' | ||
+ |
services/svxreflector.1678983853.txt.gz · Last modified: 2023/03/16 16:24 by f4hof