
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…www.ils.org
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
Abbiamo registrato con Mumble, ognuno a casa propria.

https://www.gl-como.it/v2015/opencast-alpha-n-49/
Lo sapevate? Nella linkopedia del GL-Como ci sono diversi link relativi al #pinephone !
https://linkopedia.gl-como.it/search.html?q=tags:pinephone
https://linkopedia.gl-como.it/search.html?q=tags:pinephone
2 people like 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.
https://linkopedia.gl-como.it/
https://linkopedia.gl-como.it/
Linkopedia
La collezione di bookmark che sono stati citati nel corso delle riunioni del LUG di Comolinkopedia.gl-como.it
Annuncio a tutti voi del @Gruppo Linux Como che il nostro pastebin ha guadagnato la capacità di generare un qrcode con l'indirizzo del file appena caricato; ad esempio: https://paste.gl-como.it/vkdxmwU3/+qr
In anticipo rispetto a tutti gli altri che installano da debian, dato che l'ho usato come cavia per testare il pacchetto della nuova release upstream, BUAHAHAHAHAH :D
In anticipo rispetto a tutti gli altri che installano da debian, dato che l'ho usato come cavia per testare il pacchetto della nuova release upstream, BUAHAHAHAHAH :D
2 people like this
2 people reshared this
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.
@Gruppo Linux Como @LIFO
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.
@Gruppo Linux Como @LIFO
Wikimedia Italia likes this.
paolog 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.)
Cominciamo col poter controllare le luci da riga di comando.
Cosa serve:
Da console lo eseguiamo una prima volta per fargli creare il file di configurazione vuoto:
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
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
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
serve:
è disponibile un pacchetto debian che non ho provato, ma la compilazione da sorgente non è complicata.
Il profilo in italiano da scaricare è qui https://github.com/synesthesiam/it_pocketsphinx-cmu/releases
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
Innanzitutto modifichiamo il file
[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" (
Perchè l'accrocchio funzioni, i nomi delle lampade in questo file devono corrispondere ad almeno un alias del file
Seguendo questa guida abbiamo definito l'alias
Scarichiamo lo script listen.sh, lo salviamo in
Lo apriamo con un editor di testo per modificare i primi due percorsi:
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.
https://www.gl-como.it/v2015/controllo-vocale-delle-luci-di-casa/
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 https://git.sr.ht/~fabrixxm/tradfri-cli/blob/master/tradfri
~/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
è disponibile un pacchetto debian che non ho provato, ma la compilazione da sorgente non è complicata.
Il profilo in italiano da scaricare è qui https://github.com/synesthesiam/it_pocketsphinx-cmu/releases
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
~/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"
https://www.gl-como.it/v2015/controllo-vocale-delle-luci-di-casa/
Il quarto video della serie "sales pitch di linguaggi di programmazione", che tratta Haskell, è online
https://peertube.uno/videos/watch/playlist/2e7e7a51-4946-4f6c-928a-1f5c1c0da59d?videoId=25840d71-306b-4ac2-a345-283e8cd04935
https://peertube.uno/videos/watch/playlist/2e7e7a51-4946-4f6c-928a-1f5c1c0da59d?videoId=25840d71-306b-4ac2-a345-283e8cd04935
Tra 20 minuti, ore 21:00 "Sales Pitch Linguaggi di programmazione" 2!
https://live.gl-como.it/view.html#gl-como
Si parla di haskell e rust
https://live.gl-como.it/view.html#gl-como
Si parla di haskell e rust
Paolo Pedaletti likes this.
@Gruppo Linux Como @LIFO
Gunnar Wolf• Raspberry Pi 4, now running your favorite distribution!
Gunnar Wolf• Raspberry Pi 4, now running your favorite distribution!gwolf.org
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.
https://live.gl-como.it/view.html#gl-como
https://www.gl-como.it/v2015/annuncio-sales-pitch-linguaggi-di-programmazione-2/
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.
https://live.gl-como.it/view.html#gl-como
https://www.gl-como.it/v2015/annuncio-sales-pitch-linguaggi-di-programmazione-2/
OpenCast Live #1
https://peertube.uno/videos/embed/1c607e7b-1e5a-475b-96f7-04c7b5d03ae3
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:
https://www.gl-como.it/v2015/opencast-live-1/
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
- https://jitsi.org/jitsi-meet/
- https://obsproject.com/
- vari microfoni e ammenicoli vari
https://www.gl-como.it/v2015/opencast-live-1/
Paolo Pedaletti likes this.
Paolo Pedaletti reshared this.
Jul
2
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.
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.
Jun
30
OpenCast Live #1
Tue 9:00 PM
- 9:30 PM
https://live.gl-como.it/view.html#gl-opencast

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!
https://live.gl-como.it/view.html#gl-opencast
https://www.gl-como.it/v2015/opencast-live-puntata-numero-1/
"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
Vai alla playlist
https://www.gl-como.it/v2015/sales-pitch-linguaggi-di-programmazione-1/
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
Vai alla playlist
https://www.gl-como.it/v2015/sales-pitch-linguaggi-di-programmazione-1/
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 https://live.gl-como.it/view.html#gl-como , con la possibilità di interagire via chat.
Appuntamento a partire dalle ore 21:00
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 https://live.gl-como.it/view.html#gl-como , con la possibilità di interagire via chat.
Appuntamento a partire dalle ore 21:00
OpenCast Live #0
Puntata pilota di OpenCast Live!
https://peertube.uno/videos/embed/0d238310-5013-439f-9d40-3c9921135839
Scarica: Ogg/Vorbis - Mp3 - Mp4
Link alle notizie e agli argomenti:
https://www.gl-como.it/v2015/opencast-live-n-0/
https://peertube.uno/videos/embed/0d238310-5013-439f-9d40-3c9921135839
Scarica: Ogg/Vorbis - Mp3 - Mp4
Link alle notizie e agli argomenti:
- https://www.gnome.org/news/2020/05/patent-case-against-gnome-resolved/
- https://wiki.debian.org/DebianEvents/internet/2020/MiniDebConfOnline
- https://www.davidrevoy.com/article777/libre-graphic-meeting-online-2020-livestream
- http://www.ils.org/linuxday2020
- https://www.wikimedia.it/sequestro-del-sito-gutenberg-org-una-svista-che-si-spera-sia-rapidamente-corretta/
- https://www.kiwix.org/
- https://standardebooks.org/
- https://www.liberliber.it/benvenuto/
- https://framablog.org/2020/05/26/our-plans-for-peertube-v3-progressive-fundraising-live-streaming-coming-next-fall/
- https://jitsi.org/jitsi-meet/
- https://obsproject.com/
- vari microfoni e ammenicoli vari
https://www.gl-como.it/v2015/opencast-live-n-0/
Ti sei perso il numero zero di #OpenCast Live? L'abbiamo registrato!
https://peertube.uno/videos/watch/0d238310-5013-439f-9d40-3c9921135839
https://peertube.uno/videos/watch/0d238310-5013-439f-9d40-3c9921135839
PeerTube: OpenCast Live #0 (OpenCast Live)
This entry was edited (9 months ago)
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!
https://live.gl-como.it/view.html#gl-opencast
https://www.gl-como.it/v2015/opencast-live-annuncio/
May
26
OpenCast Live
Tue 9:00 PM
- 10:00 PM
https://live.gl-como.it/view.html#gl-opencast

Torna OpenCast in versione Live!
Martedì 26 maggio a partire dalle 21:00 saremo live all'indirizzo https://live.gl-como.it/view.html#gl-opencast , 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 https://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.
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 suhttps://iorestoacasa.work/voglio-contribuire.html .
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
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 https://download.jitsi.org stable/
e abilitare la relativa chiave di firma:
# wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | 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
Il nostro server è pronto, a questo punto basta aprirehttps://jitsi.example.org/v2015/feeds/all.atom.xml 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.
https://www.gl-como.it/v2015/installare_jitsi/
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 https://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 suhttps://iorestoacasa.work/voglio-contribuire.html .
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 https://download.jitsi.org stable/
e abilitare la relativa chiave di firma:
# wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | 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 aprirehttps://jitsi.example.org/v2015/feeds/all.atom.xml 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.
https://www.gl-como.it/v2015/installare_jitsi/
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.
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à
È 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 nginx e il modulo rtmp
# apt install nginx libnginx-mod-rtmp
Il modulo rtmp ha una sua configurazione da mettere nel file
# mkdir -p /etc/nginx/rtmp.d
e nel file
rtmp {
include /etc/nginx/rtmp.d/*;
}
Aggiungiamo la configurazione di rtmp. NGINX si occuperà di creare i segmenti video e la playlist
Creiamo il file
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
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:
# 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
Creiamo il file
<!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:
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
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
Ora configuriamo il servizio di streaming. Scegliamo "Personalizzato...".
Come server inseriamo
Come 'Codice delle dirette' mettiamo
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
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 è
Aggiungiamo quindi il seguente pezzo di codice html nella pagina
<iframe width="100%" height="600"
src="https://kiwiirc.com/nextclient/#irc://irc.freenode.net/#ilmiocanale"></iframe>
(ricordiamoci di mettere il nome del canale corretto)
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
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
Esistono altre possibilità per autenticare la connessione RTMP, ma le indagheremo in un prossimo articolo.
https://www.gl-como.it/v2015/diretta-video-con-nginx/
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
aggiungiamortmp {
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.
# 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.
https://www.gl-como.it/v2015/diretta-video-con-nginx/
2 people like this
2 people reshared this
So, yesterday evening @Gruppo Linux Como hosted the first "virtual meetup" using #JitsiMeet .
We had a very nice experience (keeping the video stream at minimum), and friends abroad were able to join us!
I only missed the pizza together 😄
We had a very nice experience (keeping the video stream at minimum), and friends abroad were able to join us!
I only missed the pizza together 😄
2 people like this
But Jami was very unreliable for meyes. also for me.
I was told Jitsi was bought by a company and other messengers should be preferred.Never heard of.
Anyway, Jitsi Meet it's fully opensource and self-hostable. Don't see any problem..
Found:
https://jitsi.org/news/we-have-a-new-home-and-it-wont-impact-you/
"from Atlassian" looks like an improvement, to me.
Again, all the source code is available :)
https://jitsi.org/news/we-have-a-new-home-and-it-wont-impact-you/
8×8 announced it has acquired the Jitsi team and our technology from Atlassian
"from Atlassian" looks like an improvement, to me.
Again, all the source code is available :)
!Gruppo Linux Como
PeerTube: The future internet regulation - Aral Balkan at the European Parliament - With Slides (Chez Les Autres)
Paolo Pedaletti likes this.
Programma Linux Day 2019
Il Linux Day è la principale manifestazione italiana dedicata alla promozione di GNU/Linux e del Software Libero; quest'anno si terrà sabato 26 ottobre in numerose città Italiane.
Il GL-Como e il LiFo organizzano quest'anno una edizione congiunta, presso il FaberLab di Tradate.
L'evento quest'anno è limitato al pomeriggio, a partire dalle ore 14.30.
14:30 - Saluti
15:00 - Caramelle dagli sconosciuti - ed altri buoni motivi per usare apt
15:30 - Da Python 2 a Python 3 senza ritorno
16:00 - Coffee break
16:30 - Blender 2.8
17:00 - Infilare a forza python in una applicazione commerciale per salvaguardare la propria sanità mentale
17:30 - TBC
//www.gl-como.it/v2015/programma-linux-day-2019/
Il GL-Como e il LiFo organizzano quest'anno una edizione congiunta, presso il FaberLab di Tradate.
L'evento quest'anno è limitato al pomeriggio, a partire dalle ore 14.30.
Programma
14:30 - Saluti
15:00 - Caramelle dagli sconosciuti - ed altri buoni motivi per usare apt
15:30 - Da Python 2 a Python 3 senza ritorno
16:00 - Coffee break
16:30 - Blender 2.8
17:00 - Infilare a forza python in una applicazione commerciale per salvaguardare la propria sanità mentale
17:30 - TBC
//www.gl-como.it/v2015/programma-linux-day-2019/
Diego Roversi likes this.
Raspberry PI3 + DAC - seconda puntata: il software
Analizzati nella puntata precedente i problemi e le soluzioni relative all’hardware, ci troviamo ora a scegliere “cosa” girerà sulla SD che infileremo nel Raspberry.
Quando ho concepito il progetto, c’erano a disposizione le 4 seguenti soluzioni:La release che ci interessa è la 7.90.008 Alfa (che è diventata LibreElec) disponibile qui:http://archive.libreelec.tv/LibreELEC-RPi2.arm-7.90.008.img.gz con la possibilità di installare la fantastica add-on “adsp.biquad.filters” del progetto KODI.
Questa add-on funziona con le release Jarvis e la prima Alfa di Krypton di Kodi, quindi un po’ vecchiotta. Secondo le prove che ho fatto, è un add-on insostituibile e che purtroppo non è più compatibile con le release successive di Kodi per via che Achim Turan (colui che l’ ha concepita) non ha più tempo da dedicare al progetto (che peccato) come potete leggere qui: https://forum.kodi.tv/showthread.php?tid=218756.
La prima delle quattro soluzioni, LibreElec, è stata scartata perché non compatibile con l’add-on sopracitata.
La seconda, cioè OSMC poteva essere in considerazione, dato che è costruita su una Raspbian, e la versione di Kodi compatibile con adsp.biquad.filters era disponibile mi sembra con questa build: http://download.osmc.tv/installers/diskimages/OSMC_TGT_rbp2_20180805.img.gz. Può essere presa in considerazione al posto di OpenElec, ma l’ho scartata perché essendo costruita su una Raspbian, tirava su molti servizi inutili.
La terza, Raspbian scartata per gli stessi motivi di Osmc.
La quarta OpenElec, molto snella e veloce e compatibile con la suddetta add-on, si è mostrata da subito candidata per il progetto. Dotata dell’interfaccia “Confluence”, molto carina ed immediata e graficamente molto ben curata, ha riscosso da subito i miei apprezzamenti.
Con l’add-on di Achim Turan abbiamo l'equalizzatore audio tanto atteso in Kodi, che si basa sulla libreria di elaborazione del segnale aspilib. Il filtro è implementato in C / C ++ e incorporato in una DLL.
La videata dell’equalizzatore parametrico che vedete sotto, può essere usata come equalizzatore grafico. L’equalizzatore è costituito da filtri biquad digitali a dieci bande a Q costante.
Un filtro biquad è un tipo di filtro lineare che implementa una funzione di trasferimento che è il rapporto tra due funzioni quadratiche. Nell'elaborazione del segnale, un filtro biquad digitale è un filtro lineare ricorsivo del secondo ordine, contenente due poli e due zeri.
"Biquad" è un'abbreviazione di "biquadratic", che si riferisce al fatto che nel dominio Z, la sua funzione di trasferimento è il rapporto di due funzioni quadratiche.

Le procedure per il trasferimento dell’immagine prescelta sulla microSD si articolano nei seguenti punti:
//www.gl-como.it/v2015/pi3-dac_il_software/
Quando ho concepito il progetto, c’erano a disposizione le 4 seguenti soluzioni:La release che ci interessa è la 7.90.008 Alfa (che è diventata LibreElec) disponibile qui:http://archive.libreelec.tv/LibreELEC-RPi2.arm-7.90.008.img.gz con la possibilità di installare la fantastica add-on “adsp.biquad.filters” del progetto KODI.
Questa add-on funziona con le release Jarvis e la prima Alfa di Krypton di Kodi, quindi un po’ vecchiotta. Secondo le prove che ho fatto, è un add-on insostituibile e che purtroppo non è più compatibile con le release successive di Kodi per via che Achim Turan (colui che l’ ha concepita) non ha più tempo da dedicare al progetto (che peccato) come potete leggere qui: https://forum.kodi.tv/showthread.php?tid=218756.
La prima delle quattro soluzioni, LibreElec, è stata scartata perché non compatibile con l’add-on sopracitata.
La seconda, cioè OSMC poteva essere in considerazione, dato che è costruita su una Raspbian, e la versione di Kodi compatibile con adsp.biquad.filters era disponibile mi sembra con questa build: http://download.osmc.tv/installers/diskimages/OSMC_TGT_rbp2_20180805.img.gz. Può essere presa in considerazione al posto di OpenElec, ma l’ho scartata perché essendo costruita su una Raspbian, tirava su molti servizi inutili.
La terza, Raspbian scartata per gli stessi motivi di Osmc.
La quarta OpenElec, molto snella e veloce e compatibile con la suddetta add-on, si è mostrata da subito candidata per il progetto. Dotata dell’interfaccia “Confluence”, molto carina ed immediata e graficamente molto ben curata, ha riscosso da subito i miei apprezzamenti.
Con l’add-on di Achim Turan abbiamo l'equalizzatore audio tanto atteso in Kodi, che si basa sulla libreria di elaborazione del segnale aspilib. Il filtro è implementato in C / C ++ e incorporato in una DLL.
La videata dell’equalizzatore parametrico che vedete sotto, può essere usata come equalizzatore grafico. L’equalizzatore è costituito da filtri biquad digitali a dieci bande a Q costante.
Un filtro biquad è un tipo di filtro lineare che implementa una funzione di trasferimento che è il rapporto tra due funzioni quadratiche. Nell'elaborazione del segnale, un filtro biquad digitale è un filtro lineare ricorsivo del secondo ordine, contenente due poli e due zeri.
"Biquad" è un'abbreviazione di "biquadratic", che si riferisce al fatto che nel dominio Z, la sua funzione di trasferimento è il rapporto di due funzioni quadratiche.

Le procedure per il trasferimento dell’immagine prescelta sulla microSD si articolano nei seguenti punti:
- Scaricare e scompattare l’immagine scaricata da http://archive.libreelec.tv/LibreELEC-RPi2.arm-7.90.008.img.gz
- Inserire la MicroSD “vuota” di minimo 8 Gb, in un lettore USB di SD/MicroSD .
- Aprire un terminale e copiare con dd l’immagine sulla chiavetta:
dd if=LibreELEC-RPi2.arm-7.90.008.img of=/dev/sdX
dove X è il numero corrispondente all’unità USB/lettore SD presente sul sistema. - A copia ultimata, togliere la schedina microSD dal lettore de PC ed inserirla nell’apposito alloggiamento del Raspberry PI.
- Dopo aver inserito il “DAT hat” sul raspberry e fatto i relativi collegamenti, date alimentazione ai dispositivi e seguite la procedura guidata per la prima configurazione.
- Accertatevi inoltre che nel file config.txt sul raspberry siano presenti le seguenti righe:
dtoverlay=hifiberry-dac
# dtparam=audio=on
//www.gl-como.it/v2015/pi3-dac_il_software/
mostly yes: it is using an A20 SoC, for which support is almost complete: https://linux-sunxi.org/Linux_mainlining_effort
(it is missing e.g. HDMI audio, but HDMI video does work)
The ones I have around all run standard debian, from the official installer (not a precooked image), and that must be able to run from the upstream kernel.
(it is missing e.g. HDMI audio, but HDMI video does work)
The ones I have around all run standard debian, from the official installer (not a precooked image), and that must be able to run from the upstream kernel.
Raspberry PI3 + DAC : l'accoppiata vincente
Esistono molte soluzioni per immagazzinare e ascoltare la vostra raccolta di musica. Alcune sono molto costose, ma come vedremo, altre alla portata di tutti i portafogli e con risultati che, il più delle volte superano gli impianti da millemila Euro.
Ricordate il DAT? Il DAT è il Digital Audio Tape, molto costoso nei anni 90, ma anche oggi uno dei migliori registratori pre-produzione, registra senza compressione a 48 Khz, usa cassette con nastro al metal costose, e può registrare sia da sorgenti analogiche che digitali. Qui potremmo aprire una diatriba sull’orecchio umano e i parametri stellari che ci propongono i moderni CHIP audio, nonché le varie configurazioni tra pre e finale e, per finire il canonico “paio di casse acustiche”, ma sinceramente non mi sembra il momento, visto anche le opinioni e l’orientamento molto particolare che ho sull’argomento.
Ma torniamo ai giorni nostri: un DAC audio ha esattamente lo stesso compito di venti anni fa, ovvero quello di diminuire il “rumore” provocato dalle dinamiche di lettura dell’audio offrendo una conversione digitale/analogica ad alta frequenza e dunque una qualità audio migliore.
L’idea de realizzare un media player è nata dal fatto che il mio vecchio impianto “analogico” non mi soddisfava più, avendo le sonorità tipiche degli anni 70 e grazie alla lettura di varie recensioni sulla riproduzione di “musica liquida” con l’accoppiata Raspberry + DAC, mi sono messo al lavoro. L’idea è quella di centralizzare in rete (casalinga) o anche in locale (su disco) tutta la mia biblioteca musicale contenuta in cassette , LP e CD.
Il primo passo è stato quindi di convertire tutti i brani in formato FLAC loseless alla più alta campionatura possibile e schiaffarli su un disco da 2 TB.
Il secondo passo è stato acquistare il DAC hat da posizionare sopra il Raspberry PI3 che ho già nel cassetto. Tengo a precisare che il PI3 è raccomandabile, visto che ha incorporato anche il bluetooth, che mi permetterà di riprodurre musica anche da altri dispositivi come tablet o smartphone.
Tra i vari DAC compatibili con il Raspberry, qui ne trovate alcuni:
https://rataks.com/blog/a-list-of-raspberry-pi-compatible-dacs.html
http://www.suptronics.com/boards.html
La mia scelta del DAC, tra i modelli esistenti e compatibili col Raspberry, è caduta sul “PiFi DAC+ “ che si trova a una cifra tra i 20 e i 30 euro su Amazon.
La scheda in oggetto è basata sul chip a 32 Bit DAC PCM5122 della Burr-Brown Corporation, con interfaccia PCM a 384 kHz con interfaccia dati I2S.

Le caratteristiche HW della schedina in oggetto, sono di tutto rispetto:
Le alimentazioni deIla sezione DAC e quella di Raspberry Pi sono isolate, riducendo così il rumore e intermodulazione offrendo un suono cristallino.
Per informazioni sulla configurazione del dispositivo su una Raspbian, Openelec, o LibreElec, vi rimando al documento creato dalla casa costruttrice: http://www.raspberrypiwiki.com/images/2/23/PiFi_User_Guide.pdf
Il terzo passo è stato quello di reperire in commercio un LCD da 7” per visualizzare correttamente l’output del Raspberry senza monitor ingombranti ed, in futuro, mettere il tutto dentro un piccolo contenitore in plastica o alluminio. La scelta è caduta sul modello originale touchscreen da 7” con 800x480 di risoluzione, che si trova attorno ai 70 euro.


Poiché il lampone non ha un pulsante di accensione, una volta spento per farlo ripartire si deve staccare e riattaccare l'alimentatore. Ma vi è la possibilità di aggiungere un pulsante di accensione saldando 2 fili sui 2 fori presenti nel rettangolino con la scritta "RUN" (in alto a dx nella foto) a cui appunto collegare un pulsante (non un interruttore).

Un alimentatore ufficiale RPi sembra essere l'elemento chiave per ottenere un suono di qualità elevata. Attenzione alle cineserie che notoriamente sono alimentatori sottodimensionati che possono introdurre delle instabilità o esplodervi in faccia...
La qualità dell'immagine e del suono è influenzata dall'alimentatore: se l'alimentazione è insufficiente o è “rumoroso”, un dispositivo non può esprimersi al meglio e questo si traduce in instabilità, immagine stereo piatta e suono aspro. Se volete dormire sonni tranquilli andate sugli alimentatori lineari (costosi) ma anche degli ottimi switching vanno benone.
Come si nota in figura, lo scatolotto contenente raspberry pi3 più DAC con uscite RCA è stato attaccato ad un finale Fenice 50 in classe D a sua volta attaccato alle mie storiche Tannoy Cheviot.
Il primo ascolto è stato stupefacente, nulla a che vedere anche solo sostituendo il finale (Mc Intosh MC 7100) con cui avevo ascoltato musica sino ad ieri, (ora accantonato in un angolo). I medio-alti riprodotti con precisione e spazialità incredibili, bassi profondi ma non roboanti, insomma, è un bell’ascoltare, e devo dire che ho restaurato alla grande il mio vecchio impianto, riuscendo a vendere anche il mio vecchio pre valvolare Lector ad un ottimo prezzo.


//www.gl-como.it/v2015/pi3-dac/
Ricordate il DAT? Il DAT è il Digital Audio Tape, molto costoso nei anni 90, ma anche oggi uno dei migliori registratori pre-produzione, registra senza compressione a 48 Khz, usa cassette con nastro al metal costose, e può registrare sia da sorgenti analogiche che digitali. Qui potremmo aprire una diatriba sull’orecchio umano e i parametri stellari che ci propongono i moderni CHIP audio, nonché le varie configurazioni tra pre e finale e, per finire il canonico “paio di casse acustiche”, ma sinceramente non mi sembra il momento, visto anche le opinioni e l’orientamento molto particolare che ho sull’argomento.
Ma torniamo ai giorni nostri: un DAC audio ha esattamente lo stesso compito di venti anni fa, ovvero quello di diminuire il “rumore” provocato dalle dinamiche di lettura dell’audio offrendo una conversione digitale/analogica ad alta frequenza e dunque una qualità audio migliore.
L’idea de realizzare un media player è nata dal fatto che il mio vecchio impianto “analogico” non mi soddisfava più, avendo le sonorità tipiche degli anni 70 e grazie alla lettura di varie recensioni sulla riproduzione di “musica liquida” con l’accoppiata Raspberry + DAC, mi sono messo al lavoro. L’idea è quella di centralizzare in rete (casalinga) o anche in locale (su disco) tutta la mia biblioteca musicale contenuta in cassette , LP e CD.
Il primo passo è stato quindi di convertire tutti i brani in formato FLAC loseless alla più alta campionatura possibile e schiaffarli su un disco da 2 TB.
Il secondo passo è stato acquistare il DAC hat da posizionare sopra il Raspberry PI3 che ho già nel cassetto. Tengo a precisare che il PI3 è raccomandabile, visto che ha incorporato anche il bluetooth, che mi permetterà di riprodurre musica anche da altri dispositivi come tablet o smartphone.
Tra i vari DAC compatibili con il Raspberry, qui ne trovate alcuni:
https://rataks.com/blog/a-list-of-raspberry-pi-compatible-dacs.html
http://www.suptronics.com/boards.html
La mia scelta del DAC, tra i modelli esistenti e compatibili col Raspberry, è caduta sul “PiFi DAC+ “ che si trova a una cifra tra i 20 e i 30 euro su Amazon.
La scheda in oggetto è basata sul chip a 32 Bit DAC PCM5122 della Burr-Brown Corporation, con interfaccia PCM a 384 kHz con interfaccia dati I2S.

Le caratteristiche HW della schedina in oggetto, sono di tutto rispetto:
- Frequenza di campionamento: 384 kHz
- Risoluzione: 16-32 Bit
- Interfaccia digitale audio: I2S
- Rapporto segnale rumore (SNR): 120dB
- THD: -93dB
- Range dinamico: 112dB
- Supportato il controllo hardware del volume.
- Supportati: Raspberry PI 2 Model B, / 3 / 3 B+
- Interfaccia remota IR
- Sono utilizzati resistori e condensatori di qualità, utilizzati su dispositivi Hi-Fi professionali:
- Resistenze VISHAY
- Condensatore ELNA RBP2
- Condensatore WIMA MKS2
- Condensatore ERO KP1830
- Condensatore serie Nichicon FG
Le alimentazioni deIla sezione DAC e quella di Raspberry Pi sono isolate, riducendo così il rumore e intermodulazione offrendo un suono cristallino.
Per informazioni sulla configurazione del dispositivo su una Raspbian, Openelec, o LibreElec, vi rimando al documento creato dalla casa costruttrice: http://www.raspberrypiwiki.com/images/2/23/PiFi_User_Guide.pdf
Il terzo passo è stato quello di reperire in commercio un LCD da 7” per visualizzare correttamente l’output del Raspberry senza monitor ingombranti ed, in futuro, mettere il tutto dentro un piccolo contenitore in plastica o alluminio. La scelta è caduta sul modello originale touchscreen da 7” con 800x480 di risoluzione, che si trova attorno ai 70 euro.


Poiché il lampone non ha un pulsante di accensione, una volta spento per farlo ripartire si deve staccare e riattaccare l'alimentatore. Ma vi è la possibilità di aggiungere un pulsante di accensione saldando 2 fili sui 2 fori presenti nel rettangolino con la scritta "RUN" (in alto a dx nella foto) a cui appunto collegare un pulsante (non un interruttore).

Alimentatori
Un alimentatore ufficiale RPi sembra essere l'elemento chiave per ottenere un suono di qualità elevata. Attenzione alle cineserie che notoriamente sono alimentatori sottodimensionati che possono introdurre delle instabilità o esplodervi in faccia...
La qualità dell'immagine e del suono è influenzata dall'alimentatore: se l'alimentazione è insufficiente o è “rumoroso”, un dispositivo non può esprimersi al meglio e questo si traduce in instabilità, immagine stereo piatta e suono aspro. Se volete dormire sonni tranquilli andate sugli alimentatori lineari (costosi) ma anche degli ottimi switching vanno benone.
Prova d’ascolto
Come si nota in figura, lo scatolotto contenente raspberry pi3 più DAC con uscite RCA è stato attaccato ad un finale Fenice 50 in classe D a sua volta attaccato alle mie storiche Tannoy Cheviot.
Il primo ascolto è stato stupefacente, nulla a che vedere anche solo sostituendo il finale (Mc Intosh MC 7100) con cui avevo ascoltato musica sino ad ieri, (ora accantonato in un angolo). I medio-alti riprodotti con precisione e spazialità incredibili, bassi profondi ma non roboanti, insomma, è un bell’ascoltare, e devo dire che ho restaurato alla grande il mio vecchio impianto, riuscendo a vendere anche il mio vecchio pre valvolare Lector ad un ottimo prezzo.


//www.gl-como.it/v2015/pi3-dac/
@Gruppo Linux Como @LIFO


Il progetto didattico FUSS deve andare avanti ! - petizione online
Nel 2005 nelle scuole di lingua italiana della provincia, è partito lo sviluppo del sistema didattico FUSS. Da allora il progetto è attivo in ca. 80 scuole, con 4.500 postazioni di lavoro e 65 server. Il progetto FUSS ha riscontrato nel corso degli anni un crescente riconoscimento a livello nazionale ed internazionale. Nella prassi quotidiana il sistema si evolve ormai anche con contributi innovativi degli studenti stessi ( per esempio lo sviluppo di una estensione del sistema che consentirà aiwww.openpetition.eu
The same petition, in German:
https://www.openpetition.eu/it/petition/online/fuss-an-suedtirols-schulen-soll-weiterleben
The TooItalian;Didn'tRead is that the province of Bolzano has decided to stop paying to develop FUSS, a Debian based system¹ that has been used since 2005 in the italian language schools of the province and move towards a microsoft-based solution.
¹ not just a distribution, the project also includes tools for both classroom management and teaching.
https://www.openpetition.eu/it/petition/online/fuss-an-suedtirols-schulen-soll-weiterleben
The TooItalian;Didn'tRead is that the province of Bolzano has decided to stop paying to develop FUSS, a Debian based system¹ that has been used since 2005 in the italian language schools of the province and move towards a microsoft-based solution.
¹ not just a distribution, the project also includes tools for both classroom management and teaching.
Kep 2 months ago •
Elena ``of Valhalla'' 2 months ago
Per evitare rogne legali noi l'abbiamo configurato il modo che solo i membri del gruppo (che sono tutte persone fidate, vero?) possano caricare cose, e chiunque conosca l'url possa poi vederle.
Il software usato è bepasty, di cui c'è un pacchetto in debian (bullseye, ovvero testing, e buster-backports).
Dovrebbe essere abbastanza facile da mantenere per chiunque mantenga un'istanza mastodon/friendica/simili; l'unico sbattito è che ha un modo tutto suo di gestire gli utenti, che funziona bene quando si hanno tipo 10 utenti, ma non se se ne hanno 100+.
Kep 2 months ago •
Elena ``of Valhalla'' 2 months ago
(che in questo specifico caso è più un allungatore di URL, in realtà :D )
Bevilacqua Gustavino likes this.
Elena ``of Valhalla'' 2 months ago
/+qr
Fabio 2 months ago
Elena ``of Valhalla'' 2 months ago
sulle pagine dove il grosso bottone c'è, quello funziona :D
Fabio 2 months ago
Kep 2 months ago •
Elena ``of Valhalla'' 2 months ago
Kep likes this.