Digamos que eu tenho um Rpi (B +) e quero que ele atue como Kiosk, onde um vídeo será reproduzido em um loop em tela cheia. O vídeo mudará programaticamente, por isso preciso de uma API para controlá-lo. Já fiz isso antes, em máquinas x86, sem problemas, em um aplicativo baseado na Web (Javascript e HTML5).
O problema que estou tendo é que nenhum navegador (aparentemente) está usando a GPU para decodificar o vídeo. O navegador da Web que suporte "Decodificação de vídeo acelerada por hardware" não pode reproduzir vídeos. Acabei de instalar o Raspbian (NOOBS) e o navegador deve reproduzir pelo menos o mesmo vídeo que no vídeo.
O Omxplayer executa bem, mas pisca quando faz um loop e mostra algum texto ("Procurar ...").
Como esse seria um projeto que envolveria cerca de 400 Raspberry PI (se puder fazer o que eu preciso) em diferentes locais, eu realmente preciso de uma solução sólida.
Existe uma maneira de ter um vídeo em loop, acelerado por gpu, em um navegador no RPi?
EDIT: Tentei vídeos mp4 / h.264 incorporados com uma etiqueta comum. Todo navegador falha ao reproduzir o vídeo. Epiphany e Chromium mostram apenas uma "área" preta e os controles. Nenhum vídeo. Midori recebe alguns quadros, mas o processador é superior. O YouTube / Vimeo também falha na reprodução.
EDIT 2: Depois de fazer uma nova instalação e definir a memória da GPU para 128 MB, em vez dos 64 MB padrão, consegui reproduzir um vídeo sem problemas no Epiphany. A CPU não atingiu 100% (70% -95%). Embora, quando tentei um vídeo em full hd, o desempenho diminuísse bastante (<1 FPS), mas a CPU estivesse em apenas 50%, o gargalo provavelmente era a memória. Vou escolher um RPI2 e testá-lo.
fonte
epiphany
envolveria "decodificação de vídeo acelerada por hardware", se for o caso.Respostas:
Sim, é possível, eu iniciei este projeto há algum tempo, mas tive que parar por causa do tempo insuficiente.
Este é o melhor resultado que pude obter (1080p): https://youtu.be/fVM1GRDhXGw . É baseado nesta biblioteca aberta: https://github.com/carlonluca/pi . Mais algumas informações aqui .
A demonstração usa essa biblioteca com o WebKit1 no QtWebKit, tudo rodando sem o X11. Parece muito mais difícil fazê-lo com o WebKit2. Infelizmente a qualidade não foi perfeita, não sei se é possível melhorá-la. No entanto, não vejo por que usar um navegador, se o desejo é apenas reproduzir um vídeo em tela cheia.
Observe que sou o autor do projeto, por isso estou relatando isso apenas porque o conheço. Pode haver um milhão de outras abordagens.
fonte