Este artigo explica como usar o YouTube Na TV (https://youtube.com/tv) em um Raspberry PI e controlá-lo usando o aplicativo YouTube do seu dispositivo móvel, quase como se você estiver usando um cromecast.
Depois de configurar tudo, você poderá usar o botão de transmissão no aplicativo do YouTube no seu telefone para se conectar ao YouTube na TV em execução no seu Raspberry Pi (usando o navegador da Web Chromium no modo de quiosque) e usar seu telefone como um remoto do YouTube. Você poderá reproduzir vídeos, adicionar vídeos à lista de reprodução, alterar o volume usando as teclas de volume do telefone, etc. Além disso, vários telefones (vários usuários) podem se conectar, reproduzir e adicionar vídeos à fila ao mesmo tempo.
Note que eu só testei isso usando telefones Android, então não tenho certeza se também funciona com o iOS. Eu acho que deveria, mas eu não possuo nenhum dispositivo iOS.
Nota importante. Não confunda o YouTube na TV (https://youtube.com/tv) com o YouTube TV (https://tv.youtube.com) . "YouTube na TV", ou "YouTube for TV" é uma interface Web YouTube projetada para TVs inteligentes, e é isso que vamos usar em um Raspberry PI, enquanto o YouTube TV é um serviço de televisão de streaming que oferece TV ao vivo e sob demanda.
O uso do YouTube na TV em um Raspberry PI tem algumas vantagens sobre o uso de um cromecast, mas também algumas desvantagens.
Vantagens de usar o YouTube na TV (https://youtube.com/tv) em um PI de framboesa em vez de um cromecast:
Desvantagens de usar o YouTube na TV em um Raspberry PI em vez de um cromecast:
Estes são todos os prós e contras que eu poderia pensar, mas pode haver outros. Isso realmente depende da maneira como você usa isso e o que você quer dele.
É importante notar que para testar tudo isso, usei um Raspberry Pi 4 com Raspberry Pi OS. Nem todas as instruções abaixo funcionarão se você usar uma distribuição Linux diferente (por exemplo, adicionar programas à inicialização não será a mesma). Não tenho certeza de quão bem mais velhos modelos de Raspberry PI são capazes de reproduzir vídeos do YouTube. Além disso, você não precisa usar isso em um Raspberry PI - você poderia usar em qualquer computador que executa o Linux, mas algumas partes das instruções abaixo não funcionam exatamente da mesma maneira.
1. Instale a extensão YouTube na TV no navegador Chromium.
Você pode obter a extensão do Chrome Web Store.
Por padrão, visitando https://youtube.com/tv em um dispositivo diferente de uma TV redireciona para o site do YouTube normal. Parece que o Google realmente não quer que usemos isso em qualquer outra coisa que não seja uma TV por causa de ... provavelmente bloqueadores de anúncios.
Usar um agente de usuário de TV corrige isso, mas os vídeos são 720p. Usando a extensão para o YouTube na TV, https://youtube.com/tv para de redirecionar para o YouTube regular, enquanto também permite vídeos com uma qualidade superior a 720p. Ainda precisaremos usar um agente de usuário ao iniciar o Chromium no modo de quiosque, porque ele ignora o agente do usuário desta extensão por algum motivo (isso não acontece quando é iniciado sem quiosque ou modo de tela cheia), mas usando isso teremos vídeos de maior qualidade.
2. Crie um script que lança navegador Chromium no modo de quiosque e carrega https://youtube.com/tv, com algumas configurações para otimizá-la para o uso com o YouTube na TV.
Crie um script, vamos chamá-lo de yt
, em ~/.local/bin
.
Para garantir que a pasta ~/.local/bin exista (e seja criada se não existir), execute este comando:
mkdir -p ~/.local/bin
Agora rie um arquivo chamado yt
em ~/.local/bin
, e abra com um editor de texto. Usaremos o editor de texto da linha de comando Nano para abri-lo usando o seguinte comando:
nano ~/.local/bin/yt
Neste arquivo, cole o seguinte:
#!/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 &
Aqui é o que isso faz:
sed
(via Raspberry PI Stackexchange) modificam o arquivo do Chromium Preferences
como se o Chromium encerrasse de forma limpa, caso o navegador realmente não saísse de forma limpa. Desta forma você não recebe o pop-up de restauração de sessão caso o navegador falhe, sua energia se apaga, etc. Não tenho certeza se isso é realmente necessário ao lançar o Chromium no modo de quiosque, mas acho que é melhor ter isso em o script do que o Chromium não ser lançado corretamentesleep 5
é usado para aguardar 5 segundos antes de iniciar o navegador Chromium. Vamos adicionar este script à inicialização, então vamos esperar 5 segundos antes de iniciar o Chromium, então o Raspberry PI tem tempo suficiente para se conectar à Internet. Caso leve mais tempo para você, modifique o valor do sleep aqui--autoplay-policy=no-user-gesture-required
: Isso permite que o Chromium reproduza vídeos automaticamente. Sem isso, você precisa iniciar manualmente o primeiro vídeo após uma reinicialização do Chromium, e isso não pode ser feito a partir do aplicativo do YouTube, então você precisaria de um teclado para fazer isso ou enviar uma chave usando algo como xdotool
--enable-extensions
: Autoexplicativo - permite carregar extensões, como a YouTube na TV, Unblock Origin, 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"
: Apesar de estarmos usando a extensão YouTube na TV, se o Chromium começar no modo de tela inteira/quiosque, ele ainda redireciona para a interface do site regular do YouTube. Então estamos usando um agente de usuário de TV para fazer o YouTube ficar no https://youtube.com/tv
--kiosk
: Executa o Chromium no modo de quiosque. Isso faz com que ele comece na tela inteira e desativa algum popus, como o pop-up de tradução, etc."https://www.youtube.com/tv"
: Este é o URL que queremos abrir quando o Chromium começa
>/dev/null 2>&1
redireciona stdout e stderr para que você não veja nenhuma saída no terminal se você executar isto manualmente, e &
mantem o aplicativo em execução3. Adicione nosso novo script à inicialização.
Comece fazendo o novo executável de script yt
:
chmod +x ~/.local/bin/yt
Agora, edite o arquivo AutoStart do Raspberry Pi OS (~/.config/lxsession/LXDE-pi/autostart
) usando um editor de texto - Usando o comando abaixo, vamos abri-lo usando o editor Nano:
nano ~/.config/lxsession/LXDE-pi/autostart
Neste arquivo, adicione a seguinte linha ao AutoStart para o script yt
:
@bash /home/pi/.local/bin/yt
Quando terminar, salve o arquivo (use Ctrl + O
, então Enter
para salvá-lo, seguido por Ctrl + X
para sair nano).
É importante notar que não podemos usar ~/.local/bin/yt
no arquivo AutoStart. Precisamos usar o caminho completo para o script yt
. Portanto, se o caminho for diferente (você não está usando o usuário padrão pi
), ajuste isso ao seu sistema/nome de usuário.
4. Inicie o Chromium com o YouTube na TV pela primeira vez.
O Chromium com o YouTube na TV será iniciado automaticamente na inicialização. Mas como não queremos reiniciar apenas para começar, podemos começar manualmente. Feche todas as janelas do navegador Chromium em execução e abra um terminal e digite:
~/.local/bin/yt &
5. Emparelhe seu telefone com o YouTube na TV em execução no Raspberry Pi.
Com o navegador Chromium em execução e https://www.youtube.com/tv aberto no seu Raspberry Pi, vá para Configurações (o ícone de engrenagem no lado inferior esquerdo) e, em seguida, clique em Link with TV code
, e você verá um código na tela da sua TV:
Agora abra o aplicativo do YouTube no seu telefone, clique no ícone de transmissão na parte superior do aplicativo, e você terá uma opção que diz Link with TV code
.
Clique nele e digite o código que você vê na sua TV:
Clique em Link
depois de inserir o código e pronto! Você pode se conectar ao YouTube na TV para executar seus vídeos no Raspberry Pi e lançá-lo do seu telefone para ele, conectando-se ao dispositivo recém-adicionado:
Este torna o YouTube na TV funcional no seu Raspberry PI. No entanto, além disso, também estou usando alguns ajustes/otimizações, que você também pode querer usar. Veja abaixo para detalhes.
1. Ativar aceleração de hardware no navegador Chromium em execução no Raspberry PI.
Esta é provavelmente a melhoria mais importante. Usando isso, os vídeos do YouTube devem usar muito menos CPU, mantendo seu Raspberry PI menos quente. Confira o seguinte artigo para obter instruções exatas:
Como habilitar a aceleração de hardware no Chromium no Raspberry Pi OS
2. Esconder automaticamente o cursor do mouse quando inativo.
O cursor do mouse aparece no topo do YouTube na TV. Para fazer ele se esconder, estou usando unclutter-xfixes, uma reescrita da popular ferramenta unclutter
, mas usando a extensão x11-xfixes (e com algumas melhorias). Você também pode usar o unclutter original (está nos repositórios), no entanto, eu pessoalmente prefiro este fork. Observe que o uso deles não é o mesmo, se você quiser usar o unclutter original, consulte aqui.
Para instalar o unclutter-xfixes, instale o Git se você ainda não tiver, assim como as dependências do unclutter-xfixes:
sudo apt install git libx11-dev libxfixes-dev libxi-dev libev-dev asciidoc
Depois, clone o repositório do Github do unclutter-xfixes, compile e instale a ferramenta:
git clone https://github.com/Airblader/unclutter-xfixescd unclutter-xfixesmakesudo make install
Agora para esconder automaticamente o cursor do mouse quando ocioso, você precisará adicionar unclutter -b
na inicialização. Para fazer isso, abra o arquivo AutoStart do Raspberry Pi OS com um editor de texto - vamos usar o Nano aqui:
nano ~/.config/lxsession/LXDE-pi/autostart
No final do arquivo, adicionar:
@unclutter -b
Quando terminar, salve o arquivo (use Ctrl + O
, depois Enter
para salvá-lo, seguido por Ctrl + X
para sair do nano). Ou aguarde e salve-o após o próximo passo, já que estamos adicionando um outro comando para o AutoStart.
3. Desativar desligamento da tela
Para desativar o desligamento de tela, mais uma vez teremos que adicionar um comando ao arquivo AutoStart. Então abra o arquivo ~/.config/lxsession/LXDE-pi/autostart
com Nano:
nano ~/.config/lxsession/LXDE-pi/autostart
e no final do arquivo, adicione:
@xset -dpms s off
e finalmente, salve o arquivo (use Ctrl + O
, então Enter
para salvá-lo, seguido por Ctrl + X
para sair).
4. Instalar Profile Sync Daemon para carregar o Perfil do Chromium em tmpfs (RAM).
Profile Sync Daemon é uma ferramenta para manter seu perfil do navegador em tmpfs
e sincroniza periodicamente de volta ao seu disco físico. Isso acelera o Chromium ao mesmo tempo que faz menos gravações no disco, para que o SDCard/USB do seu Raspberry PI dure por mais tempo. Use isso se o seu Raspberry Pi tiver RAM suficiente.
Instale-o usando:
sudo apt install profile-sync-daemon
Agora, execute PSD pela primeira vez, a fim de criar o arquivo de configuração do usuário:
psd
Agora edite o arquivo de configuração do PSD usando um editor de texto:
nano ~/.config/psd/psd.conf
Neste arquivo, descomente a linha BROWSERS
, e adicione chromium
a ele, então fica assim:
BROWSERS="chromium"
Agora você pode ativar e iniciar o PSD:
systemctl --user enable psdsystemctl --user start psd
Eu também desabilitei a swap no meu Raspberry PI, a fim de minimizar as gravações de disco, mas não tenho certeza se é uma boa ideia, então eu não estou adicionando instruções para isso aqui. Você pode encontrar como fazer isso com uma pesquisa simples.
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
How To Cast YouTube Videos From Your Phone To Raspberry Pi Using YouTube On TV (youtube.com/tv)