Linux

GNOME Kabuk Masaüstünüzü Bir Chromecast’e (Sesli, Wayland / X11 Destekli) Cast to TV Kullanma


TV’ye yayınla, dosyaları ve daha fazlasını Chromecast cihazlarına (ve daha fazlasına) yayınlamak için kullanılan bir GNOME Kabuğu uzantısı, hem Wayland hem de X11 ile çalışan sesle masaüstünüzü yayınlama desteği ile güncellendi. Bu, yardımcı bir eklenti yardımı ile yapılır TV’ye Yayınla – Masaüstü Akışı Eklentisive GNOME uzantıları web sitesinde ilk kez piyasaya sürüldü.

Masaüstü akışının çalışması için, yalnızca GNOME Shell 3.36 ve 3.34’ü (örneğin Ubuntu 20.04 ve 19.10 ve Fedora 31 ve 32) destekleyen TV’ye Yayınla sürüm 14 veya daha yenisine ihtiyacınız vardır. Bu, bunun Ubuntu 18.04 veya Fedora 30 gibi daha eski GNOME Shell sürümlerini kullanan eski Linux dağıtımları için mevcut olmadığı anlamına gelir.

GNOME Shell masaüstünü Chromecast'e aktarın

Bu makalede, GNOME Shell masaüstünüzü hem X11 hem de Wayland ile çalışan sesli bir Chromecast cihazına yayınlamak için Cast to TV’nin (ve yardımcı eklentisinin) nasıl kullanılacağı açıklanmaktadır. Adım adım talimatlar Debian / Ubuntu / Pop! _OS, Fedora ve Arch Linux / Manjaro içindir (adımlar GNOME Kabuğu tabanlı herhangi bir Linux dağıtımında aynı olmalıdır, ancak paketlerin farklı adları olabilir).

Resmi olarak, Google Chrome’u kullanarak Linux masaüstünüzü Chromecast’e aktarabilirsiniz. TV’ye yayınlama, Chromecast masaüstü akışı için Google Chrome’a ​​göre bazı avantajlara sahiptir:

  • Google’ın tarayıcısına bağlı değil
  • Google Chrome ile Linux’ta çalışmayan çalışma sesiyle masaüstünüze akış sağlar
  • Wayland’ı destekliyor, bu muhtemelen masaüstünüzü Wayland’dan bir Chromecast cihazına yayınlamanın tek yolu
  • özelleştirilebilir video bit hızı ve fps’ye sahiptir
  • donanım hızlandırması vardır (Intel / AMD için VAAPI ve Nvidia grafikleri için NVENC)
  • ayrıca fare imlecinizi gösterme veya gizleme seçeneğine de sahip olursunuz.

Google Chrome’un Cast to TV’ye göre de birkaç avantajı vardır: daha düşük akış gecikmesine sahiptir (TV’ye Cast şu anda yaklaşık 3 saniyelik bir gecikmeye sahiptir) ve GNOME Kabuğu dışındaki masaüstü ortamlarında çalışır. Bu yüzden ihtiyaçlarınıza en uygun çözümü kullanın.

TV’ye yayınlama, masaüstünüzü Chromecast’e yayınlamaktan çok daha fazlasını yapabilir. Ayrıca isteğe bağlı kod dönüştürme, düşük CPU kullanımı için GPU hızlandırmalı video kodlama, altyazılar ve daha fazlası ile yerel resimler, video ve ses dosyaları yayınlayabilir. Ayrıntılar için proje sayfasına göz atın.

Şunlar da hoşunuza gidebilir: Firefox için Chromecast Uzantısı fx_cast 0.0.5 YouTube İçin Destek, Yerel Medya İçin Altyazılar Ekler.

Debian / Ubuntu / Pop! _OS, Fedora veya Arch Linux / Manjaro’da masaüstünüzü Chromecast’e yayınlamak için TV’ye Yayınla özelliğini ayarlama

Yayınlamak için TV’ye Yayınla özelliğini kullanmak üzere GNOME Shell masaüstü (yalnızca sürüm 3.34 veya 3.36!) Chromecast’e yayınlamak için Cast to TV sürüm 14 (veya daha yenisi) ve Cast to TV Masaüstü Eklentisi yüklemeniz, bazı GStreamer eklentilerini yüklemeniz ve bazı PulseAudio ayarlarını değiştirmeniz gerekir. Debian / Ubuntu, Fedora veya Arch Linux / Manjaro’da ayrıntılı olarak yapmanız gereken budur.

Bu adımları kullanarak, tüm TV’ye Yayın işlevselliği etkinleştirilir, böylece yalnızca masaüstünüzü yayınlama yeteneğiniz olmaz, aynı zamanda GNOME Shell masaüstünüzden video, müzik ve resim yayınlayabilirsiniz.

Linux’tan bir Chromecast’e akış yapmanın diğer yolları:

1. Gereken TV’ye Yayınla ve TV’ye Yayınla – Masaüstü Eklenti bağımlılıklarını yükleyin.

TV’ye yayın uzantısı, bazı modüller için npm ve Node.js ve kod dönüştürme için FFmpeg gerektirir. TV’ye Yayınla – Masaüstü Akış Eklentisi’nin de bazı bağımlılıkları vardır: GStreamer tabanı, iyi, kötü ve çirkin eklentiler.

PulseAudio (ve pacmd) de gereklidir, ancak bunların çoğu durumda zaten kurulu olması gerekir.

Bağımlılıkları kullanarak şunları yükleyin:

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

FFmpeg’i ve bazı GStreamer eklentilerini yüklemek için RPM Fusion deposunu etkinleştirmeniz gerekir (bu havuzu henüz etkinleştirmediyseniz), paketleri yükleyin:

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}
sudo pacman -S ffmpeg npm nodejs gst-plugins-{base,good,bad,ugly}


2. İsteğe bağlı bağımlılıkları kurun.

Bazı isteğe bağlı bağımlılıklar da vardır. Nvidia sürücüleri (NVENC) ile donanım hızlandırmalı kayıt kullanırken, GStreamer1-plugins-bad paketinde zaten mevcut olduğu için ekstra bir paket yüklemenize gerek yoktur (Linux dağıtımlarınızın bunu etkinleştirip etkinleştirmediğine bağlıdır, mevcut olmayabilir) ), VAAPI (Intel / AMD) için GSttreamer1-vaapi paketini yüklemeniz gerekir:

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

GStreamer’ın donanım hızlandırmasının (hem VAAPI hem de NVENC) uygulanmasının “bir çeşit deneysel“, Cast to TV Desktop Add-on wiki notunu kullanıyor ve kullanmak GNOME Shell’in çökmesine neden olabilir. GNOME Shell 3.36 masaüstümü Chromecast’e aktarma testimde donanım hızlandırmayı kullanmayı denemedim, çünkü Nvidia grafiklerim desteklemiyor NVENC.

Bu nedenle, masaüstünüz çökerse veya donanım hızlandırmayı kullanırken masaüstünüzü bir Chromecast’e yayınlayamıyorsanız devre dışı bırakın (Cast to TV preferences -> Add-ons > Desktop -> Hardware acceleration: None).

Debian / Ubuntu’da isteğe bağlı bir bağımlılık daha var. GStreamer eklentileri fdkaac ve faac AAC ses kodlayıcıları varsayılan olarak etkindir, yalnızca voaacenc mevcut olmak, ki bu oldukça eskidir. Debian / Ubuntu’da daha iyi ses akışı için FFmpeg GStreamer eklentisini kullanabilirsiniz (son Debian / Ubuntu sürümlerinde FFmpeg kullanıyor olsa da, libav paket adında olmak), avenc_aac AAC ses kodlaması. Bu paketi yükle:

sudo apt install gstreamer1.0-libav

3. TV’ye Yayınla ve TV Masaüstü Yayın Eklentisine Yayınla’yı yükleyin.

Uzantılar GNOME Shell uzantıları web sitesinde bulunabilir. Linux dağıtımlarınıza GNOME Shell uzantılarının yüklenmesine izin veriyorsa, GNOME Yazılımını kullanarak Cast to TV’yi ve ardından TV’ye Cast Masaüstü Akış Eklentisi’ni yükleyebilirsiniz.

Veya GNOME wiki’sindeki talimatları takip edebilirsiniz. GNOME Kabuğunu Google Chrome ve Firefox ile entegre etmeve sonra bu 2 web tarayıcısını kullanarak GNOME Shell uzantılarını yükleyebilirsiniz. Bu talimatları uyguladıktan sonra, TV uzantısı sayfasına yayınla GNOME Shell uzantıları web sitesinden yükleyin ve yüklemek için web sayfasının sağ üst köşesindeki KAPALI düğmesini tıklayın. Sonra aynısını TV’ye Yayınla – Masaüstü Akışı Eklentisi.

Bazı npm modüllerini kurmanız gerektiğinden, uzantıların yüklenmesi bu noktada yapılmaz. TV’ye Yayınla tercihlerini açmanız gerekir.

Burada önemli bir not almalıyım. Cast to TV v14 sürüm notları, GNOME Shell 3.36.1’deki bir hatanın, GNOME sistem menüsünden uzantı tercihlerinin açılmasını engellediğini belirtmektedir (“Cast ayarları”). GNOME Shell 3.36.1 ile Ubuntu 20.04’te bu benim için olmaz, muhtemelen bu işe yarayan bazı yama sayesinde, ancak başka bir Linux dağıtımında bu sorunla karşılaşırsanız, TV’yi Cast tercihlerini kullanarak açın. yeni GNOME Uzantıları uygulaması (GNOME 3.36 ile tanıtıldı).

TV kurulum npm modüllerine yayınla

TV’ye Yayınla tercihlerinde, Modules sekmesini tıklayın ve tıklayın Install npm modules pencerenin altında (yukarıdaki ekran görüntüsü). Her ikisi de bazı npm modülleri yüklemeyi gerektirdiğinden, hem TV’ye Yayınla hem de TV’ye Masaüstü Eklentisini kurduktan sonra bunu yapın.

4. Masaüstünüzün sesle Chromecast’e akışını sağlayın.

GNOME Shell masaüstü akışının Chromecast cihazlarına sesle çalışmasını sağlamak için iki gereklilik vardır.

İlk sisteminizde, TV’ye Yayınla uzantı tercihlerinde bulunan bir AAC eklentisi seçmektir. Sisteminizde hangi AAC GStreamer eklentilerinin bulunduğunu görmek için şunu kullanın (hepsine ihtiyacınız yoktur, biri yeterlidir):

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

Çıktı olarak “Böyle bir öğe veya eklenti yok” Ubuntu’da:

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

Bu, eklentinin kullanılamadığı anlamına gelir, bu nedenle masaüstünüzü bir Chromecast’e sesle aktarmak için TV’ye Yayınla ayarlarında kullanamazsınız.

Bunun yerine şu şekilde bir çıktı alırsanız:

$ 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 , Ronald Bultje 

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

Bu, sisteminizde belirli bir eklentinin bulunduğu anlamına gelir ve bunu Cast to TV uzantı tercihlerinden (Add-ons -> Desktop -> Audio encoder). Ayrıca etkinleştir Stream with audio masaüstünüzü ses ile yayınlamak için:

Cast masaüstü linux tercihleri

Debian ve Ubuntu’da, fdkaac ve faac GStreamer’da mevcut değil, bu yüzden yüklemeyi tavsiye ettim gstreamer1.0-libav, kullanabilmek avenc_aac. Arch Linux / Manjaro’da, her ikisi de fdkaac ve faac GStreamer tabanını kurduktan sonra mevcut olmalı, iyi, kötü ve çirkin eklentiler bu yüzden bunlardan birini kullanın. Fedora’da, GStreamer eklentilerini yükledikten sonra, fdkaac mümkün olduğu kadar kullanın.

TV’ye Yayınla tercihlerinde kullanılabilir bir AAC kodlayıcı seçmezseniz, masaüstünüzü Chromecast’e yayınlamak başarısız olur (video yayınlaması bile yapmazsınız). Herhangi bir nedenle sisteminizde herhangi bir AAC kodlayıcı yoksa, en azından masaüstü akışının çalışmasını sağlamak için ses akışını (TV’ye Yayınla tercihlerinde bulunur) devre dışı bırakın.

Ve ikinci GNOME Shell masaüstünüzü sesli bir Chromecast’e yayınlamak için gereken gereksinim PulseAudio’yu değiştirmektir /etc/pulse/default.pa Kök olarak herhangi bir metin düzenleyiciyle yapılandırma, örneğin varsayılan GNOME metin düzenleyicisi olan Gedit (Metin Düzenleyicisi):

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

ve aşağıdakileri içeren satırı değiştirin:

load-module module-stream-restore

için:

load-module module-stream-restore restore_device=false

Dosyayı kaydedin ve PulseAudio’yu yeniden başlatın:

pulseaudio -k

GJS’deki yerel ses havuzu seçimi, gelecekteki bir TV’ye Masaüstü Eklentisi için planlanmıştır, ancak o zamana kadar PulseAudio yapılandırma dosyasının bu manuel ayarını kullanmanız gerekir.

5. GNOME Shell masaüstünüzü bir Chromecast cihazına yayınlayın.

TV masaüstü akışına yayınla

TV uzaktan masaüstü akışına yayınla

Artık Linux GNOME Shell masaüstünüzü bir Chromecast’e yayınlayabilirsiniz. GNOME Kabuk sistemi menüsünden Cast Media öğesini genişletin ve ardından Masaüstü öğesine tıklayın.

Masaüstünüzü Chromecast cihazına yayınlamaya başladığınızda, sarı-turuncu bir nokta (GNOME Shell yerleşik ekran kaydedicinin etkin olduğu anlamına gelir) ve üst paneldeki TV uzaktan kumandasına yayın yapın – buradan durdur düğmesine basarak masaüstünüzde yayın yapmayı durdurun (yayınlamaya başlayana kadar bu gösterilmez).

Daha Fazla Göster
Kapalı