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

1.5 KiB

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