GNU/Linux >> Linux Esercitazione >  >> Debian

Come trasmettere il desktop della shell GNOME a un Chromecast (con supporto audio, Wayland / X11) con Cast to TV

Trasferita sulla TV, un'estensione della shell GNOME per trasmettere file e altro su dispositivi Chromecast (e altro), è stata recentemente aggiornata con il supporto per trasmettere il tuo desktop con audio che funziona sia con Wayland che con X11. Questo viene fatto con l'aiuto di un componente aggiuntivo ausiliario chiamato Broadcast to TV – Desktop Stream Add-on, che ha recentemente avuto la sua prima versione sul sito Web di GNOME Extensions.

Affinché lo streaming desktop funzioni, è necessario Cast to TV versione 14 o successiva, che supporta solo GNOME Shell 3.36 e 3.34 (ad es. Ubuntu 20.04 e 19.10 e Fedora 31 e 32). Ciò significa che questo non è disponibile per le vecchie distribuzioni Linux che utilizzano versioni precedenti della shell GNOME, come Ubuntu 18.04 o Fedora 30.

Questo articolo spiega come utilizzare Cast to TV (e il suo componente aggiuntivo ausiliario) per trasmettere il desktop GNOME Shell con l'audio a un dispositivo Chromecast che funziona sia con X11 che con Wayland. Le istruzioni dettagliate si applicano a Debian / Ubuntu / Pop! _OS, Fedora e Arch Linux/Manjaro (i passaggi dovrebbero essere gli stessi per ogni distribuzione Linux basata su GNOME Shell, ma i pacchetti possono avere nomi diversi).

Ufficialmente, puoi eseguire lo streaming del tuo desktop Linux su un Chromecast utilizzando Google Chrome. Trasmetti alla TV, tuttavia, presenta alcuni vantaggi rispetto a Google Chrome per lo streaming desktop Chromecast:

  • non è legato al browser Google
  • Trasmette in streaming il tuo desktop con audio funzionante che non funziona su Linux con Google Chrome
  • Supporta Wayland. Questo è probabilmente l'unico modo per trasmettere il tuo desktop a un dispositivo Chromecast Wayland
  • ha bitrate video e fps personalizzabili
  • ha l'accelerazione hardware (VAAPI per Intel / AMD e NVENC per la grafica Nvidia)
  • e hai anche la possibilità di mostrare o nascondere il puntatore del mouse.


Google Chrome presenta anche alcuni vantaggi rispetto a Cast to TV:ha un ritardo di streaming inferiore (Cast to TV ha attualmente un ritardo di circa 3 secondi) e funziona con altri ambienti desktop diversi da GNOME Shell. Quindi usa la soluzione più adatta alle tue esigenze.

Trasmetti su TV può fare molto di più che trasmettere il tuo desktop a un Chromecast. Può anche trasferire immagini locali, file video e audio con transcodifica opzionale, codifica video con accelerazione GPU per un utilizzo ridotto della CPU, sottotitoli e altro ancora. Ulteriori informazioni sono disponibili nella pagina del progetto.

Potrebbe interessarti anche:Estensione Chromecast per Firefox fx_cast 0.0.5 Aggiunge il supporto per YouTube e i sottotitoli per i media locali.

Configura Cast to TV per trasmettere il tuo desktop a un Chromecast, in Debian/Ubuntu/Pop! _OS, Fedora o Arch Linux/Manjaro

Come utilizzare Cast to TV per trasmettere in streaming il tuo desktop GNOME Shell (solo versione 3.34 o 3.36!) per utilizzare un Chromecast devi installare Cast to TV versione 14 (o successiva) e il componente aggiuntivo Cast to TV desktop, installare alcuni plug-in GStreamer e modificare alcune impostazioni di PulseAudio. Questo è ciò che devi fare in dettaglio su Debian/Ubuntu, Fedora o Arch Linux/Manjaro.

Questi passaggi abiliteranno tutte le funzionalità Trasmetti su TV in modo da poter trasmettere in streaming non solo il desktop, ma anche video, musica e immagini dal desktop di GNOME Shell.

Altri modi per eseguire lo streaming su un Chromecast da Linux:

  • CATT, un lettore Chromecast a riga di comando
  • Gnomecast, un'applicazione GUI per lo streaming di file audio e video locali su un Chromecast

1. Installa le dipendenze del componente aggiuntivo Cast to TV e Cast to TV – Desktop.

L'estensione Cast-to-TV richiede npm e Node.js per alcuni moduli e FFmpeg per la transcodifica. Trasmetti alla TV – Il componente aggiuntivo Desktop Stream ha anche alcune dipendenze:la base di GStreamer, i plugin buoni, cattivi e brutti.

Sono necessari anche PulseAudio (e pacmd), ma nella maggior parte dei casi dovrebbero essere già installati.

Installa le dipendenze con:

  • Debian / Ubuntu / Pop! _OS:
sudo apt install ffmpeg npm nodejs gstreamer1.0-plugins-{base,good,bad,ugly}

  • Fedora:

Dovrai abilitare il repository RPM Fusion per installare FFmpeg e alcuni plugin di GStreamer (se non hai già abilitato quel repository), quindi installare i pacchetti:

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install ffmpeg gstreamer1-plugins{base,good,bad-free,ugly}

  • Arch Linux/Manjaro:
sudo pacman -S ffmpeg npm nodejs gst-plugins-{base,good,bad,ugly}


2. Installa le dipendenze facoltative.

Ci sono anche alcune dipendenze opzionali. Per utilizzare la registrazione con accelerazione hardware con driver Nvidia (NVENC) non è necessario installare un pacchetto aggiuntivo in quanto è già disponibile nel pacchetto GStreamer1-plugins-bad (ma dipende dal fatto che le tue distribuzioni Linux lo consentano, ma potrebbe non essere disponibile), per VAAPI (Intel / AMD) è necessario installare il pacchetto GSttreamer1-vaapi:

  • Debian / Ubuntu / Pop! _OS:
sudo apt install gstreamer1.0-vaapi

  • Fedora:
sudo dnf install gstreamer1-vaapi

  • Arch Linux/Manjaro:
sudo pacman -S gstreamer-vaapi

È molto importante notare che l'implementazione di GStreamer dell'accelerazione hardware (sia VAAPI che NVENC) “tipo sperimentale “osserva il wiki aggiuntivo Cast to TV Desktop e il suo utilizzo può causare il crash di GNOME Shell. Non ho provato l'accelerazione hardware nel mio test per eseguire lo streaming del mio desktop GNOME Shell 3.36 su un Chromecast perché la mia grafica Nvidia non supporta questo NVENC.

Pertanto, se il desktop si arresta in modo anomalo o non riesci a trasmettere il desktop a un Chromecast mentre utilizzi l'accelerazione hardware, disattivalo (Cast to TV preferences -> Add-ons > Desktop -> Hardware acceleration: None ).

C'è un'altra dipendenza opzionale in Debian/Ubuntu. I plugin di GStreamer non hanno il fdkaac e faac Codificatore audio AAC abilitato per impostazione predefinita, solo con voaacenc disponibile, che è piuttosto vecchio. Per un migliore streaming audio su Debian / Ubuntu, puoi utilizzare il plug-in FFmpeg GStreamer (che utilizza FFmpeg nelle versioni Debian / Ubuntu più recenti, sebbene libav incluso nel nome del pacchetto), che fornisce supporto per avenc_aac Codifica audio AAC. Installa questo pacchetto:

sudo apt install gstreamer1.0-libav

3. Installa il componente aggiuntivo Trasmetti su TV e Trasmetti su TV desktop Stream.

Le estensioni sono disponibili dal sito Web GNOME Shell Extensions. Puoi installare Cast to TV seguito da Cast to TV Desktop Stream Add-on utilizzando il software GNOME se ti consente di installare le estensioni della shell GNOME sulle tue distribuzioni Linux.

Oppure segui le istruzioni dal Wiki di GNOME per ottenere Integra GNOME Shell con Google Chrome e Firefox, quindi puoi installare le estensioni di GNOME Shell utilizzando questi 2 browser web. Dopo aver seguito queste istruzioni, visita la pagina dell'estensione Trasferito nella TV dal sito Web delle estensioni di GNOME Shell e fai clic sul pulsante OFF nell'angolo in alto a destra del sito Web per installarlo. Quindi fai lo stesso per loro Trasmetti su TV – Componente aggiuntivo per streaming desktop.

L'installazione delle estensioni non è ancora completa a questo punto, in quanto è necessario installare alcuni moduli npm. Devi aprire le impostazioni per la trasmissione alla TV.

Ho un punto importante da sottolineare qui. Le note di rilascio di Cast to TV v14 menzionano che un bug in GNOME Shell 3.36.1 impedisce l'apertura delle impostazioni dell'estensione dal menu di sistema di GNOME ("Impostazioni Cast"). Questo non mi succede su Ubuntu 20.04 con GNOME Shell 3.36.1, probabilmente grazie a una patch che fa funzionare questa nuova app GNOME Extensions (introdotta con GNOME 3.36).

Nelle impostazioni per "Trasmissione su TV", passa a Modules Tab e fai clic su Install npm modules nella parte inferiore della finestra (schermata sopra). Fallo dopo aver installato il componente aggiuntivo Cast to TV e Cast to TV Desktop poiché entrambi richiedono l'installazione di alcuni moduli npm.

4. Abilita lo streaming del tuo desktop con audio sul Chromecast.

Esistono due requisiti affinché lo streaming desktop di GNOME Shell su dispositivi Chromecast funzioni con l'audio.

Il primo consiste nel selezionare un plug-in AAC disponibile sul tuo sistema nelle preferenze dell'estensione Trasmetti a TV. Per vedere quali plugin AAC GStreamer sono disponibili sul tuo sistema, usa (non ti servono tutti, ne basta uno):

gst-inspect-1.0 fdkaac
gst-inspect-1.0 faac
gst-inspect-1.0 avenc_aac
gst-inspect-1.0 voaacenc

Se ricevi "Nessun elemento o plug-in di questo tipo" come output, ad es. B. su Ubuntu:

$ gst-inspect-1.0 faac
No such element or plugin 'faac'

Ciò significa che il plug-in non è disponibile, quindi non potrai utilizzarlo nelle impostazioni Trasmetti su TV per trasmettere in streaming il tuo desktop con l'audio a un Chromecast.

Invece, se ottieni un output come questo:

$ gst-inspect-1.0 avenc_aac
Factory Details:
Rank                     none (0)
Long-name                libav AAC (Advanced Audio Coding) encoder
Klass                    Codec/Encoder/Audio
Description              libav aac encoder
Author                   Wim Taymans <[email protected]>, Ronald Bultje <[email protected]>
Plugin Details:
Name                     libav
Description              All libav codecs and formats (system install)
Filename                 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so
Version                  1.16.2
License                  LGPL
Source module            gst-libav
Binary package           GStreamer libav Plugins (Ubuntu)
Origin URL               https://launchpad.net/distros/ubuntu/+source/gst-libav1.0
........

Ciò significa che un plug-in specifico è disponibile sul tuo sistema e puoi selezionarlo nelle impostazioni dell'estensione Trasmetti a TV (Add-ons -> Desktop -> Audio encoder ). Attiva anche Stream with audio per eseguire lo streaming del desktop con l'audio:

Sotto Debian e Ubuntu, fdkaac e faac non sono disponibili in GStreamer, quindi ho consigliato di installarli gstreamer1.0-libav per poter usare avenc_aac . Sotto Arch Linux / Manjaro entrambi fdkaac e faac dovrebbe essere disponibile dopo aver installato la base di GStreamer, i plugin buoni, cattivi e brutti quindi usane uno. Su Fedora dovresti averlo dopo aver installato i plugin GStreamer fdkaac come disponibile, quindi usalo.

Se non selezioni un codificatore AAC disponibile nelle impostazioni Trasmetti su TV, la trasmissione del desktop a un Chromecast fallirà (non riceverai nemmeno una trasmissione video). Se per qualche motivo un codificatore AAC non è disponibile sul tuo sistema, disattiva lo streaming audio (disponibile in Impostazioni per Trasmetti su TV) in modo che almeno lo streaming desktop funzioni.

E il secondo Per trasmettere il tuo desktop GNOME Shell su un Chromecast con audio, devi cambiare PulseAudio /etc/pulse/default.pa Configurazione con qualsiasi editor di testo come root, ad esempio Gedit (Text Editor), l'editor di testo standard di GNOME:

gedit admin:///etc/pulse/default.pa

e cambia la riga con:

load-module module-stream-restore

a:

load-module module-stream-restore restore_device=false

Salva il file e riavvia PulseAudio:

pulseaudio -k

La selezione del sink audio nativo in GJS è pianificata per un futuro componente aggiuntivo Cast to TV desktop, ma fino ad allora dovrai utilizzare questa regolazione manuale del file di configurazione PulseAudio.

5. Trasmetti il ​​tuo desktop GNOME Shell su un dispositivo Chromecast.

Ora sei pronto per trasmettere il tuo desktop Linux GNOME Shell su un Chromecast. Dal menu di sistema di GNOME Shell, espandi Cast Media, quindi fai clic su Desktop.

Non appena inizi a trasmettere il tuo desktop al dispositivo Chromecast, vedrai un punto giallo-arancione (questo significa che lo screen recorder integrato di GNOME Shell è attivo) così come il telecomando per Cast-to-TV sul pannello di controllo superiore:da lì puoi interrompere il trasferimento del desktop premendo il pulsante di arresto (non verrà visualizzato finché non inizi il trasferimento).


Debian
  1. Come estendere le funzionalità del tuo desktop Linux con PlexyDesk

  2. 5 migliori estensioni della shell GNOME per il tuo desktop Linux

  3. Come installare Fedora 34 Gnome Passo dopo passo con gli screenshot

  4. Come spostare una finestra tra i monitor con Gnome Shell?

  5. Come abilitare l'input predittivo sul desktop Linux con ibus-typing-booster

Come installare Fedora 35 Gnome passo dopo passo con schermate

Come installare GNOME Desktop su Debian 8

Come installare GNOME Desktop su Debian 10

Le 19 migliori estensioni della shell di Gnome per il tuo desktop Gnome

Come installare l'ambiente desktop GNOME su Debian 10

Come integrare l'audio con gli eventi desktop?