Este artículo explica cómo usar YouTube en la televisión (https://youtube.com/tv) en una Raspberry Pi, y controlarla utilizando la aplicación de YouTube desde su dispositivo móvil, casi como si estuviera usando un Chromecast.
Una vez que configure todo, podrá usar el botón de reparto desde la aplicación de YouTube en su teléfono para conectarse a YouTube en la televisión que se ejecuta en su Raspberry Pi (usando el navegador web Chromium en modo quiosco), y use su teléfono como Remoto de YouTube. Podrá reproducir videos, agregar videos para hacer cola, cambiar el volumen usando las teclas de volumen del teléfono, etc. Además, varios teléfonos (por lo que varios usuarios) pueden conectarse, reproducir y agregar videos a la cola al mismo tiempo.
Tenga en cuenta que solo he probado esto usando teléfonos Android, por lo que no estoy seguro de si también funciona con iOS. Supongo que debería, pero no tengo ningún dispositivo iOS.
Nota importante. No confunda YouTube en la televisión (https://youtube.com/tv) con YouTube TV (https://tv.youtube.com). "YouTube en la televisión", o "YouTube for TV" es una interfaz web de YouTube diseñada para televisores inteligentes, y eso es lo que vamos a usar en un Raspberry Pi, mientras que YouTube TV es un servicio de transmisión de televisión que ofrece TV en vivo y en -Demand Video.
El uso de YouTube en la televisión en una Raspberry Pi tiene bastantes ventajas sobre el uso de un Chromecast, pero también algunas desventajas.
Ventajas del uso de YouTube en la televisión (https://youtube.com/tv) en una Raspberry Pi en lugar de un Chromecast (no estoy seguro de si todo se aplica al último Chromecast, tengo el Ultra Chromecast más antiguo):
- Puede usar un bloqueador de anuncios como Ublock Origin (viene preinstalado con el navegador de cromio en Raspberry Pi OS)-No más anuncios en YouTube (no, el Pi-Hole no es confiable en el bloqueo de los anuncios de YouTube, créanme, lo he intentado)
- La aplicación de YouTube en su teléfono no se desconecta de YouTube en la televisión después de un período de inactividad
- La aplicación de YouTube no se cierra después de un período de inactividad, por lo que los videos pausados permanecen en la pantalla indefinidamente
- Puede navegar a través de la aplicación de TV de YouTube en su teléfono (después de conectarse a YouTube en la televisión con su dispositivo móvil, haga clic en el icono de reparto y obtendrá un botón remoto que permite navegar a través de los videos, cambiar la configuración de video, etc. )
- Puede cambiar la calidad del video (que no es posible en un Chromecast) usando el control remoto que mencioné anteriormente
- Debería poder navegar por la interfaz de YouTube en la televisión utilizando el control remoto de su televisor, siempre que el televisor admita CEC, utilizando CEC-Client. Esto requiere algunos ajustes, y aún no he podido hacerlo. Aquí le mostramos cómo encender / apagar un televisor conectado a través de HDMI-CEC, por ejemplo.
Desventajas del uso de YouTube en la televisión en una Raspberry Pi en lugar de un Chromecast:
- Usar YouTube en la televisión en una Raspberry Pi es obviamente ... solo para YouTube, mientras que un Chromecast admite muchas otras plataformas de audio y video. Esta es una gran desatinción si usa muchas otras plataformas de audio/video, pero si solo desea esto para YouTube, usar YouTube en la televisión en una Raspberry Pi es una gran alternativa es
- La calidad del video puede ser más baja. Usando la extensión H264ify (instalada de forma predeterminada en Raspberry Pi OS; requerido para reproducción de video acelerado por hardware en YouTube) obtendrá una calidad de video máxima de 1080p30. Sin esta extensión, obtienes hasta 4K videos (pero no se reproducen correctamente en mi Raspberry Pi 4). Además, usando YouTube en la televisión en una Raspberry Pi, si un video es solo 1080p60, el video se degradará a 720p60
- La primera vez que conecte un teléfono a YouTube en la televisión, debe ingresar un PIN, y para esto necesita un mouse (o algún software para emular un mouse desde su teléfono o escritorio) en su Raspberry Pi para llegar al Página Pin. Una vez que un teléfono está conectado con un PIN, funciona como un Chromecast
Estos son todos los pros y los contras que podría pensar, pero podría haber otros. Realmente depende de la forma en que use esto y de lo que desea de él.
Es importante tener en cuenta que para probar todo esto, he usado una Raspberry Pi 4 con Raspberry Pi OS. No todo, desde las instrucciones a continuación, funcionará si usa una distribución de Linux diferente (por ejemplo, agregar programas al inicio no será lo mismo). No estoy seguro de qué tan bien los modelos de Raspberry Pi más antiguos pueden reproducir videos de YouTube. Además, no tiene que usar esto en una Raspberry Pi: podría usar en cualquier computadora que ejecute Linux, pero algunas partes de las instrucciones a continuación no funcionarán exactamente de la misma manera.
Configurar YouTube en la televisión (https://youtube.com/tv) con Chromium para iniciar el inicio en su Raspberry Pi
1. Instale el televisor de YouTube en la extensión de Chrome PC en el navegador de Chromium.
Puedes obtener la extensión delTienda web de Chrome.
Por defecto, visitar https://youtube.com/tv en un dispositivo que no sea un televisor redirige al sitio web regular de YouTube. Parece que Google realmente no quiere que usemos esto en otra cosa que no sea un televisor debido a ... probablemente bloqueadores de anuncios.
El uso de un agente de usuario de TV soluciona esto, pero los videos son 720p. Usando el TV de YouTube en la extensión de PC, https://youtube.com/tv deja de redirigir al YouTube normal, al tiempo que permite videos con una calidad superior a 720p. Todavía tendremos que usar un agente de usuario cuando se inicie el cromo en modo quiosco, porque omite el agente de usuario de esta extensión por alguna razón (esto no sucede cuando se inicia sin quiosco o modo de pantalla completa), pero usando esto lo hacemos ' obtendrá videos de mayor calidad.
2. Cree un script que inicie el navegador de Chromium en el modo quiosco y carga https://youtube.com/tv, con algunas configuraciones para optimizarlo para su uso con YouTube en la televisión.
Crea un script, llamémosloyt
, en~/.local/bin
.
Para asegurarse de que el~/.local/bin
La carpeta existe (y crea si no es así), ejecute este comando:
mkdir -p ~/.local/bin
Ahora crea un archivo llamadoyt
en~/.local/bin
, y ábralo con un editor de texto. Usaremos Nano Command Line Text Editor para abrirlo usando el siguiente comando:
nano ~/.local/bin/yt
En este archivo, pegue lo siguiente:
#!/bin/bash
sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
sed -i 's/"exit_type": "Crashed"/"exit_type": "None"/' ~/.config/chromium/Default/Preferences
sleep 5; chromium-browser --autoplay-policy=no-user-gesture-required --enable-extensions --user-agent="Mozilla/5.0(SMART-TV; Linux; Tizen 4.0.0.2) AppleWebkit/605.1.15 (KHTML, like Gecko) SamsungBrowser/9.2 TV Safari/605.1.15" --kiosk "https://www.youtube.com/tv" >/dev/null 2>&1 &
Esto es lo que esto hace:
- los 2
sed
Comandos (a través deRaspberry Pi stackexchange) modificar el cromoPreferences
Archivo como si Chromium saliera limpiamente, en caso de que el navegador realmente no saliera limpiamente. De esta manera, no obtienes la ventana emergente de restauración de la sesión en caso de que el navegador se bloquee, se apaga tu energía, etc. No estoy seguro de si esto realmente es necesario al lanzar Chromium en modo quiosco, pero creo que es mejor tener esto en el script que el cromo no se ha lanzado correctamente - La última línea:
sleep 5
se usa para esperar 5 segundos antes de comenzar el navegador de cromo. Agregaremos este script al inicio, por lo que esperaremos 5 segundos antes de comenzar el cromo, por lo que el Raspberry Pi tiene suficiente tiempo para conectarse a Internet. En caso de que tarda más para usted, modifique el valor del sueño aquí- A continuación, comenzamos a cromo usando las siguientes opciones:
--autoplay-policy=no-user-gesture-required
: Esto permite que Chromium autostariera el video. Sin esto, debe comenzar manualmente el primer video después de un reinicio de cromo, y esto no se puede hacer desde la aplicación de YouTube, por lo que necesitaría un teclado para hacer esto, o enviar una tecla usando algo comoxdotool
--enable-extensions
: Explanatorio por sí mismo: permite cargar extensiones, como el TV de YouTube en la extensión de PC, el origen de Ublock, H264ify, etc.--user-agent="Mozilla/5.0(SMART-TV; Linux; Tizen 4.0.0.2) AppleWebkit/605.1.15 (KHTML, like Gecko) SamsungBrowser/9.2 TV Safari/605.1.15"
: A pesar de que estamos utilizando el TV de YouTube en la extensión de Chrome de PC, si el cromo comienza en el modo de pantalla completa / quiosco, aún redirige a la interfaz regular del sitio web de YouTube. Así que estamos utilizando un agente de usuario de TV para que YouTube se quede encendidohttps://youtube.com/tv
--kiosk
: Ejecuta cromo en modo quiosco. Esto hace que comience en pantalla completa y deshabilite un poco de popus, como la ventana emergente de traducción, etc."https://www.youtube.com/tv"
: Esta es la URL que queremos abrir cuando comienza el cromo>/dev/null 2>&1
redirige stdout y stderr para que no vea ninguna salida en el terminal si ejecuta esto manualmente, y&
Mantiene la aplicación en funcionamiento
3. Agregue nuestro nuevo script al inicio.
Empiece por hacer el nuevoyt
Ejecutable de script:
chmod +x ~/.local/bin/yt
A continuación, edite el archivo Raspberry Pi OS AutoStarSart (~/.config/lxsession/LXDE-pi/autostart
) Usando un editor de texto: usando el siguiente comando, lo abriremos usando el editor de línea de comandos Nano:
nano ~/.config/lxsession/LXDE-pi/autostart
En este archivo, agregue la siguiente línea para autostart elyt
guion:
@bash /home/pi/.local/bin/yt
Cuando haya terminado, guarde el archivo (useCtrl + O
, entoncesEnter
Para guardarlo, seguido deCtrl + X
para salir de nano).
Es importante tener en cuenta que no podemos usar~/.local/bin/yt
En el archivo AutoStart. Necesitamos usar el camino completo alyt
guion. Entonces, si la ruta es diferente (no está utilizando el valor predeterminadopi
Usuario), ajuste esto a su sistema / nombre de usuario.
4. Lanza el cromo con YouTube en la televisión por primera vez.
Chromium con YouTube en la televisión se lanzará automáticamente en el inicio. Pero dado que no queremos reiniciar solo para comenzar, podemos iniciarlo manualmente. Cierre cualquier ventana de navegador de Chromium, luego abra un terminal y escriba:
~/.local/bin/yt &
5. Combina tu teléfono con YouTube en la televisión que se ejecuta en Raspberry Pi.
Con el navegador de Chromium en ejecución y https://www.youtube.com/tv abrir en su Raspberry Pi, vaya a Configuración (el icono de engranajes en el lado izquierdo inferior), luego haga clic enLink with TV code
, y verá un código en la pantalla de su televisor:
Ahora abra la aplicación de YouTube en su teléfono, haga clic en el icono de reparto en la parte superior de la aplicación y tendrá una opción que digaLink with TV code
Haga clic en esto e ingrese el código que ve en su televisor:
Hacer clicLink
¡Después de ingresar al código, y terminaste! Puede conectarse a YouTube en la televisión que se ejecuta en su Raspberry Pi y lanzar videos de YouTube desde su teléfono hasta conectarse al dispositivo recién agregado:
Esto pone a YouTube en la televisión en funcionamiento en su Raspberry Pi. Sin embargo, además de esto, también estoy usando algunos ajustes / optimizaciones, que también es posible que desee usar. Vea a continuación para más detalles.
Optimizaciones / ajustes para usar YouTube en la televisión a través de Chromium en Raspberry Pi
1. Habilite la aceleración de hardware en el navegador de cromo que se ejecuta en Raspberry Pi.
Esta es probablemente la optimización / ajuste más importante. Usando esto, los videos de YouTube deberían usar mucho menos CPU, mientras mantiene su Raspberry Pi más refrigerador. Consulte el siguiente artículo de Linux Uprising para obtener instrucciones exactas:
Cómo habilitar la aceleración de hardware en cromo en Raspberry Pi OS
2. Autohide el cursor del mouse cuando está inactivo.
El cursor del mouse aparece en la parte superior de YouTube en la televisión. Para llevarlo a autohide, estoy usandosencillo, una reescritura de lo popularunclutter
herramienta, pero utilizando la extensión X11-XFixes (y con algunas mejoras). También puede usar el puesto original (está en los repositorios), sin embargo, personalmente prefiero este tenedor. Tenga en cuenta que su uso no es el mismo, así que si desea usar el puesto original, veraquí.
Para instalar Unclutter-xFixes, instale Git si aún no lo ha hecho, así como las dependencias de Unclutter-XFixes:
sudo apt install git libx11-dev libxfixes-dev libxi-dev libev-dev asciidoc
A continuación, clone el repositorio de GitHub de Unclutter-XFixes, compile e instale la herramienta:
git clone https://github.com/Airblader/unclutter-xfixes
cd unclutter-xfixes
make
sudo make install
Ahora para autohide el cursor del mouse cuando esté inactivo, deberá agregarunclutter -b
al inicio. Para hacer esto, abra el archivo Raspberry Pi OS AutoStarsart con un editor de texto: utilizaremos el editor de texto Nano Console a continuación:
nano ~/.config/lxsession/LXDE-pi/autostart
Al final del archivo, agregue:
@unclutter -b
Cuando haya terminado, guarde el archivo (useCtrl + O
, entoncesEnter
Para guardarlo, seguido deCtrl + X
para salir de nano). O espere y guárdelo después del siguiente paso, ya que estamos agregando otro comando para AutoStart.
3. Desactivar el blanking de la pantalla
Para deshabilitar el blanking de pantalla, una vez más tendremos que agregar un comando al archivo AutoStart. Así que abre el~/.config/lxsession/LXDE-pi/autostart
Archivo con nano:
nano ~/.config/lxsession/LXDE-pi/autostart
Y al final del archivo, agregue:
@xset -dpms s off
Y finalmente, guarde el archivo (useCtrl + O
, entoncesEnter
Para guardarlo, seguido deCtrl + X
salir).
4. Instale el Daemon de sincronización de perfil para cargar el perfil de cromo en TMPFS (RAM).
Daemon de sincronización de perfiles una herramienta para mantener el perfil de su navegador en TMPFS y sincronizarlo periódicamente con su disco físico. Esto acelera el cromo al tiempo que hace menos escrituras en el disco, por lo que la SDCARD / USB de su Raspberry Pi dura más. Use esto si su Raspberry Pi tiene suficiente RAM.
Instalarlo usando:
sudo apt install profile-sync-daemon
A continuación, ejecute PSD por primera vez para crear el archivo de configuración del usuario:
psd
Ahora edite el archivo de configuración de PSD usando un editor de texto, por ejemplo, Nano:
nano ~/.config/psd/psd.conf
En este archivo, sin consolidad elBROWSERS
línea y agregarchromium
A eso, así que se ve así:
BROWSERS="chromium"
Ahora puede habilitar y comenzar PSD:
systemctl --user enable psdsystemctl --user start psd
[[Editar]]Cromo y algunos otros navegadoresTenga su caché almacenado en una ubicación diferente al perfil del navegador. Así que también cargamos el caché de cromo en RAM (usando TMPF), editando/etc/fstab
Uso del editor de la consola Nano:
sudo nano /etc/fstab
Y agregar la siguiente línea al archivo (no editara nada más, un archivo fstab malo significa que su Pi ya no se iniciará):
tmpfs /home/pi/.cache/chromium tmpfs user,exec,uid=1000,gid=1000,size=500m 0 0
Editar elsize
Valor con la cantidad de MB que desea usar para el caché de cromo almacenado en RAM. Estoy usando 500 aquí, pero es posible que desee usar un valor diferente, dependiendo de la cantidad de RAM disponible para su Raspberry Pi.
También he desactivado el intercambio en mi Raspberry Pi para minimizar las escrituras de disco, pero no estoy seguro de si esa es una buena idea, por lo que no estoy agregando instrucciones para eso aquí. Puede encontrar cómo hacer esto con una búsqueda simple.