GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So übertragen Sie Ihren GNOME-Shell-Desktop mit Cast to TV auf einen Chromecast (mit Audio, Wayland / X11-Unterstützung).

Auf den Fernseher übertragen, eine GNOME-Shell-Erweiterung zum Streamen von Dateien und mehr auf Chromecast-Geräten (und mehr), wurde kürzlich mit Unterstützung für das Streamen Ihres Desktops mit Ton aktualisiert, der sowohl mit Wayland als auch mit X11 funktioniert. Dies geschieht mit Hilfe eines Hilfs-Add-Ons namens Broadcast to TV – Desktop Stream Add-on, das kürzlich erstmals auf der GNOME-Erweiterungs-Website veröffentlicht wurde.

Damit das Desktop-Streaming funktioniert, benötigen Sie Cast to TV Version 14 oder höher, die nur GNOME Shell 3.36 und 3.34 unterstützt (z. B. Ubuntu 20.04 und 19.10 und Fedora 31 und 32). Dies bedeutet, dass dies für ältere Linux-Distributionen, die ältere GNOME-Shell-Versionen verwenden, wie Ubuntu 18.04 oder Fedora 30, nicht verfügbar ist.

In diesem Artikel wird erläutert, wie Sie Cast to TV (und sein zusätzliches Add-on) verwenden, um Ihren GNOME Shell-Desktop mit Audio auf ein Chromecast-Gerät zu übertragen, das sowohl mit X11 als auch mit Wayland funktioniert. Die Schritt-für-Schritt-Anleitung gilt für Debian / Ubuntu / Pop! _OS, Fedora und Arch Linux / Manjaro (die Schritte sollten für jede GNOME-Shell-basierte Linux-Distribution gleich sein, aber die Pakete können unterschiedliche Namen haben).

Offiziell können Sie Ihren Linux-Desktop mit Google Chrome auf einen Chromecast streamen. Cast to TV hat jedoch einige Vorteile gegenüber Google Chrome für Chromecast-Desktop-Streaming:

  • es ist nicht an den Google-Browser gebunden
  • Es streamt Ihren Desktop mit funktionierendem Audio, das unter Linux mit Google Chrome nicht funktioniert
  • Es unterstützt Wayland. Dies ist wahrscheinlich die einzige Möglichkeit, Ihren Desktop auf ein Wayland Chromecast-Gerät zu übertragen
  • es hat anpassbare Video-Bitrate und fps
  • Es hat Hardwarebeschleunigung (VAAPI für Intel/AMD und NVENC für Nvidia-Grafiken)
  • und Sie haben auch die Möglichkeit, Ihren Mauszeiger ein- oder auszublenden.


Google Chrome hat auch einige Vorteile gegenüber Cast to TV:Es hat eine geringere Stream-Verzögerung (Cast to TV hat derzeit eine Verzögerung von etwa 3 Sekunden) und funktioniert mit anderen Desktop-Umgebungen als GNOME Shell. Verwenden Sie also die Lösung, die Ihren Anforderungen am besten entspricht.

Cast to TV kann viel mehr als nur Ihren Desktop auf einen Chromecast übertragen. Es kann auch lokale Bilder, Video- und Audiodateien mit optionaler Transcodierung, GPU-beschleunigter Videocodierung für geringe CPU-Auslastung, Untertiteln und mehr übertragen. Weitere Informationen finden Sie auf der Projektseite.

Das könnte Ihnen auch gefallen:Chromecast-Erweiterung für Firefox fx_cast 0.0.5 Fügt Unterstützung für YouTube und Untertitel für lokale Medien hinzu.

Richten Sie Cast to TV ein, um Ihren Desktop in Debian/Ubuntu/Pop! _OS, Fedora oder Arch Linux / Manjaro

So verwenden Sie Cast to TV zum Streamen Ihres GNOME Shell-Desktops (nur Version 3.34 oder 3.36!) Um einen Chromecast zu verwenden, müssen Sie Cast to TV Version 14 (oder neuer) und das Cast to TV-Desktop-Add-on installieren, einige GStreamer-Plug-ins installieren und einige PulseAudio-Einstellungen optimieren. Dies ist, was Sie im Detail unter Debian / Ubuntu, Fedora oder Arch Linux / Manjaro tun müssen.

Diese Schritte aktivieren alle Cast-to-TV-Funktionen, sodass Sie nicht nur Ihren Desktop, sondern auch Videos, Musik und Bilder von Ihrem GNOME Shell-Desktop streamen können.

Andere Möglichkeiten zum Streamen ein Chromecast von Linux:

  • CATT, ein Befehlszeilen-Chromecast-Player
  • Gnomecast, eine GUI-Anwendung zum Streamen lokaler Audio- und Videodateien auf einen Chromecast

1. Installieren Sie die erforderlichen Abhängigkeiten für Cast to TV und Cast to TV – Desktop Add-on.

Die Cast-to-TV-Erweiterung erfordert npm und Node.js für einige Module und FFmpeg für die Transcodierung. Cast to TV – Desktop Stream Add-on hat auch einige Abhängigkeiten:die GStreamer-Basis, gute, schlechte und hässliche Plugins.

PulseAudio (und pacmd) sind ebenfalls erforderlich, sollten aber in den meisten Fällen bereits installiert sein.

Installieren Sie die Abhängigkeiten mit:

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

  • Fedora:

Sie müssen das RPM Fusion-Repository aktivieren, um FFmpeg und einige GStreamer-Plug-ins zu installieren (falls Sie dieses Repository noch nicht aktiviert haben), und dann die Pakete installieren:

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. Installieren Sie die optionalen Abhängigkeiten.

Es gibt auch einige optionale Abhängigkeiten. Um Hardware Accelerated Recording mit Nvidia-Treibern (NVENC) zu verwenden, müssen Sie kein zusätzliches Paket installieren, da es bereits im Paket GStreamer1-plugins-bad verfügbar ist (es hängt jedoch davon ab, ob Ihre Linux-Distributionen dies zulassen, es aber möglicherweise nicht verfügbar sein), für VAAPI (Intel / AMD) müssen Sie das Paket GSttreamer1-vaapi installieren:

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

  • Fedora:
sudo dnf install gstreamer1-vaapi

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

Es ist sehr wichtig zu beachten, dass die GStreamer-Implementierung der Hardwarebeschleunigung (sowohl VAAPI als auch NVENC) „irgendwie experimentell ist „bemerkt das Cast to TV Desktop Add-on Wiki, und seine Verwendung kann GNOME Shell zum Absturz bringen. Ich habe in meinem Test keine Hardwarebeschleunigung ausprobiert, um meinen GNOME Shell 3.36-Desktop auf einen Chromecast zu streamen, da meine Nvidia-Grafik dieses NVENC nicht unterstützt.

Wenn also Ihr Desktop abstürzt oder Sie Ihren Desktop nicht auf einen Chromecast übertragen können, während Sie die Hardwarebeschleunigung verwenden, schalten Sie sie aus (Cast to TV preferences -> Add-ons > Desktop -> Hardware acceleration: None ).

Unter Debian / Ubuntu gibt es eine weitere optionale Abhängigkeit. Die GStreamer-Plugins haben nicht den fdkaac und faac AAC-Audio-Encoder standardmäßig aktiviert, nur mit voaacenc verfügbar, die ziemlich alt ist. Für besseres Audio-Streaming auf Debian/Ubuntu können Sie das FFmpeg GStreamer-Plugin verwenden (das FFmpeg in neueren Debian/Ubuntu-Versionen verwendet, obwohl libav im Paketnamen enthalten), die Unterstützung für avenc_aac bereitstellt AAC-Audiocodierung. Dieses Paket installieren:

sudo apt install gstreamer1.0-libav

3. Installieren Sie das Add-on „Cast to TV“ und „Cast to TV Desktop Stream“.

Die Erweiterungen sind auf der GNOME Shell Extensions-Website verfügbar. Sie können Cast to TV gefolgt von Cast to TV Desktop Stream Add-on mit GNOME-Software installieren, wenn Sie damit GNOME-Shell-Erweiterungen auf Ihren Linux-Distributionen installieren können.

Oder folgen Sie den Anweisungen aus dem GNOME-Wiki, um GNOME-Shell mit Google Chrome und Firefox zu integrieren, und dann können Sie GNOME-Shell-Erweiterungen mit diesen 2 Webbrowsern installieren. Nachdem Sie diese Anweisungen befolgt haben, besuchen Sie die Seite Transferred to the TV-Erweiterung von der GNOME Shell-Erweiterungs-Website und klicken Sie auf die Schaltfläche AUS in der oberen rechten Ecke der Website, um sie zu installieren. Machen Sie dann dasselbe für sie Broadcast to TV – Desktop Stream Add-on.

Die Installation der Erweiterungen ist an dieser Stelle noch nicht abgeschlossen, da Sie einige npm-Module installieren müssen. Sie müssen die Einstellungen für die Übertragung an den Fernseher öffnen.

Ich habe hier einen wichtigen Punkt anzumerken. In den Versionshinweisen zu Cast to TV v14 wird erwähnt, dass ein Fehler in GNOME Shell 3.36.1 verhindert, dass die Erweiterungseinstellungen aus dem GNOME-Systemmenü („Cast-Einstellungen“) geöffnet werden. Dies passiert mir unter Ubuntu 20.04 mit GNOME Shell 3.36.1 nicht, wahrscheinlich dank eines Patches, der diese neue GNOME-Erweiterungs-App zum Laufen bringt (eingeführt mit GNOME 3.36).

Wechseln Sie in den Einstellungen für „Broadcast to TV“ auf die Modules Tab und klicken Sie auf Install npm modules am unteren Rand des Fensters (Abbildung oben). Tun Sie dies, nachdem Sie sowohl Cast to TV als auch Cast to TV Desktop Add-on installiert haben, da für beide die Installation einiger npm-Module erforderlich ist.

4. Aktivieren Sie das Streamen Ihres Desktops mit Audio auf Chromecast.

Es gibt zwei Voraussetzungen für das Desktop-Streaming von GNOME Shell zu Chromecast-Geräten, um mit Audio zu funktionieren.

Die erste ist die Auswahl eines auf Ihrem System verfügbaren AAC-Plug-Ins in den Einstellungen der Cast to TV-Erweiterung. Um zu sehen, welche AAC GStreamer-Plug-ins auf Ihrem System verfügbar sind, verwenden Sie (Sie brauchen nicht alle, eines reicht aus):

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

Wenn Sie „No such item or plugin“ als Ausgabe erhalten, z. B. auf Ubuntu:

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

Das bedeutet, dass das Plug-in nicht verfügbar ist, sodass Sie es nicht in den Cast-to-TV-Einstellungen verwenden können, um Ihren Desktop mit Audio auf einen Chromecast zu streamen.

Wenn Sie stattdessen eine Ausgabe wie diese erhalten:

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

Das bedeutet, dass ein bestimmtes Plugin auf Ihrem System verfügbar ist und Sie es in den Einstellungen der Cast to TV-Erweiterung auswählen können (Add-ons -> Desktop -> Audio encoder ). Aktivieren Sie auch Stream with audio So streamen Sie Ihren Desktop mit Audio:

Unter Debian und Ubuntu, fdkaac und faac sind in GStreamer nicht verfügbar, daher habe ich empfohlen, sie zu installieren gstreamer1.0-libav um avenc_aac verwenden zu können . Unter Arch Linux / Manjaro beide fdkaac und faac sollten nach der Installation der GStreamer-Basis verfügbar sein, gute, schlechte und hässliche Plugins, also verwenden Sie eines davon. Auf Fedora sollten Sie nach der Installation des GStreamer-Plugins fdkaac haben wie verfügbar, also verwenden Sie das.

Wenn Sie in den Cast-to-TV-Einstellungen keinen verfügbaren AAC-Encoder auswählen, schlägt das Streamen Ihres Desktops auf einen Chromecast fehl (Sie erhalten nicht einmal eine Videoübertragung). Wenn auf Ihrem System aus irgendeinem Grund kein AAC-Encoder verfügbar ist, deaktivieren Sie das Audio-Streaming (verfügbar in den Einstellungen für Broadcast to TV), damit zumindest das Desktop-Streaming funktioniert.

Und das zweite Um Ihren GNOME-Shell-Desktop mit Audio auf einen Chromecast zu übertragen, müssen Sie PulseAudio /etc/pulse/default.pa ändern Konfiguration mit einem beliebigen Texteditor als root, zum Beispiel Gedit (Text Editor), dem Standard-GNOME-Texteditor:

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

und ändern Sie die Zeile mit:

load-module module-stream-restore

zu:

load-module module-stream-restore restore_device=false

Speichern Sie die Datei und starten Sie PulseAudio neu:

pulseaudio -k

Die Auswahl der nativen Audiosenke in GJS ist für ein zukünftiges Cast-to-TV-Desktop-Add-On geplant, aber bis dahin müssen Sie diese manuelle Anpassung der PulseAudio-Konfigurationsdatei verwenden.

5. Übertragen Sie Ihren GNOME Shell-Desktop auf ein Chromecast-Gerät.

Sie können jetzt Ihren Linux-GNOME-Shell-Desktop auf einen Chromecast übertragen. Erweitern Sie im Systemmenü der GNOME-Shell Medien übertragen und klicken Sie dann auf Desktop.

Sobald Sie beginnen, Ihren Desktop auf das Chromecast-Gerät zu übertragen, sehen Sie einen gelb-orangenen Punkt (das bedeutet, dass der in GNOME Shell integrierte Bildschirmrekorder aktiv ist) sowie die Fernbedienung für das Cast-to-TV auf dem oberes Bedienfeld – von dort aus können Sie die Übertragung Ihres Desktops stoppen, indem Sie auf die Stopp-Schaltfläche drücken (sie wird erst angezeigt, wenn Sie mit der Übertragung beginnen).


Debian
  1. So erweitern Sie die Funktionalität Ihres Linux-Desktops mit PlexyDesk

  2. Die 5 besten GNOME-Shell-Erweiterungen für Ihren Linux-Desktop

  3. So installieren Sie Fedora 34 Gnome Schritt für Schritt mit Screenshots

  4. Wie verschiebt man ein Fenster zwischen Monitoren mit der Gnome-Shell?

  5. So aktivieren Sie die vorausschauende Eingabe auf Ihrem Linux-Desktop mit ibus-typing-booster

So installieren Sie Fedora 35 Gnome Schritt für Schritt mit Screenshots

So installieren Sie GNOME Desktop unter Debian 8

So installieren Sie GNOME Desktop unter Debian 10

Die 19 besten Gnome-Shell-Erweiterungen für Ihren Gnome-Desktop

So installieren Sie die GNOME-Desktopumgebung unter Debian 10

Wie integriere ich Sound in Desktop-Ereignisse?