GNU/Linux >> Znalost Linux >  >> Debian

Jak přenést plochu prostředí GNOME do Chromecastu (se zvukem, podporou Wayland / X11) pomocí Cast to TV

Přeneseno do TV, rozšíření prostředí GNOME pro odesílání souborů a další na zařízení Chromecast (a další), bylo nedávno aktualizováno o podporu pro odesílání zvuku z vaší plochy, který funguje s Wayland i X11. To se provádí pomocí pomocného doplňku s názvem Broadcast to TV – Desktop Stream Add-on, který nedávno vydal své první vydání na webu GNOME Extensions.

Aby streamování z desktopu fungovalo, potřebujete Cast to TV verze 14 nebo vyšší, která podporuje pouze GNOME Shell 3.36 a 3.34 (např. Ubuntu 20.04 a 19.10 a Fedora 31 a 32). To znamená, že toto není dostupné pro starší distribuce Linuxu, které používají starší verze prostředí GNOME, jako je Ubuntu 18.04 nebo Fedora 30.

Tento článek vysvětluje, jak používat Cast to TV (a jeho pomocný doplněk) k odesílání zvuku z plochy GNOME Shell do zařízení Chromecast, které funguje s X11 i Wayland. Pokyny krok za krokem platí pro Debian / Ubuntu / Pop! _OS, Fedora a Arch Linux / Manjaro (postup by měl být stejný pro každou distribuci Linuxu založenou na prostředí GNOME Shell, ale balíčky mohou mít různé názvy).

Oficiálně můžete svou plochu Linuxu streamovat do Chromecastu pomocí Google Chrome. Odesílání do televize má však oproti prohlížeči Google Chrome pro streamování z počítače Chromecast několik výhod:

  • Není svázán s prohlížečem Google
  • Streamuje vaši plochu s funkčním zvukem, který v systému Linux s Google Chrome nefunguje
  • Podporuje Wayland. Toto je pravděpodobně jediný způsob, jak odeslat plochu do zařízení Wayland Chromecast
  • má přizpůsobitelný datový tok videa a fps
  • má hardwarovou akceleraci (VAAPI pro Intel / AMD a NVENC pro grafiku Nvidia)
  • a také máte možnost zobrazit nebo skrýt ukazatel myši.


Google Chrome má oproti Cast to TV také některé výhody:Má nižší zpoždění streamu (Cast to TV má v současnosti zpoždění asi 3 sekundy) a funguje s jinými desktopovými prostředími než GNOME Shell. Použijte tedy řešení, které nejlépe vyhovuje vašim potřebám.

Odesílání do televize umí mnohem víc než jen odesílání plochy do Chromecastu. Může také přenášet místní obrázky, video a audio soubory s volitelným překódováním, GPU akcelerovaným kódováním videa pro nízké využití CPU, titulky a dalšími. Další informace naleznete na stránce projektu.

Mohlo by se vám také líbit:Rozšíření Chromecast pro Firefox fx_cast 0.0.5 Přidává podporu pro YouTube a titulky pro místní média.

Nastavte Cast to TV a odešlete svou plochu do Chromecastu v Debian / Ubuntu / Pop! _OS, Fedora nebo Arch Linux / Manjaro

Jak používat Cast to TV ke streamování na ploše GNOME Shell (pouze verze 3.34 nebo 3.36!) Chcete-li používat Chromecast, musíte nainstalovat Cast to TV verze 14 (nebo novější) a desktopový doplněk Cast to TV, nainstalovat některé pluginy GStreamer a vyladit některá nastavení PulseAudio. To je to, co musíte udělat podrobně na Debian / Ubuntu, Fedora nebo Arch Linux / Manjaro.

Tyto kroky povolí všechny funkce Cast to TV, abyste mohli streamovat nejen svou plochu, ale také videa, hudbu a obrázky z plochy prostředí GNOME Shell.

Další způsoby streamování do Chromecast z Linuxu:

  • CATT, přehrávač Chromecast s příkazovým řádkem
  • Gnomecast, GUI aplikace pro streamování místních audio a video souborů do Chromecastu

1. Nainstalujte požadované závislosti Cast to TV a Cast to TV – Desktop Add-on.

Rozšíření Cast-to-TV vyžaduje npm a Node.js pro některé moduly a FFmpeg pro překódování. Cast to TV – Desktop Stream Add-on má také určité závislosti:základ GStreamer, dobré, špatné a ošklivé pluginy.

PulseAudio (a pacmd) jsou také vyžadovány, ale ve většině případů by měly být již nainstalovány.

Nainstalujte závislosti pomocí:

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

  • Fedora:

Budete muset povolit úložiště RPM Fusion, abyste mohli nainstalovat FFmpeg a některé zásuvné moduly GStreamer (pokud jste toto úložiště již nepovolili), poté nainstalujte balíčky:

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. Nainstalujte volitelné závislosti.

Existují také některé volitelné závislosti. Chcete-li používat Hardware Accelerated Recording s ovladači Nvidia (NVENC), nemusíte instalovat další balíček, protože je již k dispozici v balíčku GStreamer1-plugins-bad (ale záleží na tom, zda to vaše distribuce Linuxu umožňují, ale nemusí být k dispozici), pro VAAPI (Intel / AMD) musíte nainstalovat balíček 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

Je velmi důležité poznamenat, že implementace hardwarové akcelerace GStreamer (jak VAAPI, tak NVENC) „druh experimentálního “poznamenává Wiki k doplňku Cast to TV Desktop a jeho použití může způsobit selhání prostředí GNOME. Ve svém testu jsem nezkoušel hardwarovou akceleraci pro streamování mé plochy GNOME Shell 3.36 do Chromecastu, protože moje grafika Nvidia tento NVENC nepodporuje.

Pokud tedy vaše plocha selhává nebo se vám nedaří odeslat plochu do Chromecastu při použití hardwarové akcelerace, vypněte ji (Cast to TV preferences -> Add-ons > Desktop -> Hardware acceleration: None ).

Pod Debian / Ubuntu existuje další volitelná závislost. Zásuvné moduly GStreamer nemají fdkaac a faac Zvukový kodér AAC je ve výchozím nastavení povolen, pouze s voaacenc k dispozici, což je docela staré. Pro lepší streamování zvuku na Debian / Ubuntu můžete použít plugin FFmpeg GStreamer (který používá FFmpeg v novějších verzích Debian / Ubuntu, ačkoli libav zahrnuto v názvu balíčku), který poskytuje podporu pro avenc_aac AAC audio kódování. Nainstalujte tento balíček:

sudo apt install gstreamer1.0-libav

3. Nainstalujte doplněk Cast to TV a Cast to TV Desktop Stream.

Rozšíření jsou k dispozici na webu GNOME Shell Extensions. Můžete nainstalovat Cast to TV a následně Cast to TV Desktop Stream Add-on pomocí softwaru GNOME, pokud vám umožňuje instalovat rozšíření GNOME Shell do vašich distribucí Linuxu.

Nebo postupujte podle pokynů na Wiki GNOME a získejte Integraci prostředí GNOME s Google Chrome a Firefox a poté můžete nainstalovat rozšíření prostředí GNOME pomocí těchto 2 webových prohlížečů. Po provedení těchto pokynů přejděte na stránku Rozšíření přeneseno do TV z webu rozšíření GNOME Shell a kliknutím na tlačítko VYPNUTO v pravém horním rohu webu jej nainstalujte. Pak pro ně udělejte totéž Vysílání do TV – doplněk Desktop Stream.

Instalace rozšíření v tomto okamžiku ještě není dokončena, protože musíte nainstalovat některé moduly npm. Musíte otevřít nastavení pro vysílání do TV.

Zde musím upozornit na důležitou věc. Poznámky k vydání Cast to TV v14 zmiňují, že chyba v prostředí GNOME Shell 3.36.1 brání otevření nastavení rozšíření ze systémové nabídky GNOME („Nastavení Cast“). To se mi na Ubuntu 20.04 s GNOME Shell 3.36.1 nestává, pravděpodobně díky opravě, díky které tato nová aplikace GNOME Extensions funguje (zavedena s GNOME 3.36).

V nastavení pro „Vysílání do TV“ přepněte na Modules Tab a klikněte na Install npm modules ve spodní části okna (snímek obrazovky výše). Udělejte to poté, co nainstalujete doplněk Cast to TV i Cast to TV Desktop Add-on, protože oba vyžadují instalaci některých modulů npm.

4. Povolte streamování plochy se zvukem do Chromecastu.

Existují dva požadavky na to, aby streamování prostředí GNOME Shell do zařízení Chromecast fungovalo se zvukem.

První je vybrat zásuvný modul AAC dostupný ve vašem systému v předvolbách rozšíření Cast to TV. Chcete-li zjistit, které pluginy AAC GStreamer jsou dostupné ve vašem systému, použijte (nepotřebujete je všechny, stačí jeden):

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

Pokud jako výstup dostanete „Žádná taková položka nebo plugin“, např. B. na Ubuntu:

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

To znamená, že plugin není k dispozici, takže jej nebudete moci použít v nastavení Cast to TV ke streamování z plochy se zvukem do Chromecastu.

Místo toho, pokud získáte výstup takto:

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

To znamená, že ve vašem systému je k dispozici konkrétní plugin a můžete jej vybrat v nastavení rozšíření Cast to TV (Add-ons -> Desktop -> Audio encoder ). Aktivujte také Stream with audio streamování plochy se zvukem:

V Debianu a Ubuntu fdkaac a faac nejsou v GStreamer dostupné, proto jsem doporučil jejich instalaci gstreamer1.0-libav abyste mohli používat avenc_aac . Pod Arch Linux / Manjaro oba fdkaac a faac by měly být dostupné po instalaci základny GStreamer, dobré, špatné a ošklivé pluginy, takže použijte jeden z nich. Na Fedoře byste měli mít po instalaci zásuvných modulů GStreamer fdkaac pokud je k dispozici, použijte jej.

Pokud v nastavení Cast to TV nevyberete dostupný kodér AAC, odeslání vaší plochy do Chromecastu se nezdaří (nedostanete ani video vysílání). Pokud z nějakého důvodu není ve vašem systému k dispozici kodér AAC, vypněte streamování zvuku (dostupné v Nastavení pro vysílání do TV), aby fungovalo streamování z počítače.

A druhý Chcete-li přenést plochu GNOME Shell do Chromecastu se zvukem, musíte změnit PulseAudio /etc/pulse/default.pa Konfigurace pomocí libovolného textového editoru jako root, například Gedit (Textový editor), standardního textového editoru GNOME:

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

a změňte řádek pomocí:

load-module module-stream-restore

komu:

load-module module-stream-restore restore_device=false

Uložte soubor a restartujte PulseAudio:

pulseaudio -k

Výběr nativního audiosink v GJS je plánován pro budoucí desktopový doplněk Cast to TV, ale do té doby budete muset používat tuto ruční úpravu konfiguračního souboru PulseAudio.

5. Odešlete plochu prostředí GNOME Shell do zařízení Chromecast.

Nyní jste připraveni přenést plochu prostředí Linux GNOME Shell do Chromecastu. V systémové nabídce prostředí GNOME rozbalte položku Cast Media a poté klikněte na položku Plocha.

Jakmile začnete odesílat plochu do zařízení Chromecast, uvidíte žlutooranžovou tečku (to znamená, že vestavěný záznam obrazovky GNOME Shell je aktivní) a také dálkové ovládání Cast-to-TV na horní ovládací panel – odtud můžete zastavit přenos plochy stisknutím tlačítka stop (objeví se až po zahájení přenosu).


Debian
  1. Jak rozšířit funkčnost vašeho Linuxového desktopu pomocí PlexyDesk

  2. 5 nejlepších rozšíření prostředí GNOME pro vaši plochu Linuxu

  3. Jak nainstalovat Fedora 34 Gnome Krok za krokem se snímky obrazovky

  1. Jak se pohybovat na ploše GNOME Linux pouze pomocí klávesnice

  2. Jak přesunout okno mezi monitory pomocí Gnome Shell?

  3. Jak povolit prediktivní vstup na ploše Linuxu pomocí ibus-typing-booster

  1. Jak nainstalovat rozšíření GNOME Shell s Firefoxem a Chromem

  2. Integrujte svůj telefon Android s prostředím GNOME Shell

  3. Kresli na obrazovku s tímto elegantním rozšířením GNOME Shell