Estou tentando descobrir uma maneira de obter um fluxo de vÃdeo de uma Canon EOS 600D para o meu sistema, basicamente usando a câmera como uma webcam. Embora a Canon ofereça um software chamado Canon EOS Utility para Windows e Mac, parece que eles não oferecem nada para Linux. Apenas conectar o sistema com micro USB permite acessar apenas as fotos e vÃdeos armazenados no cartão SD.
Existe alguma maneira de usar a Canon EOS 600D como uma webcam?
Não facilmente. Os dois caminhos para isso que as pessoas usaram são:
Use o software utilitário incluÃdo que inclui uma janela de exibição ao vivo e execute uma captura de software do que está nessa janela. Infelizmente, isso provavelmente não funcionará no Linux.
Use a saÃda HDMI da câmera e capture isso com hardware de captura.
Suspeito que, em ambos os casos, o vÃdeo de exibição ao vivo que você obterá será de definição padrão e/ou baixa qualidade e com capacidade limitada de fazer ajustes em itens como taxa de quadros, velocidade/ângulo do obturador, etc. Em algumas câmeras Canon, você pode descubra que a saÃda HDMI possui controles na tela, incluindo um retângulo de foco que não pode ser desabilitado mesmo no modo de exibição mÃnima.
gphoto2
pode capturar filmes de uma EOS 600D e estes podem ser encaminhados paraffmpeg
e consecutivamente para v4l2 para fornecer os vÃdeos como um fluxo de webcam padrão.Consulte https://www.youtube.com/watch?v=TsuY4o2zLVQ para obter instruções detalhadas.
Resumindo:
sudo modprobe v4l2loopback exclusive_caps=1 max_buffers=2
sudo apt install gphoto2 ffmpeg v4l2loopback-utils
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video1
Você pode ter que alterar o codec de vÃdeo (
rawvideo
), formato de pixel (yuv420p
) e dispositivo de vÃdeo de destino (/dev/video1
), mas depois disso, o fluxo de vÃdeo da câmera deve estar disponÃvel em/dev/video1
.