[Projeto] Video Viewer - Um app para exibir dispositivos de imagem no Linux (e outros SOs)

Gostaria de compartilhar com a comunidade [mais] um projeto pessoal que eu desenvolvi, e que talvez seja útil para mais alguém

Há um bom tempo eu tenho procurado algum app para poder usar meu tablet - um modesto Lenovo Tab - como tela para jogar meus consoles (SNES, Xbox, PS2, etc). Tenho uma placa de captura EasyCap e uma daquelas “genéricas” HDMI Video Capture, só precisava conectar ele(s) via OTG no tablet e… encontrar algum app que “transformasse” o tablet em uma tela portátil para esses dispositivos.

Caçando um poooouco, encontrei um app chamado USB Camera na Google Play, que também tem versão Pro, que não tem anúncios e tem suporte a PiP. Testei por umas duas semanas a versão free, e comprei o Pro (sim, comprei um app pra Android kk).

Depois de umas semanas usando o app, começei a ponderar por que não fazia isso no PC. Foi a mesma coisa, conectava a EasyCap e/ou a HDMI Video Capture no PC e não tinha nenhum app simples pra “só” abrir e jogar um Forza ou um Super Mario World em algum momento ocioso do trabalho, ou enquanto alguma build de app estivesse rodando e eu precisasse esperar.

Testei usar o VLC, não consegui fazer o áudio funcionar e a qualidade da imagem era ruim. Precisava fazer uma “gambiarra” com o Alsa/PulseAudio e loopback pra poder ouvir o áudio do console. Cheese e outros apps de câmera mostravam a imagem, mas não tinham áudio. Até que, depois de um tempo de ter “desistido” disso (deixava o tablet na mesa, mas a bateria dele não tancava mais de 6h com a tela ligada 100% do tempo kk), resolvi arriscar e desenvolver um app eu mesmo pra Linux que fizesse isso. E assim nasceu o Video Viewer.


A ideia era simples: um programa que eu pudesse só abrir, escolher um dispositivo de captura e teria a tela do Xbox no PC. Fiz ele em pouco mais de 2h, e gostei PRA CAR***O do resultado. Fiz uma build em .deb e outra em .AppImage e subi no meu GitHub. Depois conversei com um amigo meu que queria fazer a mesma coisa - conectar o Xbox no PC e só jogar -, e usava o OBS pra isso. Mostrei pra ele o Video Viewer, e já surgiu uma build pro Windows também.

Disso, fui dando uma pequena evoluída nele. Adicionei controles de volume na tela, suporte ao PiP, suporte a tela cheia, agora tem build pra macOS também… E cara, tá muito legal. E, até o momento que eu escrevo esse post, já implementei também uma escolha de resolução (bem útil para dispositivos de captura que performam melhor em resoluções mais baixas - tipo o meu que roda o Xbox em 60fps se estiver em 720p, mas 1080 fica a 30 e cheio de quebras nas imagens), um “atalho” para alterar a tela cheia com duplo clique e esconder o mouse depois de algum tempo que escolheu a fonte de vídeo. Só falta gerar as builds e subir um novo release.

Gostei desse projetinho, simples mas bem funcional. Fiz ele com ElectronJS e tecnologias web.

Gostaria muito de compartilhar com a comunidade e receber um feedback sobre o projeto. Se mais alguém quiser usar ele para esse tipo de finalidade, estou totalmente aberto à sugestões de melhorias e novas features. Ou se quiser fazer um fork e implementar sua própria versão, fique à vontade :slight_smile:

Link do projeto no GitHub: GitHub - RBFraphael/video-viewer: A video input devices viewer made with Electron
Download: Release 1.3.0 · RBFraphael/video-viewer · GitHub

Próximo passo é entender como funciona o Flathub e subir ele lá pra suportar mais distros e ampliar a disponibilidade.

Valeu! :smiley:

2 curtidas