segunda-feira, 2 dezembro , 2024

vMix com 4 WebCam via USB

vMix com 4 WebCam via USB

Outro dia no Grupo de Usuários do VMix no Facebook, um usuário perguntou o seguinte:

“Existe uma maneira de fazer o VMIX funcionar com várias webcams USB nas configurações 720 ou 1080? Consegui fazer com que até quatro webcams funcionassem apenas se estivessem configuradas para resoluções mais baixas do que isso. As portas USB 3.1 e USB-C fornecem largura de banda mais do que suficiente, mas sempre fornece uma mensagem de erro de largura de banda USB quando as webcams são configuradas para resoluções mais altas.” M.S.

Devido à minha longa exploração de webcams, senti que estava especialmente bem posicionado para responder a essa questão. Afinal, quantas pessoas não têm um monte de WebCams paradas em casa uma coleção desses itens à mão? Embora eu tenha respondido na trilha de comentários no facebook, acho que vale a pena compartilhar a informação aqui também.

Não é incomum que as pessoas generalizem que isso simplesmente não pode ser feito. Ou que requer um PC tradicional com placas de expansão USB dedicadas. Embora isso possa funcionar, pode não ser necessário. As generalizações me incomodam. Como a maioria das coisas, o problema está nos detalhes.

Experimento # 1

Com apenas um pouco de atenção aos detalhes, você pode ter várias webcams conectadas a um PC, operando em 720p30 ou até 1080p30. Aqui está a prova, um vídeo de amostra 4K feito usando quatro câmeras conectadas por USB relativamente comuns … ou seja, webcams. 

Aqui estão os detalhes sobre o vídeo de exemplo mostrado acima:

Criado usando vMix 4K, conjunto de projeto para 2160p30

Executando em um  i7-5775C,  GTX 750Ti, 16GB RAM , SSD 512 GB, 

a) Hub USB 3.0 conectado à porta USB 3.0 do PC.
b) Câmera USB Logitech C922 – conectado à porta # 1 no Hub USB 3
c) Câmera USB Logitech Brio – conectada à porta # 2 no Hub USB 3
d) Câmera USB Logitech Rally – conectada à porta # 3 no Hub USB 3
e) Câmera USB Logitech C920 – conectada à porta USB 2 no PC

No vMix – todas as webcams foram definidas para 1920x1080p30 e codificação de vídeo MJPEG . O sistema mostra CPU em cerca de 40%, o que parece normal. O projeto foi gravado em disco em 2160p a 20 Mbps usando codificação de hardware.

Experimento # 2

Um sinal de vídeo de 1080p30 não compactado (YUY2) requer cerca de 1,5 Gbps. Se assumirmos que a compactação MJPEG oferece uma compactação de cerca de 10: 1, o mesmo sinal deve requerer apenas 150 kbps. Devo ser capaz de consolidar todas as quatro câmeras no hub USB, carregando assim apenas uma porta USB 3 no PC.

Na prática, isso provou ser instável. Três câmeras são estáveis e utilizáveis. Adicionar uma quarta Câmera ao Hub USB torna o arranjo instável.

Experimento # 3

Acontece que o usuário usou um PC com as especificações não muito diferente da que estou usando . Embora a que estou usando seja uma unidade de segunda geração (i5-3427U, 8 GB, SSD de 256 GB, Intel 4000) de 2013 e a sua geração 5 (i7-7600U, 8 GB, 265 GB SSD, Intel HD Graphics 620). Resolvi mudar as câmeras para o Notebook para ver o que poderia ser feito.

Meu antigo PC tem uma CPU i5 e uma única porta USB 3.0. Acontece que ele pode lidar com três webcams configuradas para codificação 720p30 e MJPEG. Mesmo assim a  CPU chega a ficam em constantes 50%.

Configurar as câmeras para 1080p30 sobrecarregou a CPU e tornou o computador claramente não utilizável.

Voltando à pergunta original: Sim! Você pode usar pelo menos quatro câmeras conectadas por USB conectadas a um único PC, rodando em 1080p30, se usar compactação MJPEG nas conexões USB.

Fonte: 
bit.ly/3qnot3p
Autor: Michael Graves
Data de Publicação do Original em Inglês: Abril de 2019