logstreamer/README.md

73 lines
2.6 KiB
Markdown

# logstreamer
LogStreamer est un logiciel permettant la diffusion sonore d'un fichier texte (mais pas que) via un serveur
de streaming Icecast.
La position dans la table des caractères de chaque caractère du fichier est convertie en une fréquence qui est
échantillonée en fonction des paramètres passés en option.
L'ensemble constituera un fichier WAV qui sera ensuite converti en OGG avant d'être envoyé vers un serveur
Icecast pour diffusion.
## Prérequis
* python3
* libshout
* python-shout (```pip3 install python-shout```)
* vorbis-tools
Les utilisateurs de distributions moisies basées sur Debian et/ou CentOS/RHEL (CentOS/Debian y compris) devront
au préalable installer les paquets suivants:
* python3-dev
* libshout3-dev
## Utilisation
```shell
logstreamer.py --help
usage: logstreamer.py [-h] --log LOG --host HOST --port PORT --user USER
--password PASSWORD --mount MOUNT [--workdir WORKDIR]
[--duration DURATION] [--amplitude AMPLITUDE]
[--framerate FRAMERATE] [--adjust ADJUST ADJUST]
[--exclude [EXCLUDE [EXCLUDE ...]]]
[--protocol PROTOCOL] [--ice_buffer ICE_BUFFER]
[--debug DEBUG]
optional arguments:
-h, --help show this help message and exit
--log LOG Le fichier de log à traiter (requis)
--host HOST Server Icecast2 (requis)
--port PORT Port TCP sur lequel contacter le serveur Icecast2
(requis)
--user USER Nom d'utilisateur (requis)
--password PASSWORD Mot de passe (requis)
--mount MOUNT Point de montage Icecast2 (requis)
--workdir WORKDIR Le répertoire de travail (défaut: /tmp)
--duration DURATION La durée d'une note (défaut: 0.008)
--amplitude AMPLITUDE
Le niveau sonore (défaut: 0.5)
--framerate FRAMERATE
Le taux d'échantillonage (défaut: 44100)
--adjust ADJUST ADJUST
Facteurs d'ajustement (défaut: 5000 20000)
--exclude [EXCLUDE [EXCLUDE ...]]
Liste des caractères non traités (défaut: [])
--protocol PROTOCOL Protocole à utiliser (défaut: http)
--ice_buffer ICE_BUFFER
Taille du tampon Icecast (défaut: 32768)
--debug DEBUG Affiche l'activité (défaut: False)
```
## Exemple
```
logstreamer.py --log /var/log/messages --host serviette.tetalab.org --port 8000 --user tetalab --password XXXXXX --mount /radiology.m4a
```
## Démo
[http://serviette.mixart-myrys.org:8000/radiology.m4a](http://serviette.mixart-myrys.org:8000/radiology.m4a)