Vídeo da Logitech C920 travando no OBS do Ubuntu Linux2 min leitura

tela de configuração da webcam no programa OBS

Quando estava fazendo alguns testes com alguns softwares de gravação de vídeo, como o OBS Studio ou o GUVCviewer, o vídeo travava muito. O estranho era que o problema não ocorria quando fazia videoconferência pelo Zoom ou Appear.in.

Pesquisando no Google por “logitech c920 obs ubuntu performance“, encontrei uma resposta no fórum do Manjaro que falava para alterar a configuração do formato de vídeo de entrada para YV12 (emulated). Pronto, problema resolvido!

Fiz abaixo um vídeo para demonstrar o problema que eu estava tendo, veja como os movimentos ficam todos “travados” em relação ao áudio. Fazer qualquer movimento mais rápido era impossível.

A configuração padrão da câmera é YUYV 4:2:2 e ainda não consegui encontrar o motivo deste problema acontecer.

Durante minha pesquisa, descobri como ver os formatos que a câmera suporta e tive a seguinte saída:

$ v4l2-ctl --list-formats --device 2
 ioctl: VIDIOC_ENUM_FMT
     Type: Video Capture
     [0]: 'YUYV' (YUYV 4:2:2)
     [1]: 'H264' (H.264, compressed)
     [2]: 'MJPG' (Motion-JPEG, compressed)

Aparentemente o formato que estava travando é suportando pela câmera. Verifiquei também todas as informações adicionais dela:

$ v4l2-ctl --all --device 2
 Driver Info:
     Driver name      : uvcvideo
     Card type        : HD Pro Webcam C920
     Bus info         : usb-0000:00:14.0-4
     Driver version   : 5.0.15
     Capabilities     : 0x84a00001
         Video Capture
         Metadata Capture
         Streaming
         Extended Pix Format
         Device Capabilities
     Device Caps      : 0x04200001
         Video Capture
         Streaming
         Extended Pix Format
 Priority: 2
 Video input : 0 (Camera 1: ok)
 Format Video Capture:
     Width/Height      : 1920/1080
     Pixel Format      : 'MJPG' (Motion-JPEG)
     Field             : None
     Bytes per Line    : 0
     Size Image        : 4147200
     Colorspace        : sRGB
     Transfer Function : Default (maps to sRGB)
     YCbCr/HSV Encoding: Default (maps to ITU-R 601)
     Quantization      : Default (maps to Full Range)
     Flags             : 
(...)

Também não identifiquei nada relevante nessas informações. Como consegui resolver o problema, acabei parando minha pesquisa por aí.

Em uma publicação no fórum do OBS encontrei alguém falando que em webcams o formato interno utilizado geralmente é MJPEG e que emulando um formato de vídeo no OBS pode reduzir a banda (bandwidth) dos dispositivos USB e possibilitar uma maior resolução/framerate.

Se você tiver uma ideia do porque o problema está ocorrendo, deixe um comentário abaixo para matar a minha curiosidade.

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo

Faça parte do Kosmos!

Se inscreva na minha newsletter intergalática e receba conteúdo exclusivo!