quarta-feira, 3 de maio de 2017

Netflix no Raspberry Pi 3 pela primeira vez (com vídeo de demonstração)

Netflix no Raspberry Pi 3

O tão sonhado (para alguns) Netflix... Desde o início do blog em 2013 vejo essa questão em aberto, aquela ponta que faltava nos media centers.

Enquanto alguns dizem ser impossível rodar de qualquer forma, eu sabia que era somente uma questão técnica.

O problema do Netflix é que ele utiliza DRM e para tanto precisa de bibliotecas que possam decodificar seu conteúdo sem (teoricamente) vazar ele.

Uma solução antiga muito utilizada para esses serviços era o Silverlight, mas que vem caindo em desuso devido à chegada do HTML5 e alternativas de bibliotecas que possuem DRM. No Linux a biblioteca utiliza uma solução chamada Widevine, que embora não tenha sido criada pelo Google, hoje pertence a ele após a aquisição da empresa em 2010.

Sendo uma tecnologia proprietária e de código fechado não há como rodar facilmente em qualquer dispositivo.

No Linux para x86/x64 o Firefox e Chrome por exemplo já acompanham a biblioteca. Para ARM vai depender muito do dispositivo.

A forma básica de se rodar é utilizar o navegador chromium em conjunto com as bibliotecas widevine do Chrome OS para Chromebook que também roda ARM.

Apesar disso há/haviam vários problemas de compatibilidade, versões do chromium não funcionando com ela, etc. Eu cheguei a tentar rodar no passado sem sucesso e acabei deixando de lado.

O Netflix de fato não roda oficialmente ainda no Raspberry Pi entretanto isso não quer dizer que não rode.

Como rodar o Netflix no Raspberry Pi


Lembrando que é necessário ter uma conta Netflix. Não nos responsabilizamos por qualquer problema que venha a ter com sua conta ou pelo conteúdo do pacote que será baixado, faça por sua conta e risco.

Pacotes .deb recentes já com a biblioteca e atalhos fazem funcionar de maneira fácil na placa.

Os créditos primários vão para thatguruguy no fórum do Raspberry Pi que entregou um pacote com as libs e atalhos. Essa versão infelizmente parece não funcionar no navegador atual (testei agora, lembram dos problemas?!). De todo modo, uma outra pessoa de nick kusti8 nos fez o favor de entregar um pacote já com uma versão do chromium, libwidevine e atalho.

Abaixo informo a versão de kernel que testei e sei que funcionou. Estou usando o Raspberry Pi 3 e rodando o Raspbian na última atualização: 2017-04-10.

$ uname -a
Linux raspberrypi 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux

Baixe o arquivo chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb e simplesmente instale.

$ wget https://github.com/kusti8/chromium-build/releases/download/netflix-1.0.0/chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb

$ sudo dpkg -i chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb

Após a instalação no menu Internet irá aparecer o atalho "Netflix-Launcher". Ele irá iniciar o Chromium já na página do Netflix e com o User-agent apropriado.

Netflix no Raspberry Pi 3

Iniciar essa página e logar era a parte fácil já que uma mudança no User-agent o fazia anteriormente.

Mas rodar o vídeo que é onde o plugin entra em cena somente agora que consegui:

Netflix no Raspberry Pi 3

Parece mentira? Pois é, mas mentira aqui só no primeiro de abril. Então veja o vídeo que fiz abaixo com seus próprios olhos (obs: o vídeo parece lento no início, mas é da própria série que inicia em câmera lenta, vejam até o final, péssima escolha pra demonstrar :( ).



Lembrando que estou utilizando o Raspberry Pi 3, na teoria funciona no 2B também, embora talvez não tenha o desempenho tão bom. Em outros modelos do Raspberry Pi não irá funcionar pois a biblioteca é feita para ARM V7 enquanto que os outros modelos utilizam um processador ARM v6.

A qualidade? Melhor do que esperado, praticamente sem lags na execução. Assisti uns 30 minutos ontem de um filme perfeitamente. Instale e tire suas próprias conclusões.

Querem algo mais sólido? Mandem uns tweets para o perfil do netflix. Eu já tentei :(

Atualização: Só para informar, rodei novamente hoje, verifiquei as estatísticas aqui e estava rodando à 720x480 x 23,9fps com alguns frame drops. Mas como disse acima, perfeitamente usável. Caso queira ver as estatísticas do seu basta apertar as teclas CTRL+ALT+SHIFT+D. Como o decoding está sendo realizado pela CPU é possível que tenha uma melhora com algum overclock, embora eu não tenha testado ainda.

Atualização 2: O teste aqui foi feito em uma tv de 1280×720p (resolução do X também), já há alguns relatos de que estão rodando "bem" entretanto houve um que em uma tv rodando o xorg em full hd (1080p) aconteceram alguns problemas/lags. Caso aconteça isso, altere a resolução do Raspberry Pi para 720p e refaça o teste. Obs: lembrando que aqui não estou falando da resolução dentro do Netflix.

Atualização 3: Quando forem testar para verificar a resolução e fps esperem alguns segundos ou um minuto. De início as vezes a resolução fica mais baixa que o normal (ao menos aqui) mas depois estabiliza.

Atualização 4: Para melhora no desempenho tente desativar o uBlock origin do lado direito do navegador, ao realizar alguns testes parece que ele tem afetado o desempenho não chegando com 720x com ele ativo.

Referências:
https://www.raspberrypi.org/forums/viewtopic.php?f=35&t=98559&start=100
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=176402

32 comentários:

  1. Esta com som, normal?
    No vídeo isso não ficou claro.

    Obrigado!

    ResponderExcluir
  2. Cara, estou pesquisando isso desde quando chegou a minha Raspberry Pi 3. Perdi noites tentando fazer o Netflix funcionar! Vou chegar em casa e testar isso. Eu tenho PiPplware 6.0, será que funcionaria com ele?

    ResponderExcluir
  3. Funciona perfeitamente, porém só consigo 512x384 é resolução, mas já está bom demais por rodar no pi.

    ResponderExcluir
    Respostas
    1. Uma obsservação que coloquei agora: as vezes aqui inicia com resolução mais baixa também, mas depois de alguns segundos (ou 1 min) estabiliza, veja aí se não acontece isso também.

      Excluir
  4. Alguma possibilidade de instalar esse pacote no OSMC e rodar ele por lá (launcher nativo)?

    ResponderExcluir
  5. Será que roda com OpenElec/Kodi?

    ResponderExcluir
  6. No meu ficou muito lento.
    Fez alguma configuração de alocar memória para vídeo diferente dá padrão?

    ResponderExcluir
    Respostas
    1. Não, o seu é o RPI3? Qual a resolução da sua TV/monitor?

      Excluir
  7. Excelente, funcionou corretamente. 720x480

    PS: TV de tubo usando a saida composto do Raspberry

    ResponderExcluir
  8. Show de bola, pra mim funcionou perfeitamente!
    Usei o Rasp Pi 3 com HDMI e resolucao 720, em 1024 ficou um pouco lento.
    No Rasp Pi Zero nem abriu, imagino que por ser bem mais lento.
    valeuu

    ResponderExcluir
    Respostas
    1. Ótimo! Obrigado pelo feedback!

      Excluir
    2. Em tempo: No RPIzero não vai abrir mesmo já que ele só roda executáveis ArmV6.

      Excluir
  9. uma pena so funcionar no 3, tenho modelo b =/

    ResponderExcluir
  10. Jovem no link dessse vídeo, o cara aumento a memória da GPU de 64 para 256, acha que fará diferença? https://www.youtube.com/watch?v=Ve9-7hhqycA

    ResponderExcluir
  11. funciona usando o recalbox?? Se sim tem como ajudar a instala-lo?

    ResponderExcluir
  12. Fiz no meu pi 3 funcionou
    primeiro vacilando eu fiz como root e obviamente nao ganhei atalho no menu, refiz como usuário pi e funfou

    ResponderExcluir
  13. Rodei no Raspberry Pi B Versão 2. Como estava numa versão antiga do Raspbian fiz uma atualização antes de instar o Chrome:
    sudo apt-get update
    sudo apt-get dist-upgrade

    Depois de instalar o Chrome entrou bem no Netflix, mas não rodou os vídeos.
    Então fui nas Extensões do Chrome e desativei alguns itens, principalmente o que bloqueavam os scripts. Mantive apenas aqueles do MP4 e do Youtube.
    Funcionou bem depois disso.

    ResponderExcluir
  14. Aparece que está faltando o widevinecdm e não roda o video

    ResponderExcluir
  15. Fiz agora e deu certo, excelente, estava há meses tentando fazer funcionar o netflix, obrigado

    ResponderExcluir
  16. Boa noite fiz aqui e deu certo, porem não sei se foi por causa disso mas os outros aparelhos conectados ao Wi-Fi caiu a conexão e só voltou depois de ter desligado o Raspberry pi3...

    ResponderExcluir
  17. Já existe fiz esse processo e funcionou perfeitamente, porém com o novo raspbian 9, o chomium vem na versão 60. Sabe informa se já tem um jeito de fazer nessa nova versão?

    ResponderExcluir
  18. Fiz o processo mas a imagem e som ficam pessimos. nao compensa.

    ResponderExcluir
  19. Já tenho a minha pi assim há uns 8 meses mas de tempos a tempos voltam os erros e não consigo visualizar os filmes. Só passa reinstala do o raspbian e fazendo o processo todo de novo. Alguém tem solução para isso?

    ResponderExcluir
  20. Quer ganhar dinheiro por este maravilhoso gadget? Aconselho você a tentar este é o lugar: https://777score.com.br/ , porque com ele, você pode começar a ganhar dinheiro em apostas desportivas. Aqui você pode obter o conhecimento necessário para começar a ganhar dinheiro.

    ResponderExcluir
  21. I want to advise you on how to choose the right musical instruments or which ones work best, and then I can advise you on a great website where you will find all the information in full https://myluthernet.luthersem.edu/ICS/Academics/Kairos/2010_Kairos/2014_FA-2010_Kairos-101/Full_Class_Discussion.jnz?portlet=Full_Class_Discussion&screen=PostView&screenType=change&id=d1ccf942-047c-4eba-adb3-15ec42a8aeaf about high-quality and affordable instruments for beginners at a pleasant and favorable price, you will certainly be interested in it. Come here and see for yourself.

    ResponderExcluir