Criando vídeos estéreo sincronizados usando webcams

Estou usando o OpenCV para capturar fluxos de vídeo de duas webcams USB (Microsoft LifeCam Studio) no Ubuntu 14.04. Estou usando um código VideoCapture muito simples (fonte aqui) e estou tentando exibir pelo menos dois vídeos sincronizados entre si.

Eu usei aplicativos de cronômetro para Android (UltraChron Stopwatch Lite eCronômetro) no meu Samsung Galaxy S3 mini para perceber que minhas imagens visualizadas estão fora de sincronia (mostram horários diferentes no cronômetro).

Os quadros são sincronizados talvez em 50% do tempo. As diferenças de tempo de quadro que recebo são de 0 a cerca de 300ms, com uma média de 120ms. Parece que a quantidade de tempo limite usada tem muito pouco efeito na sincronização (o mesmo para 1000ms ou 2000ms). Tentei minimizar o tempo limite (waitKey (1) para que o loop OpenCV funcionasse)) e li todas as X-iterações do loop - isso deu resultados piores que o waitKey (1000). Eu corro em FullHD, mas reduzir a resolução para 640x480 não teve efeito.

Um resultado ideal seria um fluxo de vídeo estéreo 100% sincronizado com X FPS. Como eu disse, até agora uso o OpenCV para visualizar imagens estáticas de vídeo, mas não me importo de usar outra coisa para obter o resultado desejado (também pode estar no Windows).

Obrigado pela ajuda antecipadamente!

EDITAR: Na minha pesquisa por hardware de baixo custo, afirmo que provavelmente é possível fazer hackers de hardware comuns (link aqui) e injete um único sinal de relógio em vários módulos da câmera simultaneamente para obter a sincronização desejada. O cara que fez isso parece ter desenvolvido suaPlaca da câmera GENLOCKed (chamada NerdCam1) e até umplaca de câmera estéreo sincronizada que ele agora é vendido por cerca de € 200.

No entanto, tenho quase zero capacidade de hackers de hardware. Também não tenho certeza se essa injeção de relógio é possível para resoluções acima do padrão NTSC / PAL (como parece ser uma solução "analógica"?). Além disso, eu preferiria uma opção de linha de base variável em que as duas câmeras não fossem soldadas em uma única placa.

questionAnswers(1)

yourAnswerToTheQuestion