Problemas ao gravar vídeo da minha webcam Logitech C920

Problemas ao gravar vídeo da minha webcam Logitech C920

Estou tentando gravar um vídeo de 1080 a 30FPS de uma webcam Logitech C920. Simples, certo? Bem, aparentemente não.

Primeiro, tentei em meu desktop rodando 16.04 usando o aplicativo Cheese integrado do Ubuntu. A visualização transmite perfeitamente bem a 30FPS, mas assim que começo a gravar, a taxa de quadros cai drasticamente para provavelmente cerca de ~15FPS (não sei exatamente, já que o Cheese não fornece um medidor de FPS).

Em seguida, tentei novamente em meu desktop rodando 16.04 usando guvcview. Infelizmente, a versão nos repositórios padrão para 16.04, 2.02, tem umerroo que faz com que ele grave vídeo como um único quadro estático. Arghh... então instalei 2.05a partir de um PPA não oficial. Isso resolveu o bug mencionado acima, no entanto, quando vou gravar vídeo (usando H.264 do codificador de hardware da câmera), o primeiro segundo ou mais do vídeo grava perfeitamente, mas então a taxa de quadros cai para entre 3 e 5 FPS.

Por fim, para ter certeza de que não era apenas um problema com meu desktop, instalei guvcviewa versão 2.0518.04 em meu laptop, mas mais uma vez, quando vou gravar vídeo (usando H.264 do codificador de hardware da câmera) o primeiro segundo ou então o vídeo grava perfeitamente, mas a taxa de quadros cai para entre 3 e 5 FPS.

Então, o que diabos está acontecendo aqui? Isso é um problema de libuvccompatibilidade com o Logitech C920? Eu sei que não é um problema de hardware com pouca potência, já que tenho uma CPU AMD de 6 núcleos em meu desktop e um i7 de 3ª geração quad-core em meu laptop.

Responder1

Eu descobri como fazê-lo funcionar com guvcview.

eu encontreiesta postagemque mencionou que o problema era a guvcviewrecodificação do fluxo da câmera. Por que isso causou a horrível queda na taxa de quadros é um mistério para mim, já que meu uso de CPU era extremamente baixo...

De qualquer forma, a solução é dizer guvcviewpara usar o stream bruto da câmera:

insira a descrição da imagem aqui

Observe que o formato que você instrui o programa a recodificar (ou não) é totalmente separado do formato que você instrui a transmitir da câmera:

insira a descrição da imagem aqui

Além disso, por outro lado, parece que não tenho ideia de como ajustar o grande número de parâmetros H.264 guvcviewou que o codificador H.264 de hardware no Logitech C920 simplesmente não é tão bom. Gravei um clipe de 1080p30 em MJPEG (que resultou em cerca de 60Mb/s de dados) e transcodifiquei-o em 10Mb/s H.264 usando Veags Pro na minha caixa do Windows, e o resultado foi muito superior ao streaming da webcam diretamente em H. .264, também a 10Mb/s.

informação relacionada