#format wiki
#LANGUAGE it
<<BR>>
<<Indice(depth=2)>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=657017"; rilasci="22.04 20.04")>>

= Introduzione =

Questa guida illustra la procedura per utilizzare un [[https://it.wikipedia.org/wiki/Live_streaming|livestream]] come sfondo per il desktop, funzionalità non compresa nativamente in '''Ubuntu'''.

La procedura descritta di seguito presenta le seguenti caratteristiche:
 * Ambienti grafici '''[[AmbienteGrafico/Gnome|GNOME]]''', '''[[AmbienteGrafico/Xfce|Xfce]]''' o '''[[https://github.com/baskerville/bspwm|bspwm]]''' (potrebbe funzionare anche con altri DE);
 * Server grafico [[Hardware/Video/Xorg|X11]] (non funziona con [[https://it.wikipedia.org/wiki/Wayland_(protocollo)|Wayland]]);
 * Utilizzo di qualsiasi flusso video in diretta (ad esempio una webcam live della città, della ISS, di un flusso live su Youtube, ecc.), purché supportato da '''[[https://streamlink.github.io/|Streamlink]]'''.

{{{#!wiki note
Utilizzando un solo monitor si perderà la funzionalità delle icone del desktop perché verranno mostrate dietro lo sfondo del video in livestream.<<BR>>Utilizzando più monitor questo problema non si presenta, poiché le icone del desktop possono stare su un monitor diverso da quello che usa il livestream come sfondo.
}}}

{{{#!wiki important 
Rispettare i termini di servizio del provider del livestream per non violare alcun copyright.
}}}

= Requisiti =

 * Connessione alla rete veloce e stabile;
 * Scheda grafica sufficientemente potente.
 * Presenza di un player video con opzioni di personalizzazione, come ad esempio:
  * '''[[Multimedia/Video/Vlc|VLC]]''' (player popolare e versatile, che offre l'opzione di impostare un video in loop come sfondo).
  * '''[[https://mpv.io/|mpv]]''' (player video leggero e potente, più minimalista; per ottenerlo [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://mpv|mpv]]).
 * '''Streamlink''' (potente strumento da riga di comando, per scaricare video da una vasta gamma di servizi di streaming; per l'installazione consultare il relativo [[#streamlink_install|paragrafo]]).

##== Applicazioni di Terze Parti ==

## * Wallpaper Engine: Un'applicazione popolare su Steam che offre una vasta gamma di sfondi animati, inclusi quelli basati su livestream.
## * !DeskScapes: Un'altra opzione commerciale che permette di personalizzare profondamente il tuo desktop.

<<Anchor(streamlink_install)>>
= Installazione streamlink =

== Da repository ==

Per Ubuntu 22.04 e versioni successive, [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://streamlink|streamlink]].

{{{#!wiki important
In caso di problemi durante l'installazione, controllare i log e i messaggi di errore per individuare la causa.
##O consultare il [[#Risoluzione_problemi|seguente paragrafo]]
}}}

== Da repository Debian (per versioni LTS di Ubuntu) ==

Debian fornisce aggiornamenti più frequenti per il pacchetto ''streamlink''. La seguente procedura utilizza i backports di Debian per ottenere versioni più recenti di Streamlink.

 0. [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|Installare]] il pacchetto  [[apt://debian.keyring|debian-keyring]].
 0. Aggiungere il repository di Debian digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
echo -e "# Debian repository\n\nTypes: deb\nURIs: http://deb.debian.org/debian\nComponents: contrib \nSuites: bookworm bookworm-updates bookworm-backports\nSigned-By: /usr/share/keyrings/debian-keyring.gpg\nArchitectures: amd64\n\n\nTypes: deb\nURIs: http://security.debian.org/debian-security\nComponents: contrib \nSuites: bookworm-security\nSigned-By: /usr/share/keyrings/debian-keyring.gpg\nArchitectures: amd64\n" | sudo tee /etc/apt/sources.list.d/debian.sources
}}}
 0. Creare con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/apt/preferences.d/debian-pin`.
 0. Inserire nel file il seguente testo:{{{
# Permettere l'aggiornamento del pacchetto streamlink soltanto dal repository Debian
Package: streamlink*
Pin: release o=Debian
Pin-Priority: 501

# Non dare mai priorità ad altri pacchetti dal repository Debian
Package: *
Pin: release o=Debian
Pin-Priority: -1
}}}
 {{{#!wiki important
Questo passaggio è importante per evitare conflitti fra i repositoy di Debian e quelli di Ubuntu.
}}}
 0. Salvare e chiudere il file.
 0. [[AmministrazioneSistema/InstallareProgrammi/Apt#update|Aggiornare la lista dei pacchetti]].
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://streamlink|streamlink]].


##echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free" | sudo tee "/etc/apt/sources.list.d/streamlink.list"
##}}}
## sostituendo `bookworm` con il nome in codice della versione di Ubuntu se è diversa da 22.04.
## 0. [[AmministrazioneSistema/InstallareProgrammi/Apt#Aggiornamento_del_sistema|Aggiornare la lista dei pacchetti]].
## 0. Installare '''Streamlink''' con il comando:{{{
##sudo apt-t bookworm-backports install streamlink
##}}}

## passaggio 2: per versioni diverse da Ubuntu 22.04 sostituire bookworm con cosa (es: Bullseye, trixie)? Poi non sarebbe il caso di mettere un file in /etc/apt/preferences.d per evitare conflitti tra repo Ubuntu + Debian?

{{{#!wiki tip
Se si preferisce un'interfaccia grafica è possibile provare '''[[https://streamlink.github.io/streamlink-twitch-gui/|Streamlink Twitch GUI]]''', tenendo presente che potrebbe non essere sempre aggiornato.
}}}

== Da pip ==

 0. Installare '''pip''' come descritto in [[Programmazione/Python/Pip|questa guida]].
 {{{#!wiki note
Si raccomanda di creare un ambiente virtuale per isolare l'installazione di '''Streamlink''' da altri progetti Python.
}}}
 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo pip3 install streamlink
}}} 

== Da sorgenti ==

{{{#!wiki note
Questo metodo è più complesso e richiede conoscenze avanzate. Si consiglia solo a utenti esperti.
}}}
{{{#!wiki important
Le versioni da sorgenti potrebbero essere meno stabili rispetto a quelle delle versioni ufficiali.
}}}

L'installazione di '''Streamlink''' da sorgenti offre una maggiore flessibilità e controllo, ma richiede una configurazione più complessa e una maggiore conoscenza di [[Programmazione/Python|Python]] rispetto all'installazione tramite pacchetti precompilati. Seguire questa procedura:

 0. Clonare il repository, digitando in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
git clone https://github.com/streamlink/streamlink.git
}}} Verrà creata una nuova directory chiamata `streamlink` in quella corrente.
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] le dipendenze:{{{
cd streamlink}}}{{{
pip3 install -r requirements.txt
}}} Il file `requirements.txt` contiene un elenco delle dipendenze richieste.
 0. Compilare e installare '''Streamlink''' nel sistema digitando in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
python3 setup.py install
}}}
 0. Aggiornare '''Streamlink''' eseguendo in un [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi nella directory del progetto:{{{
cd streamlink}}}{{{
git pull}}}{{{
python3 setup.py install --upgrade
}}}

= Configurazione =

{{{#!wiki note
Esplorare le opzioni di personalizzazione offerte dalle diverse applicazioni per adattare lo sfondo al proprio gusto personale.
}}}

Nella maggior parte dei casi, '''Streamlink''' può essere subito utilizzato senza modificare o applicare particolari configurazioni. È tuttavia progettato per essere il più user-friendly possibile e possono essere adottate delle opzioni per personalizzare l'esperienza di streaming o andare incontro a specifiche esigenze.  

== Configurazione avanzata ==

Per personalizzare '''Streamlink''' è sufficiente modificare il file di configurazione `~/.config/streamlink/streamlink.conf`:

 0. Aprire il file `~/.config/streamlink/streamlink.conf` con un [[Ufficio/EditorDiTesto|editor di testo]].
 0. Modificare le seguenti opzioni:
  * Qualità predefinita: nella seguente riga sostituire `best` con la qualità desiderata (ad esempio `720p`, `1080p` ecc.):{{{
[general]
default-stream = best
}}}
  * Percorso di output: nella seguente riga sostituire `mpv` con il [[Multimedia/Video|lettore video]] desiderato (ad esempio `vlc`, `mplayer` ecc.):{{{
[general]
player = mpv
}}}
  * Altre opzioni: è possibile configurare proxy, timeout e altro; per approfondimenti consultare la [[https://streamlink.github.io/|documentazione del progetto]].

== Verifica configurazione ==

Per verificare se '''Streamlink''' è stato installato correttamente, eseguire in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
streamlink --version
}}} 
L'output restituirà la versione installata.

Per verificare se disponibili nuovi aggiornamenti, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
streamlink --update
}}}

== Configurazione mpv ==

Digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
mpv --loop --no-border --ontop --geometry=0,0 --fullscreen=yes <URL_dello_stream>
}}}
sostituendo `<indirizzo_livestream>` con l'URL del video in live.

= Altre funzionalità =

Di seguito una lista di comandi da digitare in un [[AmministrazioneSistema/Terminale|terminale]] per specifici utilizzi di '''Streamlink'''. Sostituire i nomi generici con quelli effettivi (ad esempio `<URL_dello_stream>` per il flusso da scaricare, `<best>` con la risoluzione desiderata, `mia_registrazione.mp4` con nome del file di output).

 * Download del video:{{{
streamlink <URL_dello_stream> <best> -o "mia_registrazione.mp4"
}}}

 * Riprodurre uno stream:{{{
streamlink <URL_dello_stream> <best>
}}} 
 {{{#!wiki note
L'impatto sulle prestazioni del sistema dipenderà dalla risoluzione del livestream, dalla complessità degli effetti visuali e dalle risorse hardware del computer.
}}}

 * Ottenere la lista delle qualità disponibili:{{{
streamlink <URL_dello_stream>
}}}

 * Utilizzare un lettore specifico (ad esempio VLC):{{{
streamlink --player vlc <URL_dello_stream> <best>
}}}

## Non verificato da qui in poi
##== Script Personalizzato ==

##Utilizzo di comandi: Combina comandi come xdotool per simulare clic del mouse e mpv per riprodurre il video.
##Linguaggi di scripting: Python, Bash o altri linguaggi possono essere utilizzati per creare script più complessi e automatizzati.


##Scelta della Soluzione Ideale:
## * La scelta della soluzione migliore dipenderà dalle esigenze specifiche:
##  * Semplicità: Cercare una soluzione rapida e semplice, VLC potrebbe essere l'opzione più adatta.
##  * Funzionalità: Per una maggiore personalizzazione e effetti avanzati, considerare Wallpaper Engine o !DeskScapes.
##  * Flessibilità: Preferire un controllo completo, creare uno script personalizzato è la strada da seguire.

= Risoluzione problemi =

Per assicurarsi che '''Streamlink''' funzioni correttamente è essenziale verificarne la corretta installazione. Di seguito alcuni metodi che possono essere utilizzati.

##== Errore durante l'installazione ==

##Assicurarsi di aver aggiunto correttamente il repository dei backports e di aver eseguito gli aggiornamenti.

== Presenza eseguibile ==

Per verificare la presenza dell'eseguibile digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
which streamlink
}}} 
Se '''Streamlink''' è installato correttamente, il comando mostrerà il percorso completo dell'eseguibile. Se invece si riceve un messaggio di errore, significa che Streamlink non è nel suo PATH o non è stato installato.

Se il comando precedente non trova l'eseguibile, assicurarsi di aver aggiunto la directory di installazione di '''Streamlink''' al PATH, modificando il file `~/.bashrc` o `~/.zshrc` (a seconda della [[Programmazione#Shell|shell]] utilizzata).

{{{#!wiki note
Per verificare che la configurazione sia andata a buon fine, consultare inoltre questo [[#Verifica_configurazione|paragrafo]].
}}}

== Verificare le dipendenze ==

  * '''Dipendenze Python''': Streamlink è un'applicazione scritta in [[Programmazione/Python|Python]], quindi assicurarsi che le relative dipendenze siano installate correttamente. Si può provare a eseguire un comando '''Streamlink''' di base. In assenza di dipendenze, si riceverà un messaggio di errore che indicherà qual è libreria mancante.
  * '''Altre dipendenze''': A seconda della configurazione, potrebbero essere necessarie altre dipendenze di sistema. Se si continua ad avere problemi, controllare la [[#Ulteriori_risorse|documentazione ufficiale di Streamlink]] per un elenco completo delle dipendenze.<<BR>>
  Utilizzare '''[[AmministrazioneSistema/InstallareProgrammi/Apt|apt]]''' per installare le dipendenze mancanti. Ad esempio, per installare le dipendenze di sviluppo di Python su Ubuntu, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo apt install python3-dev
}}}
 {{{#!wiki note
Questi conflitti si potrebbero verificare se sono installate più versioni di Python o di altre librerie.
}}}

##== Errore di formato ==
##
## da completare 
##

##Il formato del flusso video potrebbe non essere supportato.

== Problemi con lo streaming ==

 * Per verificare il funzionamento della propria connessione Internet consultare [[InternetRete/ConfigurazioneRete/AbilitareConnessione|questa guida]].
 * Per assicurarsi che il servizio di streaming sia attivo e per provare a modificarne la qualità, ripetere la [[#Configurazione|configurazione]] applicando parametri diversi.

= Ulteriori risorse =

 * [[https://streamlink.github.io/|Documentazione ufficiale di Streamlink]]
 * [[https://github.com/streamlink/streamlink|Repository GitHub del progetto]]
 * [[AmbienteGrafico/SfondoDaSatellite|Sfondo da satellite]]

----
CategoryGrafica CategoryMultimedia