random/mumble-bot/README.md
2020-04-19 20:12:29 +02:00

68 lines
1.5 KiB
Markdown

mumble-bot
==========
prende l'audio del canale, ne fa stdout.
prende l'audio da stdin, lo manda nel canale.
Install
--------
```
pip3 install git+https://github.com/azlux/pymumble # questo non sta su pypy
```
Flag interessanti
-----------------
`--channel` ti fa scegliere il chan in cui entrare, la sintassi per i canali e' `Canaleprimo/sottocanale/altrocanalesemprepiugiu`
`--stream` butta tutto in stdout senza dover usare i comandi in chat
`--auto-suspend-stream` autoblocca lo stream dopo n scondi di silenzio
`--max-silence-time` specifica i secondi di silenzio di cui sopra (default 30s)
`--tokens token1 token2 token3` setta la lista dei token da usare
Usi
---
### Ascolta
con pulseaudio
```
python3 bot.py --stream --channel "canale" | paplay -n mumblebot --raw --rate=48000 --format=s16le --channels=2
```
### Stream to icecast
```
python3 bot.py --stream --channel "canale" | ffmpeg -ac 2 -ar 48000 -f s16le -i pipe: -codec:a libvorbis -qscale:a 3 -content_type 'audio/ogg' -vn -f ogg icecast://username:passwordsicura@ice.cast:8000/test.ogg
```
### Use inside liquidsoap
```
(
id: "antani",
buffer: 2.0,
channels: 2,
max: 10,
restart: true,
restart_on_error: true,
samplerate: 48000,
"python3 /path/to/bot.py --channel canale"
)
```
Poi entri in chat e fai il comando `/start` per iniziare la diretta, `/stop` per fermarla.
Client headless
===============
```
parecord --channels=1 --rate=48000 --format=s16le --raw | python3 bot.py --transmit --stream | paplay --raw --rate 48000 --format=s16le --channels=2
```