Como usar o celular como câmera no linux
TLDR
O que queremos fazer aqui é criar um dispositivo de loopback para captura de vídeo através da v4l2. Esse dispositivo irá receber a imagem da câmera de um dispositivo android. Desse modo poderemos usá-lo como webcam.
Esse é um post tutorial rápido de como utilizar o seu celular Android como webcam no linux. Para isso precisamos realizar as seguintes tarefas:
- Ativar "opções do desenvolvedor" e "Depuração por USB"
- Instalar dependências (
v4l-utilsev4l2loopback) - Instalar e configurar o
scrcpy
Ativar "opções do desenvolvedor" e "Depuração por USB"
Para o restante do tutorial funcionar, você precisa ativar a "depuração por USB" no seu dispositivo e isso só é possível se as "opções do desenvolvedor" estão configuradas. Como existem inúmeros dispositivos que rodam android, é mais fácil você aprender como faz na documentação oficial, mas lembre-se, você só precisa ativar "depuração por USB" nas "opções do desenvovedor".
Instalar dependências
v4l-utils
Depois de configurada a depuração por usb, iremos começar a instalação dos softwares no computador pelo v4l-utils, que é um conjunto de ferramentas para controlar dispositivos V4L2, que por sua vez é a API de vídeo do kernel Linux. Para a instalação, se você usa o fedora, como eu, utilize:
Para as demais distribuições, utilize o respectivo gerenciador de pacotes padrão.
v4l2loopback
O v4l2loopback é um driver que nos permitirá criar dispositivos V4L2 virtuais. Para instalar, você precisa clonar o repositório do projeto.
navegar até a pasta clonada:
Para mais informações, leia a documentação oficial.
Instalar e configurar o scrcpy
Depois que as dependências vamos instalar o scrcpy para que possaamos espelhar dispositivos Android (vídeo e áudio) conectados via USB ou TCP/IP. Para instalar, se você utiliza o fedora, basta utilizar o comando:
Para outras distribuições, favor consultar a documentação oficial.
Com o scrcpy instalado, você precisa conectar o dispositivo android via usb. Para testar, utilize o comando:
/dev/video5), que aparecerá com o nome "Câmera do celular". O parâmetro exclusive_caps=1 altera como as capacidades (capabilities) do dispositivo V4L2 são expostas para os aplicativos. Com isso os aplicativos enchergam o dispositivo como webcam real. Para verificar se o dispositivo foi criado, utilize o comando:
O dispositivo /dev/video5 deve aparecer na lista. Depois disso iremos iniciar o scrcpy e espelhar a imagem da câmera no dispositivo criado.
Através desse comando criamos uma câmera de dimensões 1280x720. Ela aparecerá como "Câmera do celular" nas aplicações. Pronto, agora você poderá utilizar a câmera do seu celular como webcam. Para deixar tudo ainda mais interessante, pode criar um bash script que una a criação do dispositivo de loopback e o espelhamento da câmera:
| camera.sh | |
|---|---|
Adicione permissões de execução chmod +x camera.sh e voilà, agora com um simples comando você pode utilizar seu celular como webcam de alta qualidade.
Se você notar erros ou enganos nesta publicação, não hesite em me contatar pelo e-mail madsonddias@gmail.com e terei o maior prazer em corrigi-los imediatamente!