GNU/Linux >> Tutoriels Linux >  >> Debian

Comment diffuser votre bureau GNOME Shell sur un Chromecast (avec audio, prise en charge Wayland / X11) avec Cast to TV

Transférée sur le téléviseur, une extension de shell GNOME pour diffuser des fichiers et plus sur les appareils Chromecast (et plus), a été récemment mise à jour avec la prise en charge de la diffusion de votre bureau avec un son qui fonctionne à la fois avec Wayland et X11. Cela se fait à l'aide d'un module complémentaire appelé Broadcast to TV - Desktop Stream Add-on, qui a récemment eu sa première version sur le site Web des extensions GNOME.

Pour que le streaming de bureau fonctionne, vous avez besoin de Cast to TV version 14 ou supérieure, qui ne prend en charge que GNOME Shell 3.36 et 3.34 (par exemple, Ubuntu 20.04 et 19.10 et Fedora 31 et 32). Cela signifie que cela n'est pas disponible pour les anciennes distributions Linux qui utilisent les anciennes versions du shell GNOME, comme Ubuntu 18.04 ou Fedora 30.

Cet article explique comment utiliser Cast to TV (et son module complémentaire auxiliaire) pour diffuser votre bureau GNOME Shell avec audio sur un appareil Chromecast qui fonctionne à la fois avec X11 et Wayland. Les instructions étape par étape s'appliquent à Debian / Ubuntu / Pop ! _OS, Fedora et Arch Linux / Manjaro (les étapes doivent être les mêmes pour toutes les distributions Linux basées sur GNOME Shell, mais les packages peuvent avoir des noms différents).

Officiellement, vous pouvez diffuser votre bureau Linux sur un Chromecast à l'aide de Google Chrome. Cast to TV, cependant, présente quelques avantages par rapport à Google Chrome pour la diffusion sur ordinateur Chromecast :

  • il n'est pas lié au navigateur Google
  • Il diffuse votre bureau avec un son fonctionnel qui ne fonctionne pas sous Linux avec Google Chrome
  • Il prend en charge Wayland. C'est probablement le seul moyen de diffuser votre bureau sur un appareil Wayland Chromecast
  • il dispose d'un débit vidéo et d'images par seconde personnalisables
  • il dispose d'une accélération matérielle (VAAPI pour Intel / AMD et NVENC pour les graphiques Nvidia)
  • et vous avez également la possibilité d'afficher ou de masquer le pointeur de votre souris.


Google Chrome présente également certains avantages par rapport à Cast to TV :il a un délai de diffusion inférieur (Cast to TV a actuellement un délai d'environ 3 secondes) et fonctionne avec d'autres environnements de bureau que GNOME Shell. Utilisez donc la solution qui correspond le mieux à vos besoins.

Cast to TV peut faire bien plus que diffuser votre bureau sur un Chromecast. Il peut également transférer des images locales, des fichiers vidéo et audio avec un transcodage optionnel, un encodage vidéo accéléré par GPU pour une faible utilisation du processeur, des sous-titres et plus encore. De plus amples informations sont disponibles sur la page du projet.

Vous pourriez également aimer :l'extension Chromecast pour Firefox fx_cast 0.0.5 Ajoute la prise en charge de YouTube et des sous-titres pour les médias locaux.

Configurez Cast to TV pour diffuser votre bureau sur un Chromecast, dans Debian/Ubuntu/Pop ! _OS, Fedora ou Arch Linux / Manjaro

Comment utiliser Cast to TV pour diffuser votre bureau GNOME Shell (version 3.34 ou 3.36 uniquement !) pour utiliser un Chromecast, vous devez installer Cast to TV version 14 (ou plus récente) et le module complémentaire de bureau Cast to TV, installer des plug-ins GStreamer et modifier certains paramètres PulseAudio. C'est ce que vous devez faire en détail sur Debian/Ubuntu, Fedora ou Arch Linux/Manjaro.

Ces étapes activeront toutes les fonctionnalités Cast to TV afin que vous puissiez diffuser non seulement votre bureau, mais également des vidéos, de la musique et des images à partir de votre bureau GNOME Shell.

Autres façons de diffuser sur un Chromecast depuis Linux :

  • CATT, un lecteur Chromecast en ligne de commande
  • Gnomecast, une application graphique pour diffuser des fichiers audio et vidéo locaux sur un Chromecast

1. Installez les dépendances Cast to TV et Cast to TV - Desktop Add-on requises.

L'extension Cast-to-TV nécessite npm et Node.js pour certains modules et FFmpeg pour le transcodage. Cast to TV - Desktop Stream Add-on a également quelques dépendances :la base de GStreamer, les bons, les mauvais et les mauvais plugins.

PulseAudio (et pacmd) sont également requis, mais dans la plupart des cas, ils doivent déjà être installés.

Installez les dépendances avec :

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

  • Fedora :

Vous devrez activer le référentiel RPM Fusion pour installer FFmpeg et certains plugins GStreamer (si vous n'avez pas déjà activé ce référentiel), puis installer les packages :

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. Installez les dépendances facultatives.

Il existe également des dépendances facultatives. Pour utiliser l'enregistrement accéléré par matériel avec les pilotes Nvidia (NVENC), vous n'avez pas besoin d'installer un package supplémentaire car il est déjà disponible dans le package GStreamer1-plugins-bad (mais cela dépend si vos distributions Linux le permettent, mais peut-être pas être disponible), pour VAAPI (Intel / AMD) vous devez installer le package GSttreamer1-vaapi :

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

  • Fedora :
sudo dnf install gstreamer1-vaapi

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

Il est très important de noter que l'implémentation GStreamer de l'accélération matérielle (à la fois VAAPI et NVENC) "sorte d'expérimentation » note le Wiki du module complémentaire Cast to TV Desktop, et son utilisation peut faire planter GNOME Shell. Je n'ai pas essayé l'accélération matérielle lors de mon test pour diffuser mon bureau GNOME Shell 3.36 sur un Chromecast car mes graphiques Nvidia ne prennent pas en charge ce NVENC.

Donc, si votre bureau plante ou si vous ne pouvez pas diffuser votre bureau sur un Chromecast tout en utilisant l'accélération matérielle, désactivez-la (Cast to TV preferences -> Add-ons > Desktop -> Hardware acceleration: None ).

Il existe une autre dépendance facultative sous Debian/Ubuntu. Les plugins GStreamer n'ont pas le fdkaac et faac Encodeur audio AAC activé par défaut, uniquement avec voaacenc disponible, ce qui est assez ancien. Pour un meilleur streaming audio sur Debian/Ubuntu, vous pouvez utiliser le plugin FFmpeg GStreamer (qui utilise FFmpeg dans les nouvelles versions de Debian/Ubuntu, bien que libav inclus dans le nom du package), qui prend en charge avenc_aac Codage audio AAC. Installez ce paquet :

sudo apt install gstreamer1.0-libav

3. Installez le module complémentaire Cast to TV et Cast to TV Desktop Stream.

Les extensions sont disponibles sur le site Web GNOME Shell Extensions. Vous pouvez installer Cast to TV suivi de Cast to TV Desktop Stream Add-on à l'aide du logiciel GNOME s'il vous permet d'installer les extensions GNOME Shell sur vos distributions Linux.

Ou suivez les instructions du Wiki GNOME pour obtenir l'intégration de GNOME Shell avec Google Chrome et Firefox, puis vous pourrez installer les extensions GNOME Shell à l'aide de ces 2 navigateurs Web. Après avoir suivi ces instructions, visitez la page Transféré vers l'extension TV du site Web des extensions GNOME Shell et cliquez sur le bouton OFF dans le coin supérieur droit du site Web pour l'installer. Ensuite, faites de même pour eux Broadcast to TV – Desktop Stream Add-on.

L'installation des extensions n'est pas encore terminée à ce stade, car vous devez installer certains modules npm. Vous devez ouvrir les paramètres de diffusion sur le téléviseur.

J'ai une remarque importante à faire ici. Les notes de publication de Cast to TV v14 mentionnent qu'un bogue dans GNOME Shell 3.36.1 empêche l'ouverture des paramètres d'extension à partir du menu système de GNOME (« Paramètres de diffusion »). Cela ne m'arrive pas sur Ubuntu 20.04 avec GNOME Shell 3.36.1, probablement grâce à un correctif qui fait fonctionner cette nouvelle application GNOME Extensions (introduite avec GNOME 3.36).

Dans les paramètres de "Diffusion sur TV", passez au Modules Tab et cliquez sur Install npm modules en bas de la fenêtre (capture d'écran ci-dessus). Faites-le après avoir installé à la fois Cast to TV et Cast to TV Desktop Add-on, car les deux nécessitent l'installation de certains modules npm.

4. Activez la diffusion de votre bureau avec de l'audio sur le Chromecast.

Il y a deux exigences pour que la diffusion de bureau GNOME Shell sur les appareils Chromecast fonctionne avec l'audio.

Le premier consiste à sélectionner un plug-in AAC disponible sur votre système dans les préférences de l'extension Cast to TV. Pour voir quels plugins AAC GStreamer sont disponibles sur votre système, utilisez (vous n'avez pas besoin de tous, un seul suffit) :

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

Si vous obtenez "Aucun élément ou plugin de ce type" en sortie, par ex. B. sur Ubuntu :

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

Cela signifie que le plug-in n'est pas disponible, vous ne pourrez donc pas l'utiliser dans les paramètres Cast to TV pour diffuser votre bureau avec de l'audio sur un Chromecast.

Au lieu de cela, si vous obtenez une sortie comme celle-ci :

$ 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
........

Cela signifie qu'un plugin spécifique est disponible sur votre système et que vous pouvez le sélectionner dans les paramètres de l'extension Cast to TV (Add-ons -> Desktop -> Audio encoder ). Activez aussi Stream with audio pour diffuser du son sur votre bureau :

Sous Debian et Ubuntu, fdkaac et faac ne sont pas disponibles dans GStreamer, j'ai donc recommandé de les installer gstreamer1.0-libav pouvoir utiliser avenc_aac . Sous Arch Linux / Manjaro les deux fdkaac et faac devrait être disponible après l'installation de la base de GStreamer, bons, mauvais et laids plugins alors utilisez l'un d'eux. Sur Fedora, vous devriez avoir après l'installation des plugins GStreamer fdkaac dès que disponible, utilisez-le.

Si vous ne sélectionnez pas d'encodeur AAC disponible dans les paramètres Cast to TV, la diffusion de votre bureau sur un Chromecast échouera (vous n'obtiendrez même pas de diffusion vidéo). Si, pour une raison quelconque, un encodeur AAC n'est pas disponible sur votre système, désactivez la diffusion audio (disponible dans les paramètres de diffusion sur TV) afin que la diffusion sur le bureau fonctionne au moins.

Et le deuxième Pour diffuser votre bureau GNOME Shell sur un Chromecast avec audio, vous devez modifier PulseAudio /etc/pulse/default.pa Configuration avec n'importe quel éditeur de texte en tant que root, par exemple Gedit (éditeur de texte), l'éditeur de texte standard de GNOME :

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

et changez la ligne avec :

load-module module-stream-restore

à :

load-module module-stream-restore restore_device=false

Enregistrez le fichier et redémarrez PulseAudio :

pulseaudio -k

La sélection du récepteur audio natif dans GJS est prévue pour un futur module complémentaire de bureau Cast to TV, mais jusque-là, vous devrez utiliser cet ajustement manuel du fichier de configuration PulseAudio.

5. Castez votre bureau GNOME Shell sur un appareil Chromecast.

Vous êtes maintenant prêt à diffuser votre bureau Linux GNOME Shell sur un Chromecast. Dans le menu système de GNOME Shell, développez Cast Media, puis cliquez sur Bureau.

Dès que vous commencez à diffuser votre bureau sur l'appareil Chromecast, vous verrez un point jaune-orange (cela signifie que l'enregistreur d'écran intégré de GNOME Shell est actif) ainsi que la télécommande pour le Cast-to-TV sur le panneau de contrôle supérieur - à partir de là, vous pouvez arrêter le transfert de votre bureau en appuyant sur le bouton d'arrêt (il n'apparaîtra pas tant que vous n'aurez pas commencé le transfert).


Debian
  1. Comment étendre les fonctionnalités de votre bureau Linux avec PlexyDesk

  2. 5 meilleures extensions GNOME Shell pour votre bureau Linux

  3. Comment installer Fedora 34 Gnome étape par étape avec des captures d'écran

  4. Comment déplacer une fenêtre entre les moniteurs avec Gnome Shell ??

  5. Comment activer la saisie prédictive sur votre bureau Linux avec ibus-typing-booster

Comment installer Fedora 35 Gnome étape par étape avec des captures d'écran

Comment installer le bureau GNOME sur Debian 8

Comment installer GNOME Desktop sur Debian 10

Les 19 meilleures extensions Gnome Shell pour votre bureau Gnome

Comment installer l'environnement de bureau GNOME sur Debian 10

Comment intégrer le son aux événements du bureau ?