Connect with us

Linux

Come trasmettere video di YouTube dal tuo telefono a Raspberry Pi utilizzando YouTube in TV (youtube.com/tv)


YouTube in TV https://youtube.com/tv Raspberry Pi

Questo articolo spiega come utilizzare YouTube sulla TV (https://youtube.com/tv) su un Raspberry Pi e controllarlo utilizzando l’app YouTube dal tuo dispositivo mobile, quasi come se stessi usando un Chromecast.

Una volta impostato tutto, sarai in grado di utilizzare il pulsante Trasmetti dall’app YouTube sul tuo telefono per connetterti a YouTube sulla TV in esecuzione sul tuo Raspberry Pi (utilizzando il browser web Chromium in modalità kiosk) e utilizzare il tuo telefono come un Telecomando YouTube. Sarai in grado di riprodurre video, aggiungere video alla coda, modificare il volume utilizzando i tasti del volume del telefono, ecc. Inoltre, più telefoni (quindi più utenti) possono connettersi, riprodurre e aggiungere video alla coda contemporaneamente.

Nota che l’ho testato solo utilizzando telefoni Android, quindi non sono sicuro che funzioni anche con iOS. Immagino che dovrebbe, ma non possiedo alcun dispositivo iOS.

Nota importante. Non confondere YouTube sulla TV (https://youtube.com/tv) con YouTube TV (https://tv.youtube.com). “YouTube in TV” o “YouTube per TV” è un’interfaccia web di YouTube progettata per smart TV, ed è ciò che utilizzeremo su un Raspberry Pi, mentre YouTube TV è un servizio televisivo in streaming che offre TV in diretta e -demand video.

L’utilizzo di YouTube in TV su un Raspberry Pi presenta alcuni vantaggi rispetto all’utilizzo di un Chromecast, ma anche alcuni svantaggi.

Vantaggi dell’utilizzo di YouTube in TV (https://youtube.com/tv) su un Raspberry Pi invece di un Chromecast (non sono sicuro che tutto si applichi all’ultimo Chromecast, ho il vecchio Chromecast Ultra):

  • Puoi utilizzare un blocco degli annunci come Ublock Origin (viene preinstallato con il browser Chromium su Raspberry Pi OS) – niente più pubblicità su YouTube (no, il Pi-hole non è affidabile nel bloccare gli annunci di YouTube, credimi, ci ho provato)
  • L’app YouTube sul telefono non si disconnette da YouTube sulla TV dopo un periodo di inattività
  • L’app YouTube non si chiude dopo un periodo di inattività, quindi i video in pausa rimangono sullo schermo a tempo indeterminato
  • Puoi navigare attraverso l’app YouTube sulla TV dal tuo telefono (dopo esserti connesso a YouTube sulla TV con il tuo dispositivo mobile, fai clic sull’icona Cast e otterrai un pulsante Remote che consente di navigare tra i video, modificare le impostazioni del video, ecc. )
  • Puoi modificare la qualità del video (cosa non possibile su un Chromecast) utilizzando il telecomando che ho menzionato sopra
  • Dovresti essere in grado di navigare nell’interfaccia di YouTube sulla TV utilizzando il telecomando della tua TV, purché la TV supporti CEC, utilizzando cec-client. Ciò richiede alcune modifiche e non sono ancora riuscito a farlo. Ecco come accendere / spegnere un televisore collegato tramite HDMI-CEC, ad esempio.

Svantaggi dell’utilizzo di YouTube in TV su un Raspberry Pi invece di un Chromecast:

  • Usare YouTube in TV su un Raspberry Pi è ovviamente … solo per YouTube, mentre un Chromecast supporta molte altre piattaforme audio e video. Questo è uno dei principali svantaggi se utilizzi molte altre piattaforme audio / video, ma se lo desideri solo per YouTube, l’utilizzo di YouTube in TV su un Raspberry Pi è un’ottima alternativa
  • La qualità del video potrebbe essere inferiore. Utilizzando l’estensione h264ify (installata per impostazione predefinita su Raspberry Pi OS; necessaria per la riproduzione video con accelerazione hardware su YouTube) otterrai una qualità video massima di 1080p30. Senza questa estensione si ottengono video 4K (ma non sono stati riprodotti correttamente sul mio Raspberry Pi 4). Inoltre, utilizzando YouTube in TV su un Raspberry Pi, se un video è solo 1080p60, il video viene declassato a 720p60
  • La prima volta che colleghi un telefono a YouTube in TV, devi inserire un pin, e per questo hai bisogno di un mouse (o di qualche software per emulare un mouse dal tuo telefono o desktop) sul tuo Raspberry Pi per accedere al appuntare la pagina. Una volta che un telefono è collegato con un pin, funziona proprio come un Chromecast

Questi sono tutti i pro e i contro a cui potrei pensare, ma potrebbero essercene altri. Dipende davvero da come lo usi e da cosa vuoi da esso.

È importante notare che per testare tutto questo, ho usato un Raspberry Pi 4 con il sistema operativo Raspberry Pi. Non tutto dalle istruzioni seguenti funzionerà se si utilizza una distribuzione Linux diversa (ad esempio l’aggiunta di programmi all’avvio non sarà la stessa). Non sono sicuro di quanto i vecchi modelli Raspberry Pi siano in grado di riprodurre video di YouTube. Inoltre, non è necessario utilizzarlo su un Raspberry Pi: potresti utilizzarlo su qualsiasi computer con Linux, ma alcune parti delle istruzioni seguenti non funzioneranno esattamente allo stesso modo.

Configura YouTube sulla TV (https://youtube.com/tv) con Chromium per avviarlo all’avvio sul tuo Raspberry Pi

1. Installa l’estensione YouTube TV su PC Chrome sul browser Chromium.

Puoi ottenere l’estensione dal Chrome Web Store.

Per impostazione predefinita, visitando https://youtube.com/tv su un dispositivo diverso da una TV si reindirizza al normale sito web di YouTube. Sembra che Google non voglia davvero che lo usiamo su qualcosa di diverso da una TV a causa di … probabilmente ad blocker.

L’utilizzo di un agente utente TV risolve questo problema, ma i video sono 720p. Utilizzando l’estensione YouTube TV su PC, https://youtube.com/tv interrompe il reindirizzamento al normale YouTube, consentendo anche video con una qualità superiore a 720p. Avremo ancora bisogno di utilizzare un agente utente quando avvii Chromium in modalità kiosk, perché per qualche motivo ignora l’agente utente di questa estensione (questo non accade quando viene avviato senza chiosco o modalità a schermo intero), ma utilizzando questo ” otterrò video di qualità superiore.

2. Crea uno script che avvii il browser Chromium in modalità kiosk e carichi https://youtube.com/tv, con alcune impostazioni per ottimizzarlo per l’utilizzo con YouTube sulla TV.

Crea uno script, chiamiamolo yt, nel ~/.local/bin.

Per assicurarti che il file ~/.local/bin cartella esiste (e creala se non lo è), esegui questo comando:

mkdir -p ~/.local/bin

Ora crea un file chiamato yt nel ~/.local/bine aprilo con un editor di testo. Useremo l’editor di testo della riga di comando Nano per aprirlo utilizzando il seguente comando:

nano ~/.local/bin/yt

In questo file, incolla quanto segue:

#!/bin/bash

sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences

sed -i 's/"exit_type": "Crashed"/"exit_type": "None"/' ~/.config/chromium/Default/Preferences

sleep 5; chromium-browser --autoplay-policy=no-user-gesture-required --enable-extensions --user-agent="Mozilla/5.0(SMART-TV; Linux; Tizen 4.0.0.2) AppleWebkit/605.1.15 (KHTML, like Gecko) SamsungBrowser/9.2 TV Safari/605.1.15" --kiosk "https://www.youtube.com/tv"  >/dev/null 2>&1 &

Ecco cosa fa:

  • il 2 sed comandi (tramite Raspberry Pi StackExchange) modificano il Chromium Preferences come se Chromium fosse uscito in modo corretto, nel caso in cui il browser non fosse effettivamente chiuso in modo corretto. In questo modo non si ottiene il popup di ripristino della sessione nel caso in cui il browser si arresti in modo anomalo, l’alimentazione si interrompe, ecc. Non sono sicuro che sia davvero necessario quando si avvia Chromium in modalità kiosk, ma penso che sia meglio averlo in lo script in modo che Chromium non si avvii correttamente
  • l’ultima riga:
    • sleep 5 viene utilizzato per attendere 5 secondi prima di avviare il browser Chromium. Aggiungeremo questo script all’avvio, quindi aspetteremo 5 secondi prima di avviare Chromium, in modo che il Raspberry Pi abbia abbastanza tempo per connettersi a Internet. Nel caso in cui impieghi più tempo per te, modifica il valore del sonno qui
    • successivamente, avviamo Chromium utilizzando le seguenti opzioni:
      • --autoplay-policy=no-user-gesture-required: questo consente a Chromium di avviare automaticamente il video. Senza questo, devi avviare manualmente il primo video dopo un riavvio di Chromium e questo non può essere fatto dall’app YouTube, quindi avresti bisogno di una tastiera per farlo o inviare una chiave usando qualcosa di simile xdotool
      • --enable-extensions: autoesplicativo: consente di caricare estensioni, come l’estensione YouTube TV su PC, UBlock Origin, h264ify, ecc.
      • --user-agent="Mozilla/5.0(SMART-TV; Linux; Tizen 4.0.0.2) AppleWebkit/605.1.15 (KHTML, like Gecko) SamsungBrowser/9.2 TV Safari/605.1.15": anche se stiamo utilizzando l’estensione YouTube TV su PC per Chrome, se Chromium si avvia in modalità a schermo intero / kiosk, reindirizza comunque alla normale interfaccia del sito web di YouTube. Quindi stiamo usando un agente utente TV per far sì che YouTube rimanga attivo https://youtube.com/tv
      • --kiosk: esegue Chromium in modalità kiosk. Questo lo fa iniziare a schermo intero e disabilita alcuni popup, come il popup di traduzione, ecc.
      • "https://www.youtube.com/tv": questo è l’URL che vogliamo aprire all’avvio di Chromium
    • >/dev/null 2>&1 reindirizza STDOUT e STDERR in modo da non vedere alcun output nel terminale se lo si esegue manualmente, e & mantiene l’applicazione in esecuzione

3. Aggiungi il nostro nuovo script all’avvio.

Inizia creando il nuovo yt eseguibile script:

chmod +x ~/.local/bin/yt

Quindi, modifica il file di avvio automatico del sistema operativo Raspberry Pi (~/.config/lxsession/LXDE-pi/autostart) utilizzando un editor di testo: utilizzando il comando seguente lo apriremo utilizzando l’editor della riga di comando Nano:

nano ~/.config/lxsession/LXDE-pi/autostart

In questo file, aggiungi la seguente riga per avviare automaticamente il file yt script:

@bash /home/pi/.local/bin/yt

Quando hai finito, salva il file (usa Ctrl + O, poi Enter per salvarlo, seguito da Ctrl + X per uscire da Nano).

È importante notare che non possiamo usare ~/.local/bin/yt nel file di avvio automatico. Dobbiamo utilizzare il percorso completo del file yt script. Quindi, se il percorso è diverso (non stai utilizzando il file predefinito pi utente), adattalo al tuo sistema / nome utente.

4. Avvia Chromium con YouTube sulla TV per la prima volta.

Chromium con YouTube sulla TV verrà avviato automaticamente all’avvio. Ma poiché non vogliamo riavviare solo per avviarlo, possiamo avviarlo manualmente. Chiudi tutte le finestre del browser Chromium in esecuzione, quindi apri un terminale e digita:

~/.local/bin/yt &

5. Associa il tuo telefono a YouTube sulla TV in esecuzione su Raspberry Pi.

Con il browser Chromium in esecuzione e https://www.youtube.com/tv aperto sul tuo Raspberry Pi, vai alle impostazioni (l’icona dell’ingranaggio in basso a sinistra), quindi fai clic su Link with TV codee vedrai un codice sullo schermo della tua TV:

YouTube in codice TV

Ora apri l’app YouTube sul tuo telefono, fai clic sull’icona Cast nella parte superiore dell’app e avrai un’opzione che dice Link with TV code

Collegamento YouTube per Android con codice TV

Fai clic qui e inserisci il codice che vedi sulla tua TV:

YouTube Android inserisci il codice

Clic Link dopo aver inserito il codice e il gioco è fatto! Puoi connetterti a YouTube sulla TV in esecuzione sul tuo Raspberry Pi e trasmettere i video di YouTube dal tuo telefono ad esso, collegandoti al dispositivo appena aggiunto:

YouTube Android si connette alla TV

Questo rende YouTube in TV attivo e funzionante sul tuo Raspberry Pi. Tuttavia, oltre a questo, sto anche usando alcune modifiche / ottimizzazioni, che potresti anche voler usare. Vedi sotto per i dettagli.

Ottimizzazioni / modifiche per l’utilizzo di YouTube in TV tramite Chromium su Raspberry Pi

1. Abilita l’accelerazione hardware nel browser Chromium in esecuzione su Raspberry Pi.

Questa è probabilmente l’ottimizzazione / aggiustamento più importante. Usando questo, i video di YouTube dovrebbero utilizzare molta meno CPU, mantenendo il tuo Raspberry Pi più fresco. Dai un’occhiata al seguente articolo di Linux Uprising per le istruzioni esatte:

Come abilitare l’accelerazione hardware in Chromium sul sistema operativo Raspberry Pi

2. Nasconde automaticamente il cursore del mouse quando inattivo.

Il cursore del mouse viene visualizzato in cima a YouTube sulla TV. Per farlo nascondere automaticamente, sto usando unclutter-xfixes, una riscrittura del popolare unclutter strumento, ma utilizzando l’estensione x11-xfixes (e con alcuni miglioramenti). Puoi anche usare l’originale unclutter (è nei repository), tuttavia personalmente preferisco questo fork. Nota che il loro utilizzo non è lo stesso, quindi se vuoi usare l’originale unclutter, guarda qui.

Per installare unclutter-xfixes, installa Git se non lo hai già fatto, così come le dipendenze unclutter-xfixes:

sudo apt install git libx11-dev libxfixes-dev libxi-dev libev-dev asciidoc

Successivamente, clona il repository GitHub unclutter-xfixes, crea e installa lo strumento:

git clone https://github.com/Airblader/unclutter-xfixes

cd unclutter-xfixes

make

sudo make install

Ora per nascondere automaticamente il cursore del mouse quando è inattivo, dovrai aggiungere unclutter -b all’avvio. Per fare ciò, apri il file di avvio automatico del sistema operativo Raspberry Pi con un editor di testo: useremo l’editor di testo della console Nano di seguito:

nano ~/.config/lxsession/LXDE-pi/autostart

Alla fine del file, aggiungi:

@unclutter -b

Quando hai finito, salva il file (usa Ctrl + O, poi Enter per salvarlo, seguito da Ctrl + X per uscire da Nano). Oppure attendi e salvalo dopo il passaggio successivo, poiché stiamo aggiungendo ancora un altro comando per l’avvio automatico.

3. Disabilitare l’oscuramento dello schermo

Per disabilitare l’oscuramento dello schermo, ancora una volta dovremo aggiungere un comando al file di avvio automatico. Quindi apri il file ~/.config/lxsession/LXDE-pi/autostart file con Nano:

nano ~/.config/lxsession/LXDE-pi/autostart

E alla fine del file, aggiungi:

@xset -dpms s off

E infine, salva il file (usa Ctrl + O, poi Enter per salvarlo, seguito da Ctrl + X uscire).

4. Installa Profile Sync Daemon per caricare il profilo Chromium in tmpfs (RAM).

Profile Sync Daemon è uno strumento per mantenere il profilo del browser in tmpfs e sincronizzarlo periodicamente sul disco fisico. Ciò accelera Chromium e allo stesso tempo effettua meno scritture sul disco, quindi la scheda SD / USB del tuo Raspberry Pi dura più a lungo. Usalo se il tuo Raspberry Pi ha abbastanza RAM.

Installalo usando:

sudo apt install profile-sync-daemon

Quindi, esegui PSD per la prima volta per creare il file di configurazione utente:

psd

Ora modifica il file di configurazione PSD utilizzando un editor di testo, ad esempio Nano:

nano ~/.config/psd/psd.conf

In questo file, rimuovere il commento da BROWSERS riga e aggiungi chromium ad esso, quindi assomiglia a questo:

BROWSERS="chromium"

Ora puoi abilitare e avviare PSD:

systemctl --user enable psd
systemctl --user start psd

Ho anche disabilitato lo scambio sul mio Raspberry Pi per ridurre al minimo le scritture su disco, ma non sono sicuro che sia una buona idea, quindi non sto aggiungendo istruzioni per questo qui. Puoi scoprire come farlo con una semplice ricerca.


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi