Com o FFmpeg e o video4linux2
, você pode obter praticamente qualquer entrada da webcam . Certifique-se de usar uma versão recente de ffmpeg
da página de download ou compilando-se . Os tamanhos dos quadros da câmera e taxas de quadros podem ser verificados com:
v4l2-ctl --list-formats-ext
Por exemplo, se você descobriu qual a taxa de quadros e o tamanho da imagem que sua webcam oferece:
ffmpeg -f video4linux2 -r 25 -s 640x480 -i /dev/video0 \
-c:v rawvideo -f rawvideo -pix_fmt yuv420p -
Isso capturaria vídeo de 25 fps a 640 × 480 pixels da câmera em /dev/video0
e saída de quadros YUV brutos codificados com o formato de pixel planar YUV 4: 2: 0 para stdout. O codificador rawvideo
e o formato cuidam disso. Não haverá cabeçalhos.
O que você pode mudar aqui:
-
Defina um framerate ou -size diferente.
-
Aqui, o
-
no final envia os dados para o stdout, mas você também pode escolher um arquivo se desejar. -
Para ver quais outros formatos de pixel estão disponíveis, execute
ffmpeg -pix_fmts
. Sua ordem de bytes é explicada em fourcc.org . Se você realmente deseja dados RGB (embora duvide que essa seja a saída padrão da sua câmera), você pode usar-pix_fmt rgb24
, por exemplo.