Então, o que estou tentando fazer pode ser um pouco complicado, pois estou encontrando meu caminho.
Deixe-me explicar o básico:
1 - Eu tenho uma câmera DSLR e eu quero usá-la como webcam (mas v4l2 não pode fazer um dispositivo / dev / videoX com ela, então nenhum aplicativo de internet pode usá-la, apenas aplicações específicas como Darktable)
2 - Eu posso pegar quadros ao vivo da câmera através do gphoto2 (mas eu não tenho certeza sobre como canalizá-los, e se eu precisar escalar e codificar / decodificá-los)
3 - Eu posso usar o v4l2loopback para criar um dispositivo de webcam falso (como / dev / video1) e eu posso usar o gst-launch para enviar dados para ele (mas não tenho certeza de como posso canalizar quadros para ele)
E o que eu sei sobre isso:
1 - Eu posso enviar os quadros da câmera para a stdout assim:
gphoto2 --capture-movie --stdout
2 - Eu posso enviar dados de uma fonte de teste de vídeo para o dispositivo de webcam falsa assim:
gst-launch-0.10 videotestsrc ! v4l2sink device=/dev/video1
3 - o formato usado pelo gphoto2 é mjpg (formato JPEG)
Então, você pode me ajudar com isso?
Como posso pipilar os quadros do gphoto2 para o gst-launch e usá-los com o v4l2sink para enviá-los para o / dev / video1 (assim, poderei usá-lo como webcam)?
Obrigado!