GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo transmitir su escritorio GNOME shell a un Chromecast (con audio, compatibilidad con Wayland / X11) con Cast to TV

Transferido a la TV, una extensión de shell de GNOME para transmitir archivos y más en dispositivos Chromecast (y más), se actualizó recientemente con soporte para transmitir su escritorio con sonido que funciona tanto con Wayland como con X11. Esto se hace con la ayuda de un complemento auxiliar llamado Broadcast to TV – Desktop Stream Add-on, que recientemente se lanzó por primera vez en el sitio web de extensiones de GNOME.

Para que funcione la transmisión de escritorio, necesita Cast to TV versión 14 o superior, que solo es compatible con GNOME Shell 3.36 y 3.34 (por ejemplo, Ubuntu 20.04 y 19.10 y Fedora 31 y 32). Esto significa que esto no está disponible para distribuciones de Linux anteriores que usan versiones de shell de GNOME anteriores, como Ubuntu 18.04 o Fedora 30.

Este artículo explica cómo usar Cast to TV (y su complemento auxiliar) para transmitir su escritorio GNOME Shell con audio a un dispositivo Chromecast que funciona tanto con X11 como con Wayland. ¡Las instrucciones paso a paso se aplican a Debian/Ubuntu/Pop! _OS, Fedora y Arch Linux/Manjaro (los pasos deben ser los mismos para todas las distribuciones de Linux basadas en GNOME Shell, pero los paquetes pueden tener nombres diferentes).

Oficialmente, puede transmitir su escritorio Linux a un Chromecast usando Google Chrome. Sin embargo, Cast to TV tiene algunas ventajas sobre Google Chrome para la transmisión de escritorio de Chromecast:

  • no está vinculado al navegador de Google
  • Transmite su escritorio con audio de trabajo que no funciona en Linux con Google Chrome
  • Admite Wayland. Esta es probablemente la única forma de enviar tu escritorio a un dispositivo Wayland Chromecast
  • tiene una tasa de bits de video y fps personalizables
  • tiene aceleración de hardware (VAAPI para Intel/AMD y NVENC para gráficos Nvidia)
  • y también tiene la opción de mostrar u ocultar el puntero del mouse.


Google Chrome también tiene algunas ventajas sobre Cast to TV:tiene un retraso de transmisión menor (Cast to TV actualmente tiene un retraso de alrededor de 3 segundos) y funciona con otros entornos de escritorio además de GNOME Shell. Así que utilice la solución que mejor se adapte a sus necesidades.

Transmitir a la TV puede hacer mucho más que transmitir su escritorio a un Chromecast. También puede transferir imágenes locales, archivos de video y audio con transcodificación opcional, codificación de video acelerada por GPU para bajo uso de CPU, subtítulos y más. Puede encontrar más información en la página del proyecto.

También te puede interesar:Extensión de Chromecast para Firefox fx_cast 0.0.5 Agrega soporte para YouTube y subtítulos para medios locales.

Configura Cast to TV para transmitir tu escritorio a un Chromecast, en Debian/Ubuntu/Pop. _OS, Fedora o Arch Linux/Manjaro

Cómo usar Cast to TV para transmitir tu escritorio GNOME Shell (¡solo versión 3.34 o 3.36!) para usar un Chromecast, debe instalar Cast to TV versión 14 (o posterior) y el complemento de escritorio Cast to TV, instalar algunos complementos de GStreamer y modificar algunas configuraciones de PulseAudio. Esto es lo que debe hacer en detalle en Debian/Ubuntu, Fedora o Arch Linux/Manjaro.

Estos pasos habilitarán toda la funcionalidad Cast to TV para que pueda transmitir no solo su escritorio sino también videos, música e imágenes desde su escritorio GNOME Shell.

Otras formas de transmitir a un Chromecast de Linux:

  • CATT, un reproductor Chromecast de línea de comandos
  • Gnomecast, una aplicación GUI para transmitir archivos de audio y video locales a un Chromecast

1. Instale las dependencias requeridas de Cast to TV y Cast to TV:Desktop Add-on.

La extensión Cast-to-TV requiere npm y Node.js para algunos módulos y FFmpeg para la transcodificación. Cast to TV:Desktop Stream Add-on también tiene algunas dependencias:la base de GStreamer, complementos buenos, malos y feos.

PulseAudio (y pacmd) también son necesarios, pero en la mayoría de los casos ya deberían estar instalados.

Instale las dependencias con:

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

  • Fedora:

Deberá habilitar el repositorio RPM Fusion para instalar FFmpeg y algunos complementos de GStreamer (si aún no ha habilitado ese repositorio), luego instale los paquetes:

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. Instale las dependencias opcionales.

También hay algunas dependencias opcionales. Para utilizar la Grabación acelerada por hardware con los controladores de Nvidia (NVENC), no necesita instalar un paquete adicional, ya que está disponible en el paquete GStreamer1-plugins-bad (pero depende de si sus distribuciones de Linux lo permiten, pero puede que no). estar disponible), para VAAPI (Intel / AMD) necesita instalar el paquete GSttreamer1-vaapi:

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

  • Fedora:
sudo dnf install gstreamer1-vaapi

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

Es muy importante tener en cuenta que la implementación de GStreamer de aceleración de hardware (tanto VAAPI como NVENC) “algo experimental “señala el wiki del complemento Cast to TV Desktop, y su uso puede bloquear GNOME Shell. No probé la aceleración de hardware en mi prueba para transmitir mi escritorio GNOME Shell 3.36 a un Chromecast porque mis gráficos Nvidia no son compatibles con este NVENC.

Entonces, si su escritorio falla o no puede enviar su escritorio a un Chromecast mientras usa la aceleración de hardware, apáguelo (Cast to TV preferences -> Add-ons > Desktop -> Hardware acceleration: None ).

Hay otra dependencia opcional bajo Debian/Ubuntu. Los complementos de GStreamer no tienen el fdkaac y faac Codificador de audio AAC habilitado de forma predeterminada, solo con voaacenc disponible, que es bastante antiguo. Para una mejor transmisión de audio en Debian/Ubuntu, puede usar el complemento FFmpeg GStreamer (que usa FFmpeg en las versiones más nuevas de Debian/Ubuntu, aunque libav incluido en el nombre del paquete), que brinda soporte para avenc_aac Codificación de audio AAC. Instale este paquete:

sudo apt install gstreamer1.0-libav

3. Instale el complemento Cast to TV y Cast to TV Desktop Stream.

Las extensiones están disponibles en el sitio web de extensiones de GNOME Shell. Puede instalar Cast to TV seguido de Cast to TV Desktop Stream Add-on usando el software GNOME si le permite instalar extensiones de GNOME Shell en sus distribuciones de Linux.

O siga las instrucciones de GNOME Wiki para obtener Integrar GNOME Shell con Google Chrome y Firefox, y luego puede instalar las extensiones de GNOME Shell usando estos 2 navegadores web. Después de seguir estas instrucciones, visite la página Transferido a la extensión de TV desde el sitio web de extensiones de GNOME Shell y haga clic en el botón APAGADO en la esquina superior derecha del sitio web para instalarlo. Luego haga lo mismo para ellos Transmitir a TV:Complemento de transmisión de escritorio.

La instalación de las extensiones aún no está completa en este momento, ya que debe instalar algunos módulos npm. Debes abrir la configuración para transmitir a la TV.

Tengo un punto importante que hacer aquí. Las notas de lanzamiento de Cast to TV v14 mencionan que un error en GNOME Shell 3.36.1 impide que la configuración de la extensión se abra desde el menú del sistema de GNOME ("Configuración de transmisión"). Esto no me sucede en Ubuntu 20.04 con GNOME Shell 3.36.1, probablemente gracias a un parche que hace que esta nueva aplicación de extensiones de GNOME funcione (presentada con GNOME 3.36).

En la configuración de "Broadcast to TV", cambia a Modules Tabula y haz clic en Install npm modules en la parte inferior de la ventana (captura de pantalla arriba). Haga esto después de haber instalado Cast to TV y Cast to TV Desktop Add-on, ya que ambos requieren que instale algunos módulos npm.

4. Habilite la transmisión de su escritorio con audio al Chromecast.

Hay dos requisitos para que la transmisión de escritorio de GNOME Shell a dispositivos Chromecast funcione con audio.

El primero es seleccionar un complemento AAC disponible en su sistema en las preferencias de la extensión Cast to TV. Para ver qué complementos AAC GStreamer están disponibles en su sistema, use (no los necesita todos, uno es suficiente):

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

Si obtiene "No existe tal elemento o complemento" como resultado, p. B. en Ubuntu:

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

Eso significa que el complemento no está disponible, por lo que no podrá usarlo en la configuración de Cast to TV para transmitir su escritorio con audio a un Chromecast.

En cambio, si obtiene un resultado como este:

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

Esto significa que un complemento específico está disponible en su sistema y puede seleccionarlo en la configuración de la extensión Cast to TV (Add-ons -> Desktop -> Audio encoder ). Activar también Stream with audio para transmitir su escritorio con audio:

En Debian y Ubuntu, fdkaac y faac no están disponibles en GStreamer, por lo que recomiendo instalarlos gstreamer1.0-libav poder usar avenc_aac . Bajo Arch Linux / Manjaro ambos fdkaac y faac debería estar disponible después de instalar la base de GStreamer, complementos buenos, malos y feos, así que use uno de ellos. En Fedora, debe tener después de instalar los complementos de GStreamer fdkaac como disponible, así que úsalo.

Si no selecciona un codificador AAC disponible en la configuración de Cast to TV, la transmisión de su escritorio a un Chromecast fallará (ni siquiera obtendrá una transmisión de video). Si, por alguna razón, no hay un codificador AAC disponible en su sistema, desactive la transmisión de audio (disponible en Configuración para Transmitir a TV) para que al menos funcione la transmisión de escritorio.

Y el segundo Para transmitir su escritorio GNOME Shell a un Chromecast con audio, debe cambiar PulseAudio /etc/pulse/default.pa Configuración con cualquier editor de texto como root, por ejemplo Gedit (Text Editor), el editor de texto estándar de GNOME:

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

y cambie la línea con:

load-module module-stream-restore

a:

load-module module-stream-restore restore_device=false

Guarde el archivo y reinicie PulseAudio:

pulseaudio -k

La selección del sumidero de audio nativo en GJS está prevista para un futuro complemento de escritorio de Cast to TV, pero hasta entonces tendrá que usar este ajuste manual del archivo de configuración de PulseAudio.

5. Transmita su escritorio GNOME Shell a un dispositivo Chromecast.

Ahora está listo para convertir su escritorio Linux GNOME Shell en un Chromecast. Desde el menú del sistema GNOME Shell, expanda Cast Media, luego haga clic en Escritorio.

Tan pronto como comience a enviar su escritorio al dispositivo Chromecast, verá un punto amarillo anaranjado (esto significa que la grabadora de pantalla integrada de GNOME Shell está activa), así como el control remoto para Cast-to-TV en el panel de control superior:desde allí, puede detener la transferencia de su escritorio presionando el botón de detener (no aparecerá hasta que comience la transferencia).


Debian
  1. Cómo ampliar la funcionalidad de su escritorio Linux con PlexyDesk

  2. Las 5 mejores extensiones de GNOME Shell para su escritorio Linux

  3. Cómo instalar Fedora 34 Gnome paso a paso con capturas de pantalla

  4. ¿Cómo mover una ventana entre monitores con Gnome Shell?

  5. Cómo habilitar la entrada predictiva en su escritorio Linux con ibus-typing-booster

Cómo instalar Fedora 35 Gnome paso a paso con capturas de pantalla

Cómo instalar el escritorio GNOME en Debian 8

Cómo instalar el escritorio GNOME en Debian 10

Las 19 mejores extensiones de Gnome Shell para su escritorio Gnome

Cómo instalar el entorno de escritorio GNOME en Debian 10

¿Cómo integrar el sonido con los eventos de escritorio?