90107381001310876439032117425523386285527369064955290152127497749962802572547619498228034614224174373888785932290535335802792711060672475883887094683542269956016098828012518360248528894800410694512031313946160169110306524425970765198849243195401705152172988051644198232153630160977209718291848454429628769625278676363957961530676189210110321852252064385407457271026719172983966355070994806498844797108773266015836167049954977047493534434218252818493160591608360040003853160312
Una chiacchierata su: il Fediverso
Il come e il perchè del Fediverso. Links: San Benedetto del Tronto https://social.as59715.net/users/cittasbt Account sul fediverso del comune di San Bened...social.gl-como.it
Serata del 1 dicembre: il Fediverso
Visti gli argomenti di cronaca tecnologica delle ultime settimane :D per
la prossima serata del giovedì 1 dicembre pensavamo di proporre il tema
“il Fediverso” (ovvero i social network federati, ovvero ciò di cui fa
parte Mastodon).
Il piano è:
- 20:30 ritrovo alle 20:30 su meet.gl-como.it/GL-Como per
convenevoli e consueto cazzeggio
- 21:00 breve presentazione di cos'è il Fediverso
- 21:15 circa, scambio di esperienze, domande, risposte, consigli eccetera
eccetera.
Come l'altra volta, partecipando si autorizza la registrazione della
call, a partire dalle 21:00 e la sua eventuale pubblicazione.
like this
reshared this
Serata del 17 ottobre: self-hosting git
Come ogni giovedì di recente, anche il 17 novembre ci troveremo online
per la consueta chiaccherata serale: questa volta però abbiamo un tema:
il self-hosting git, ovvero come non dipendere da github, gitlab e altri
big per pubblicare il proprio codice.
Il piano della serata è ritrovo alle 20:30 su
meet.gl-como.it/GL-Como , convenevoli e breve cazzeggio e alle
21:00 precise precise si entra nel vivo e ci si scambiano esperienze e
consigli riguardo all'argomento della serata.
Non è detto che se ne faccia niente, ma partecipando si autorizza la
registrazione della call e la sua eventuale pubblicazione nel caso in
cui esca qualcosa di potenzialmente interessante anche per altri.
(ovviamente la parte cazzeggio prima delle 21 è esclusa dalla
registrazione/pubblicazione)
like this
reshared this
peertube.uno/w/pU69nhQumb6pTyk…
Roberto Resoli likes this.
Roberto Resoli reshared this.
Uops, I forgot to post a picture of the @Gruppo Linux Como lake penguin
no, it's not perfect, and I should practice a bit more, but the LUG t-shirts are close to becoming a *thing*.
like this
reshared this
Il video del mio talk sul #fediverso al #LinuxDay2021 è stato pubblicato sul fediverso :D (PeerTube).
Il Fediverso: social network senza secondi fini
La maggior parte dei social network è controllata da aziende il cui scopo principale è la raccolta indiscriminata di dati degli utenti e la loro rivendita tramite pubblicità, ma esiste un'alternativa.video.linux.it
like this
reshared this
Ah, dimenticavo.
Non so bene come/se/dove/quando pubblicarlo, ma per preparare il talk ho scritto un testo che non corrisponde esattamente a quanto detto, ma ci assomiglia abbastanza
git.trueelena.org/docs/talks/t…
Dato che le probabilità che io produca dei sottotitoli fatti bene per un mio talk sono estremamente basse, per varie ragioni, magari può essere utile a qualcuno.
(Se poi qualcuno ha voglia di sottotitolare il video originale come si deve, ha tutta la mia gratitudine.)
like this
reshared this
Ho provato a mettere del nastro adesivo di carta sul monitor, ma credo non funzioni così.
Ci sono dei programmi apposta (iirc quello che avevo usato anni fa è aegisub) con cui si può trascrivere quello che viene detto nel video e salvarlo associandolo al momento preciso in cui viene detto.
Poi il file che viene generato è un file di testo in un formato apposta, che si può caricare in vlc o simili (anzi, se ha lo stesso nome del file, salvo l'estensione, vlc lo carica automaticamente.
Non so se peertube permetta di caricare file di sottotitoli, devo ancora guardarci.
So che esiste anche una piattaforma online per farlo in modo collaborativo, ma credo che ci voglia del setup, avevo visto che avevano provato a farlo per i video di una debconf, qualche anno fa.
Il grosso del lavoro però è trascrivere e allineare al minuto giusto, che di solito richiede tanto tempo in più rispetto alla durata del video.
rag. Gustavino Bevilacqua likes this.
rag. Gustavino Bevilacqua reshared this.
Elena ``of Valhalla'' likes this.
E giusto giusto stasera, abbiam parlato di programmi per smaneggiare sottotitoli all'incontro del LUG
rag. Gustavino Bevilacqua likes this.
puoi creare dei file di testo in uno dei formati supportati da VLC, e chiamare il file con lo stesso nome (senza estensione) del video. VLC lo trova da solo.
se invece vuoi conoscere com’e fatto il formato del file, puoi prenderti dei sottotitoli qualunque (magari da opensubtitles.org) e dedurlo.
il problema non è tanto scrivere a manina un file di testo, quanto shiftare i time offset a manina! ci sono dei sw per la creazione dei sottotitoli:
linuxlinks.com/subtitleeditors…
7 Best Free and Open Source Subtitle Editors - LinuxLinks
A subtitle is a text representation of the dialog, narration, music, or sound effects in a video file. Subtitles are available in multiple formats.Steve Emms (LinuxLinks)
Come dice @Sabrina Web , diventa problematico quando i sottotitoli da distribuire sono in più di una lingua, e tenendo il file a parte si da la possibilità di non avere i sottotitoli a chi li trova una distrazione.
Oltre al fatto che se uno vuole può leggersi il file dei sottotitoli come transcript, evitando di doversi guardare tutto il video.
E che il file separato potrebbe essere indicizzato per delle ricerche, il disegno dei sottotitoli integrato nel video no.
like this
Forse l'unico problema può essere con i cosiddetti "smart tv" (che proprio smart non sono) che accettano un numero ridotto di formati video via USB e non credo leggano sottotitoli (devo provarci col mio), cosa che ti costringe a portarti dietro anche un laptop.
Sarebbe bello non avere l'uno *O* l'altro metodo, ma l'uno *E* l'altro.
Un po' di sbattimento in più per chi fa il video, ma neppure più di tanto, e si fanno felici molti più utenti.
Per fare una prova con la smart tv, un modo facile per procurarsi un video con sottotitoli è youtube-dl con l'opzione --all-subs
Certo che se è un minimo minimo smart, la possibilità di caricare sottotitoli me la aspetterei come funzionalità base
rag. Gustavino Bevilacqua likes this.
Serata Lesana - un gestore di collezioni
È online la presentazione del progetto Lesana e derivati tenuta durante la serata di giovedì 16 scorso.
I video sono pubblicati sul canale GL-Como su peertube.uno @glcomo@peertube.uno, che è possibile seguire con un account sul fediverso (Friendica, Mastodon, etc)
Lesana - un gestore di collezioni - parte 1
Lesana - un gestore di collezioni - parte 2
I link:
- Lesana - lesana.trueelena.org/
- Lesana Web : interfaccia web a una collezione Lesana - git.sr.ht/~fabrixxm/lesanaweb
- Collector : applicazione Python/Gtk3 per getire una collezione Lesana - git.sr.ht/~fabrixxm/Collector
gl-como.it/v2015/serata-lesana…
GL-Como
Gruppo Linux Como - https://www.gl-como.it/PeerTube Italia - Video Sharing Free & Open: Etico, Libero, Decentralizzato
Diego Roversi likes this.
Serata su lesana, software di gestione di inventari
Giovedì 16 settembre il GL-Como torna a fare serate a tema: stavolta l'argomento è lesana
, un programma per gestire inventari di collezioni, come libri, musica, componenti di elettronica, abbastanza versatile da poter essere usato ad esempio per un issue tracker personale.
lesana
è un programma da riga di comando ed una libreria python, e ne esistono già un'interfaccia grafica scritta in GTK e un visualizzatore web.
Saranno presenti gli autori di lesana e delle interfacce grafiche.
L'appuntamento è per giovedì 16 settembre 2021 alle 21:00 all'indirizzo
live.gl-como.it/view.html#GL-C…
dove saranno disponibili lo streaming e una chat per interagire con i relatori.
Maggiori informazioni su lesana si trovano sul sito del progetto:
Giovedì 16 settembre il GL-Como torna a fare serate a tema: stavolta
l'argomento è lesana, un programma per gestire inventari di collezioni,
come libri, musica, componenti di elettronica, abbastanza versatile da
poter essere usato ad esempio per un issue tracker personale.
lesana è un programma da riga di comando ed una libreria python, e ne
esistono già un'interfaccia grafica scritta in GTK e un visualizzatore
web.
Saranno presenti gli autori di lesana e delle interfacce grafiche.
L'appuntamento è per giovedì 16 settembre 2021 alle 21:00 all'indirizzo
live.gl-como.it/view.html#GL-C…
dove saranno disponibili lo streaming e una chat per interagire con i
relatori.
Maggiori informazioni su lesana si trovano sul sito del progetto
lesana.trueelena.org/
reshared this
attend
Opencast Alpha n.51
La puntata numero 51, con una parvenza di regolarità, dedicata all'imminente release di Debian Bullseye
Scarica:Ogg/Vorbis-Mp3
I links
- Debian “bullseye” Release Information
- Bullseye Freeze Timeline and Policy
- Debian 11 -- Release Notes
- CUPSAirPrint
- Arduino is back on Debian
I link di Opencast li trovate anche sulla Linkopedia
Abbiamo registrato con Mumble, ognuno a casa propria.
gl-como.it/v2015/opencast-alph…
Bits from the Debian Project
Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.Debian Project
Installare un server minetest da usare con gli amici
Dopo mesi di lockdown in cui si sono incontrati gli amici solo tramite videoconferenza (ovviamente sul proprio server jitsi), viene voglia di interagire di più, e cosa c'è di meglio che farlo in una comoda sala da té costruita su dei pioppi, o sul fondo di una miniera scavando ferro, oro, diamanti e MESE?
MESE? sì, sto parlando del minerale originale del mondo di Minetest, un gioco libero della stessa famiglia del proprietario Minecraft, in cui si interagisce in vari modi con un mondo composto da cubi di materiale vario.
Uno dei punti di forza di minetest è la varietà di mod disponibili (e la facilità con cui se ne possono scrivere di personalizzati, usando il linguaggio lua), per cui l'esperienza di gioco può essere resa molto diversa a seconda dei gusti dei partecipanti: un server può offrire uno spazio per costruire strutture, un'altro un mondo pieno di pericoli da esplorare ed un'altro ancora può dare spazio a giocatori che vogliono combattere tra di loro o contro mostri.
In questo articolo ci concentreremo soprattutto sulla prima opzione, ma dando indicazioni su cosa modificare se si preferiscono le altre due (o varie combinazioni).
Installazione
Partiamo come al solito da un'installazione di debian su una macchina che possa essere raggiunta da internet (la solita vps, o un SBC in casa con un router opportunamente configurato); ad aprile 2021 possiamo scegliere se usare buster (l'attuale stable) più buster-backports oppure bullseye, la prossima stable di imminente rilascio.
Installiamo quindi il server minetest ed altri strumenti utili:
# apt install -t buster-backports minetest-server minetestmapper
e poi la selezione di mod che vogliamo usare, ad esempio:
# apt install -t buster-backports \
minetest-mod-basic-materials minetest-mod-craftguide \
minetest-mod-homedecor minetest-mod-unifieddyes \
minetest-mod-moreblocks minetest-mod-moreores
Quindi passiamo a configurare il nostro server modificando il file/etc/minetest/minetest.conf: di sicuro vogliamo modificare nome (server_name), descrizione (server_description) e volendo il messaggio mostrato al collegamento (motd), e possiamo scegliere se vogliamo annunciare il server sull'elenco comune dove chiunque possa giocarci (per iniziare, o comunque se si vuole giocare solo con i propri amici, conviene lasciare server_announce = false) e se impostare una password comune per poter entrare nel server (default_password).
Decidiamo poi, nello stesso file, che tipo di esperienza di gioco vogliamo avere, impostando creative_mode (true per far sì che i giocatori abbiano a disposizione tutti i materiali senza doverli andare a cercare, false per la modalità classica in cui li si deve trovare e scavare), enable_damage (utile se si vuole rendere pericolosa l'esplorazione o si vuole fare combattimento) edenable_pvp (per il combattimento tra giocatori).
Inoltre in default_privs impostiamo che privilegi devono avere di default i giocatori: il minimo consueto è interact, shout, ma in un mondo incentrato sulla costruzione più che sull'esplorazione può essere utile aggiungere anche fly, fast, home. La wiki di minetest documenta i privilegi a disposizione.
Infine, impostiamo il nome di un giocatore che avrà i privilegi di admin, nella variabile name.
A questo punto passiamo nella directory del mondo,/var/games/minetest-server/.minetest/worlds/world/ e configuriamo quali mod vogliamo abilitare in world.mt; può essere necessario fare un po' di prove, dato che le dipendenze non vengono abilitate automaticamente, ma ad esempio questa è una combinazione funzionante con i mod installati prima:
load_mod_unifieddyes = true
load_mod_moreores = true
load_mod_moreblocks = true
load_mod_plasmascreen = false
load_mod_lavalamp = false
load_mod_building_blocks = false
load_mod_homedecor_3d_extras = false
load_mod_lrfurn = false
load_mod_homedecor = true
load_mod_inbox = false
load_mod_basic_materials = true
load_mod_itemframes = false
load_mod_computer = false
load_mod_craftguide = true
load_mod_currency = true
load_mod_fake_fire = false
load_mod_homedecor_i18n = true
Infine, riavviare minetest-server per applicare le modifiche:
# service minetest-server restart
Primi passi nel mondo
A questo punto, sul proprio pc, installare il gioco minetest (in debian il pacchetto minetest e collegarsi al server usando il nome utente che si è selezionato come admin, ricordandosi di cambiare la password (con il comando /setpassword) appena entrati.
Dopo aver esplorato un po' si può scegliere un posto da cui partire con la costruzione: lo si può impostare come propria “casa” usando il comando /sethome, ma può anche valere la pena di impostarlo come punto di partenza per tutti i giocatori: premere F5 per abilitare la modalità di debug e scoprire le coordinate in cui ci si trova, quindi tornare sul server, modificare static_spawnpoint in/etc/minetest/minetest.conf e riavviare nuovamente il server.
Ulteriori comandi utili sono documentati sulla wiki di minetest.
Ulteriori migliorie
Mappa del mondo
Il comando /usr/games/minetestmapper può essere usato per generare una mappa generale di tutto quanto è mai stato esplorato; può essere una buona idea aggiungere a crontab una riga come:
05 8,16,0 * * * /usr/games/minetestmapper -i /var/games/minetest-server/.minetest/worlds/world/ -o /var/www/minetest/world_map.png --drawscale
per rigenerare la mappa ogni 8 ore, lasciandola in una directory dove può essere servita da un eventuale server web presente sulla macchina.
“backup”
Per avere una forma minimale di backup, possiamo sfruttare git: creiamo un repository nella directory del mondo:
# cd /var/games/minetest-server/.minetest/worlds/world/
# git init
e poi impostiamo a crontab un commit automatico quotidiano:
14 4 * * * cd /var/games/minetest-server/.minetest/worlds/world/ ; git add . ; git commit -m 'daily commit'
Da un altro computer facciamo poi un clone di questo repository, e mantenendo aggiornato quel clone potremo recuperare il mondo in caso di catastrofi.
Come proseguire
A questo punto si è pronti per passare la password del server ai propri amici ed iniziare a giocare, il che probabilmente vuol dire che non si avrà più tempo per ulteriori configurazioni :)
Se invece si riesce a mantenere l'autocontrollo, queste sono alcune idee di migliorie su cui si può lavorare.
Ulteriori mod
I mod disponibili per minetest-sono estremamente numerosi e vari: la maggior parte viene pubblicata sul forum di minetest, ma una buona selezione di mod scelti per la loro qualità e affidabili può essere ottenuta cercando i mod che sono stati pacchettizzati per debian con il comando:
$ apt search minetest-mod
l'elenco è troppo lungo per parlarne in questo articolo, ma una buona idea può essere quella di installarli localmente sul proprio pc, provarli su un mondo single player e installare sul server ciò che si è trovato particolarmente interessante.
In alternativa, se tra i propri amici ci sono dei giocatori di minetest, di sicuro avranno un elenco di mod che trovano interessanti da suggerire.
Più mondi sullo stesso server
Il pacchetto debian di minetest-server è predisposto per poter gestire più mondi: per farlo basta creare una nuova configurazione in/etc/minetest/<nome>.conf e far partire il server con systemctl start minetest-server@pvp.service; sarà necessario usare una porta diversa, e ulteriori dettagli si possono trovare nel file/usr/share/doc/minetest-server/README.Debian installato dal pacchetto del server.
Backend più adatti a server affollati
Il backend di default di minetest è sqlite3, che non è in grado di scalare e supportare server con molti utenti: se si pensa di averne bisogno sono disponibili ulteriori backend come redis o postgresql, la cui configurazione è spiegata sempre sulla wiki di minetest.
Ovviamente, in questo caso non sarà più possibile usare git per effettuare un backup del mondo, ma sarà necessario avere una strategia di backup più tradizionale.
Conclusione
Qui avrebbe dovuto esserci una conclusione, ma chi doveva scriverla era impegnato a giocare…
Opencast Alpha n.50
La puntata numero 50, la puntata d'oro!
Non pensavate che ci saremmo arivati? Nemmeno noi, e invece eccoci qui!
Una puntata dedicata al giovane mondo di linux sugli smartphone: parleremo di pinephone, cosa funziona, cosa ancora non funziona, le nostre esperienze.
Scarica:Ogg/Vorbis-Mp3
I links
- PinePhone
- Librem 5
- Mobian
- Manjaro
- Lista dei SO disponibili per il PinePhone
- Phosh
- Plasma Mobile
- ReText
- Xournal
- Xournal++, una versione riscritta ed aggiornata di Xournal (non è stato testato, nel caso fateci sapere!)
- Confy
- ConfClerk
- VLC
- Dino
- Gajim
- Cawbird
- Tootle
- Anbox
- Anbox sul wiki di mobian
Abbiamo registrato con Mumble, ognuno a casa propria.
Risarcimento da 20000 Euro per il Mancato Rimborso della Licenza Windows
Nel 2014 la Cassazione ha sancito il diritto dei consumatori al rimborso delle licenze Microsoft Windows preinstallate su pressoché tutti i nuovi computer, indiscriminatamente fatte pagare anche a coloro che non la accettano e che abitualmente instal…Italian Linux Society
Opencast Alpha n.49
Dopo anni di silenzio audio (ma non video), una nuova puntata di OpenCast!
Dopo la prima edizione interamente online di FOSDEM, raccontiamoci com'è andata, cosa abbiamo visto e cosa ci siamo segnati da rivedere!
Scarica:Ogg/Vorbis-Mp3
I links
- Open Source Mobile Communications
- Working on DOS in 2021
- Building a Git learning game
- Ada Lovelace and The Very First Computer Program
- openwifi - opensource WiFi chip
- Why WebRTC is the way it is.
- An emulator for my old system today and tomorrow ?
- WebRTC shouldn't be this hard!
- networking [Mobian Wiki]
- GPS - NMEA sentence information
I link di Opencast li trovate anche sulla Linkopedia
Abbiamo registrato con Mumble, ognuno a casa propria.
Lo sapevate? Nella linkopedia del GL-Como ci sono diversi link relativi al #pinephone !
Diego Roversi likes this.
Elena ``of Valhalla'' reshared this.
Grazie ai grandi avanzamenti tecnologici, da oggi la linkopedia del GL-Como è comodamente ordinata in ordine di inserimento decrescente, ovvero i link inseriti più di recenti sono i primi della lista.
Linkopedia
La collezione di bookmark che sono stati citati nel corso delle riunioni del LUG di Comolinkopedia.gl-como.it
Ciao a tutti.
segnalo l'esistenza del neonato gruppo @softwarelibero group ai gruppi dei due LUG che frequento, che immagino possano esserci degli interessati.
Ci sono già delle linee guida su cosa si vuole che venga postato? Immagino solo post in italiano.
Wikimedia Italia likes this.
Reply Guy reshared this.
Controllo vocale delle luci di casa
Avendo in casa una lampada "smart" della serie Trådfri di IKEA a fare poco di "smart", un computer con linux, ed essendo capitato sul sito di voice2json.org mi son detto: perchè non fare due più due più due?
Ed ecco il risultato! (cinque... oh no.)
Step 1: controllare le luci
Cominciamo col poter controllare le luci da riga di comando.
Cosa serve:
- Una lampadina "smart" della serie Trådfri di IKEA
- Il suo gateway, già accoppiato e testato
- Un computer con linux
- bash, grep, sed
- coap-client (debian: libcoap2-bin, AUR: coap-client)
- lo script "tradfri" che trovate qui git.sr.ht/~fabrixxm/tradfri-cl…
Salviamo lo script in una cartella appropriata, p.e. ~/tradfri/
e lo rendiamo eseguibile.
Da console lo eseguiamo una prima volta per fargli creare il file di configurazione vuoto: ~/tradfri/tradfri.rc
.
Editiamo il file di configurazione e inseriamo l'ip e il codice del gateway. Possiamo anche inserire un nome utente a scelta, o lasciare che lo script ne generi uno a caso.
Eseguiamo ancora lo script per fare login. Teoricamente dovrebbe salvare in automatico la chiave di sessione nel file di configurazione, ma non funziona. La chiave viene stampata a terminale e dovremmo copiarla nel file di configurazione a mano.
Ora possiamo verificare che funzioni:
$ ~/tradfri/tradfri info
per avere informazioni sul gateway
$ ~/tradfri/tradfri devicelist
per avere un elenco degli id dei devices collegati al gateway
$ ~/tradfri/tradfri deviceinfo <id>
per avere i dettagli di ogni device. Cerchiamo quello che corrisponde alla lampadina. Nel mio caso è il device con id 65538
Proviamo ad accendere e spegnere la lampadina:
$ ~/tradfri/tradfri light <id> on
$ ~/tradfri/tradfri light <id> off
Se tutto funziona ora dovremmo poter controllare la lampadina.
Impostiamo un alias, un nome, per la lampadina. Diciamo che è la lampadina del salotto. La chiameremo quindi "salotto".
Per impostare l'alias creiamo il file ~/tradfri/aliases.rc
e ci scriviamo dentro:
salotto=<id>
sostituendo l'id con quello della nostra lampadina. p.e:
salotto=65538
Ora possiamo controllare la lampadina riferendoci al suo nome:
$ ~/tradfri/tradfri light salotto on
$ ~/tradfri/tradfri light salotto off
Step 2: controllo vocale
serve:
- lo stesso computer dello step 1
- microfono e (opzionalmente) casse
- aplay
- python
- pazienza
Installiamo voice2json seguendo la guida qui: voice2json.org/install.html
è disponibile un pacchetto debian che non ho provato, ma la compilazione da sorgente non è complicata.
Il profilo in italiano da scaricare è qui github.com/synesthesiam/it_poc…
Possiamo seguire la guida di voice2json per vedere che funzioni.
Ho trovato che nel profilo in italiano il frasario (il contenuto del file senteces.ini) non funziona benissimo, in particolare la parola "lampada" non viene riconosciuta. Si puo' sostituirla con la parola "luce" e rilanciare il training per avere risultati migliori.
Una volta che voice2json
funziona, possiamo mettere assieme i pezzi.
Innanzitutto modifichiamo il file senteces.ini
per adeguarsi alle nostre esigenze. Cambiamo il contenuto in:
[ChangeLightState]light_state = (accendi | spegni){state}
light_name = (soggiorno | garage){name}
<light_state> [la] luce (in|del) <light_name>
Il nuovo file imposta quindi un solo "intent" (ChangeLightState
) e definisce il nome delle lampade con una sola parola.
Perchè l'accrocchio funzioni, i nomi delle lampade in questo file devono corrispondere ad almeno un alias del file ~/tradfri/aliases.rc
.
Seguendo questa guida abbiamo definito l'alias soggiorno
e quindi potremmo dire "accendi la luce del soggiorno" o "spegni la luce in soggiorno".
Scarichiamo lo script listen.sh, lo salviamo in ~/tradfri/
e lo rendiamo eseguibile.
Lo apriamo con un editor di testo per modificare i primi due percorsi:
- il percorso all'eseguibile di
voice2json
- il percorso allo script
tradfri
Ci servono anche tre file di suoni, che troviamo qui che vanno salvati in ~/tradfri/sounds/
nota: vi sarete accorti che arriva tutto da un repo git. Per fare più in fretta, possiamo clonare il repo https://git.sr.ht/~fabrixxm/tradfri-voice e scaricare così lo script, i suoni e il file senteces.ini
da copiare nel profilo.
E lo eseguiamo.
Lo script resterà in attesa della frase di attivazione ("Hey, Mycroft"), stampando a terminale "Waiting for wake word...".
Quando riconosce la frase di attivazione, esegue un suono di notifica e resta in ascolto del comando (p.e. "accendi la luce del soggiorno").
Terminato l'ascolto del comando, emette un nuovo suono di notifica e tenta di riconosce ed eseguire il comando.
Se l'operazione va a buon fine vedremo accendersi la luce del soggiorno!
Altrimenti un nuovo suono di notifica che segnala un errore viene emesso.
Il ciclo poi si ripete e lo script si rimette in attesa della frase di attivazione.
Link e riferimenti
- voice2json.org : Command-line tools for speech and intent recognition on Linux
- tradfri-cli : a WiP commandline client for tradfri gateway
- tradfri-voice : Experimental tradfri light voice control
- ikea-tradfri-coap-docs
nota: questo post non è sponsorizzato in nessuna maniera da IKEA, la quale è proprietaria del marchio "Trådfri"
Il quarto video della serie "sales pitch di linguaggi di programmazione", che tratta Haskell, è online
Tra 20 minuti, ore 21:00 "Sales Pitch Linguaggi di programmazione" 2!
live.gl-como.it/view.html#gl-c…
Si parla di haskell e rust
Paolo Pedaletti likes this.
Annuncio: "Sales Pitch" Linguaggi di programmazione #2
Domani sera, giovedì 9 luglio alle ore 21, tornano le “sales pitch” dei linguaggi di programmazione: presentazioni brevi nelle quali si cerca di invogliare ad imparare un linguaggio di programmazione.
Il target sono persone con nozioni di programmazione: né completi principianti né sviluppatori esperti.
Questa puntata tratteremo di haskell e rust.
Per partecipare, collegatevi alla pagina di streaming del GL-Como, dalla quale si può interagire con la serata tramite la chat integrata.
live.gl-como.it/view.html#gl-c…
OpenCast Live #1
peertube.uno/videos/embed/1c60…
Linux e Lenovo, Linux e cellulari, furbofoni alternativi e altro nella puntata numero uno di OpenCast Live!
Scarica:
Ogg/Vorbis
Mp3
Mp4
Link della puntata:
- Lenovo Brings Linux® Certification to ThinkPad and ThinkStation Workstation Portfolio, Easing Deployment for Developers & Data Scientists
- Un ingegnere Lenovo si informa su come contribuire a Debian
- Linux preinstallato sui desktop lenovo
- PinePhone Community Edition con PostmarketOS in prevendita da inizio luglio: da pine64.org, da postmarketos.org
- Ringo, an Educational DIY Mobile Phone
- E' possibile compilare programmi per android usando solo strumenti disponibili in debian
Musica:
Abbiamo registrato grazie a:
- jitsi.org/jitsi-meet/
- obsproject.com/
- vari microfoni e ammenicoli vari
Segui @gl-como@social.gl-como.it sul fediverso!
like this
Paolo Pedaletti reshared this.
Primo ritrovo di persona dopo il lockdown, sempre rispettando il distanziamento sociale!
Nel corso della serata, mentre ci pappiamo il cono, si vagherà per il centro a caccia di cassette della posta con lo scopo di mapparne posizione e dettagli su OpenStreetmap.
Diego Roversi attends.
Seguite in diretta e partecipate via chat!
Si parla di Linux, open source, software libero e tecnologia in generale, sempre senza prendersi troppo sul serio.
OpenCast Live puntata numero 1!
Dopo la puntata pilota del mese scorso, OpenCast Live parte a regime, cercando di mantenere una cadenza mensile, l'ultimo martedì del mese.
Grazie alla moderna tecnologia, martedì 30 giugno a partire dalle 21:00si potrà seguire in diretta e partecipare via chat!
Si parla di Linux, open source, software libero e tecnologia in generale, sempre senza prendersi troppo sul serio.
Venite a trovarci!
live.gl-como.it/view.html#gl-o…
"Sales Pitch" Linguaggi di programmazione #1
Sono online i video della prima serata a tema "Sales Pitch" linguaggi di programmazione
Si tratta di una serie di presentazioni brevi nelle quali si cerca di invogliare ad imparare un linguaggio di programmazione. Il target sono persone con nozioni di programmazione: né completi principianti né sviluppatori esperti. Non ci sono particolari vincoli sui linguaggi presentati, basta che possano chiamarsi “linguaggio di programmazione”
Le prime tre presentazioni trattano awk, python e corewars
Questa sera durante la settimanale riunione virtuale del GL-Como si terrà la serata “sales pitch” per linguaggi di programmazione: una serie di presentazioni
brevi nel quale cercare di convincere ad imparare un linguaggio di programmazione.
Il target sono persone con nozioni di programmazione: né completi
principianti né sviluppatori esperti.
Si parlerà di awk e di python.
Le presentazioni saranno in diretta all'indirizzo live.gl-como.it/view.html#gl-c… , con la possibilità di interagire via chat.
Appuntamento a partire dalle ore 21:00
OpenCast Live #0
Puntata pilota di OpenCast Live!
peertube.uno/videos/embed/0d23…
Scarica: Ogg/Vorbis - Mp3 - Mp4
Link alle notizie e agli argomenti:
- gnome.org/news/2020/05/patent-…
- wiki.debian.org/DebianEvents/i…
- https://www.davidrevoy.com/article777/libre-graphic-meeting-online-2020-livestream
- ils.org/linuxday2020
- wikimedia.it/sequestro-del-sit…
- kiwix.org/
- standardebooks.org/
- liberliber.it/benvenuto/
- framablog.org/2020/05/26/our-p…
Abbiamo registrato ognuno a casa propria in ottemperanza alla regolamentazione vigente in materia di contenimento dell'epidemia con:
- jitsi.org/jitsi-meet/
- obsproject.com/
- vari microfoni e ammenicoli vari
Ti sei perso il numero zero di #OpenCast Live? L'abbiamo registrato!
Torna OpenCast, questa volta Live!
Dopo anni di silenzio torna OpenCast in versione video e live!
Grazie alla moderna tecnologia, martedì 26 maggio a partire dalle 21:00si potrà seguire in diretta e partecipare via chat!
Si parla di inux, open source, software libero e tecnologia in generale, sempre senza prendersi troppo sul serio.
Venite a trovarci!
live.gl-como.it/view.html#gl-o…
Torna OpenCast in versione Live!
Martedì 26 maggio a partire dalle 21:00 saremo live all'indirizzo live.gl-como.it/view.html#gl-o… , con la possibilità di interagire via chat!
Opencast è il podcast del GL-Como che tratta di open source, software libero e tecnologia in generale.
Fabrix.xm reshared this.
Installare Jitsi
Nell'ultimo articolo abbiamo visto come installare un server per fare dirette video per fare dirette uno a molti con feedback tramite chat testuale.
In gruppi più piccoli però è più comodo e immediato fare videochiamate in cui tutti possano intervenire con audiovideo: per fare questo usando software libero possiamo usare jitsi meet, una piattaforma che fa uso dello standard WebRTC.
In questo modo, chi vuole partecipare alla videochiamata non deve fare altro che collegarsi al server con un qualsiasi browser moderno e creare una stanza o unirsi ad una stanza esistente, senza bisogno di nessun tipo di registrazione.
Se questo modello di videochiamata interessa, ma si è pigri, si può andare su iorestoacasa.work/ e sfruttare le istanze jitsi messe a disposizione da volontari per il periodo di emergenza. Dato però che non siamo pigri, possiamo continuare a leggere questo articolo per vedere come installare una propria istanza.
Installazione
Requisiti
L'installazione di jitsi dovrà avvenire su un server con buona disponibilità di banda; per videochiamate tra piccoli gruppi (~10 persone) può bastare un qualsiasi VPS economico, mentre se si pensa di offrire un servizio pubblico conviene rispettare i requisiti indicati suiorestoacasa.work/voglio-contr… .
Server web, certificati, ecc.
Innanzitutto, è necessario installare un server web a scelta tra apache e nginx: noi abbiamo scelto nginx (per poterlo usare anche come server di streaming, seguendo l'articolo di Fabrixxm).
Usare il proprio metodo preferito per ottenere dei certificati ssl; jitsi si aspetta di trovarli nei file /etc/ssl/jitsi.example.org.key per la chiave e /etc/ssl/jitsi.example.org.crt per il certificato pubblico (completo di certificato intermedio).
Controllare poi che /etc/hosts abbia il FQDN configurato su localhost e aggiungerci una voce Dev-VideoConf-Jitsi per prevenire dei problemi di connessione SCTP:
127.0.1.1 jitsi.example.org jitsi
127.0.0.1 localhost Dev-VideoConf-Jitsi
::1 localhost ip6-localhost ip6-loopback
Jitsi
Purtroppo jitsi non è disponibile in Debian, ma gli sviluppatori forniscono un repository con dei pacchetti .deb aggiornati: aggiungere tale repository in /etc/apt/sources.list.d/jitsi.list:
deb download.jitsi.org stable/
e abilitare la relativa chiave di firma:
# wget -qO - download.jitsi.org/jitsi-key.g… | apt-key add
Aggiornare apt ed installare jitsi:
# apt update
# apt install jitsi-meet
Verranno poste le seguenti domande:
The hostname of the current installation:rispondere con l'FQDN della macchina <server>.<dominio>SSL certificate for the Jitsi Meet instancerispondere “I want to use my own certificate”Full local server path to the SSL key file:rispondere /etc/ssl/jitsi.example.org.keyFull local server path to the SSL certificate file:rispondere /etc/ssl/jitsi.example.org.crt
(attenzione, per questi ultimi due abbiamo avuto problemi nell'usare valori diversi dal default e abbiamo preferito copiare i file nella posizione attesa piuttosto che cercare di risolverli.)
Se il server che si sta usando usa nat (come fanno alcuni fornitori di VPS per fornire indirizzi pubblici riassegnabili a macchine diverse), aggiungere le seguenti righe a/etc/jitsi/videobridge/sip-communicator.properties:
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<iplocale>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<ip pubblico>
(ad esempio <ip locale> sarà qualcosa come 192.168.42.23)
E riavviare il servizio videobridge2:
# service videobridge2 restart
Conclusioni
Il nostro server è pronto, a questo punto basta aprirejitsi.example.org/v2015/feeds/… con un qualunque browser con supporto webrtc, creare una stanza, passare l'indirizzo ai propri amici e parlare a piacere.
Non è però tutto qui: in articoli successivi vedremo come usare jitsi come fonte per streaming o registrazioni, per avere uno strumento semplice per organizzare conferenze da remoto o realizzare progetti creativi.
Dirette video con NGINX e OBS Studio
In questi giorni di reclusione forzata, si fa affidamento a internet per portare avanti le nostre vite: telelavoro, videoconferenze, scuola online.
In questo piccolo articolo, vediamo come configurare un nostro server per fare dirette online, in alternativa a Youtube, Facebook, etc etc.
Cosa serve
- un server, magari una VPS, con una buona disponibilità di banda
- conoscenze base di linux, bash, ssh, e cose così
- colla vinilica
- forbici con la punta arrotondata
Protocolli e software
Il protocollo più usato per le dirette video è RTMP
Per funzionare, una sorgente invia un flusso di dati a un server che si occupa di rigirare il flusso ai vari client che lo richiedono.
Questo è il motivo per cui serve avere banda disponibile. Una diretta con 10 spettatori occuperà 10 x banda necessaria per il video
in uscita più quella in ingresso per la sorgente.
È possibile far funzionare il server su un RaspberryPI a casa? Puo' essere, ma non potrete avere molti spettatori, a seconda della vostra connessione a internet.
Come sorgente useremo OBS Studio, come server NGINX, che è più conosciuto come server web, ma esiste un modulo che supporta rtmp.
Come client potremmo usare VLC, o altri player che supportano RTMP, ma vogliamo che la diretta sia visibile da una pagina web.
Fortunatamente NGINX supporta anche HLS, un protocollo di stream video basato su http, che permette di visualizzare la diretta in un browser, grazie a librerie javascript come video.js.
NGINX lo faremo girare su un server con Debian 10 "buster".
In questo articolo presumiamo che non ci sia già un server web in esecuzione (tipo Apache o altri)
Installiamo e configuriamo il server
installiamo nginx e il modulo rtmp
# apt install nginx libnginx-mod-rtmp
Il modulo rtmp ha una sua configurazione da mettere nel file /etc/nginx.conf
. Per facilitarci la vita, creaiamo una cartella che conterrà la configurazione per rtmp
# mkdir -p /etc/nginx/rtmp.d
e nel file /etc/nginx.conf
aggiungiamo
rtmp {
include /etc/nginx/rtmp.d/*;
}
Aggiungiamo la configurazione di rtmp. NGINX si occuperà di creare i segmenti video e la playlist m3u8
necessari per il protocollo HLS, dobbiamo dirgli dove. Glieli faremo salvare in /tmp/hls
.
Creiamo il file /etc/nginx/rtmp.d/hls
server {
listen 1935;
ping 30s;
notify_method get;
application live {
live on;
# sample HLS
hls on;
hls_path /tmp/hls;
hls_sync 100ms;
hls_fragment 3;
hls_playlist_length 60;
allow play all;
}
}
NGINX sarà in ascolto per lo stream rtmp sulla porta 1935, la porta di default del protocollo.
Ora configuriamo la parte web.
Sostituiamo il contenuto del file /etc/nginx/sites-available/default
con:
server {
listen 80;
listen [::]:80;
server_name ilmioserver.it;
root /var/www/html;
location / {
index index.html;
}
location /hls {
# Disable cache
add_header Cache-Control no-cache;
# CORS setup
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length';
# allow CORS preflight requests
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /tmp;
}
# rtmp stat
location /stats {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
# rtmp control
location /control {
rtmp_control all;
}
}
Con questo file configuriamo:
- la radice del nostro web server, da dove verrà servita la pagina agli spettatori, che sarà salvata in
/var/www/html
- il percorso (
/hls
) da cui saranno serviti i file video, presi da/tmp/hls
. È lo stesso percorso impostato nella configurazione della parte rtmp. - due percorsi di 'supporto', compresa una pagina di statistiche sugli stream.
Verifichiamo che la configurazione non contenga errori di sintassi:
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ottimo. Ricarichiamo la configurazione.
# systemctl reload nginx
La pagina di visualizzazione
Creiamo il file /var/www/html/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://vjs.zencdn.net/7.1/video-js.min.css" rel="stylesheet">
<script src="https://vjs.zencdn.net/7.1/video.min.js"></script>
</head>
<body>
<video id="player" class="video-js vjs-default-skin" controls >
<source src="/hls/mystream.m3u8" type="application/x-mpegURL" />
</video>
<script>
var options, video;
options = {
autoplay: true,
muted: true
};
video = videojs('player', options);
</script>
</body>
</html>
notiamo l'indirizzo della sorgente video: src="/hls/mystream.m3u8"
: mystream
sarà l'identificativo della diretta da utilizzare nella configurazione di OBS.
Per finire, aggiungiamo il foglio di stile per le statistiche. Usiamo quello di esempio installato col pacchetto:
# gunzip /usr/share/doc/libnginx-mod-rtmp/examples/stat.xsl.gz -c > /var/www/html/stat.xsl
le statistiche saranno raggiungibili su http://miodominio.it/stats
.
In onda
Installiamo OBS Studio.
Al primo avvio, eseguiamo la configurazione guidata.
Scegliamo 'Ottimizza per le dirette'
Segliamo una risoluzione e un framerate (FPS). Io ho scelto 1280x720
a 30 FPS.
Ora configuriamo il servizio di streaming. Scegliamo "Personalizzato...".
Come server inseriamo rtmp://miodominio.it/live/
Come 'Codice delle dirette' mettiamo mystream
. Nota: è lo stesso nome utilizzato per la sorgente video nella pagina html, mystream.m3u8
Viene eseguito un test che ottimizza le impostazioni.
A questo punto aggiungiamo delle fonti in OBS e pigiamo su "Avvia la diretta". Vi rimando alla documentazione di OBS per la cofigurazione di scene e fonti.
La diretta sarà visibile con un browser su http://miodominio.it/
o con un lettore video, come VLC, aprendo l'indirizzo http://miodominio.it/hls/mystream.m3u8
Interattività
Questo sistema permette di avere una diretta video "uno a molti" tipo televisione. Ma questo è internet, è interattivo! Vogliamo poter ricevere domande e commenti dai nostri spettatori mentre siamo in diretta.
I servizi proprietari di streaming mettono a disposizione una chat a corredo del video. È una buona idea, facciamolo anche noi!
Ovviamente non ci metteremo a scrivere un sistema di chat, ma useremo uno dei più usati e storici sistemi su internet: IRC.
In particolare, inseriremo un client IRC web nella pagina, configurato per collegarsi a un canale predefinito. Da qui gli utenti potranno interagire tra loro e con noi (che terremo un client IRC aperto durante la diretta).
Utiliziamo KiwiIRC come client IRC web. La documentazione ci dice che il formato dell'url per indicare il canale da utilizzare è https://kiwiirc.com/nextclient/#irc://irc.freenode.net/#<nome del canale>
. (ci colleghiamo alla rete irc di freenode)
Aggiungiamo quindi il seguente pezzo di codice html nella pagina index.html
, appena sotto il tag </video>
<iframe width="100%" height="600"
src="https://kiwiirc.com/nextclient/#irc://irc.freenode.net/#ilmiocanale"></iframe>
(ricordiamoci di mettere il nome del canale corretto)
Conclusioni
Abbiamo creato da zero un semplice servizio di streaming live interattivo.
Da qui è possibile modificare il sistema per supportare più live in contemporanea: basta creare una pagina con il corretto nome dello stream come sorgente video e il corretto canale irc per la chat.
Una nota sulla sicurezza: il server RTMP è in ascolto su internet senza alcun sistema di autenticazione. Chiunque puo' avviare uno stream.
Una soluzione puo' essere mettere il server RTMP in ascolto solo su localhost, modificando il file /etc/nginx/rtmp.d/hls
server {
listen localhost:1935;
[...]
e utilizzare un tunnel ssh per collegarsi:
$ ssh -L 1935:localhost:1935 utente@miodominio.it
In questo caso, OBS dovrà collegarsi a rtmp://localhost/live
Esistono altre possibilità per autenticare la connessione RTMP, ma le indagheremo in un prossimo articolo.
Paolo Pedaletti likes this.
Paolo Pedaletti reshared this.
Gruppo Linux Como
in reply to Gruppo Linux Como • •