Acho que o problema pode ser que Creative Live! Connect HD cam suporta apenas UVC1.1 que é bastante antigo; então talvez o driver V4l2 não reconheça isso. Consulte a entrada da Wikipédia para Webcams suportadas nativo h.264
Estou tentando enviar uma transmissão de vídeo da webcam H.264 via wifi para outro computador usando o gstreamer. Estou usando este tutorial como um guia . Eu estou usando um Creative Live! Cam Connect HD como minha webcam. O site afirma que a webcam possui um codificador H.264 on-board . Mas quando eu usei v4l2-ctl eu recebo o seguinte:
$ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
...
Index : 1
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : MJPEG
Mas quando eu uso o sinalizador -all recebo um formato de pixel diferente.
v4l2-ctl -d 1 --all
Driver Info (not using libv4l2):
Driver name : uvcvideo
Card type : Live! Cam Connect HD VF0750
Bus info : usb-0000:00:14.0-1
Driver version: 3.5.7
Capabilities : 0x04000001
Video Capture
Streaming
Format Video Capture:
Width/Height : 640/360
Pixel Format : 'YUYV'
Field : None
Bytes per Line: 1280
Size Image : 460800
Colorspace : SRGB
...
Não sei por que estou obtendo dois formatos de pixel diferentes (MJPG e YUYV), mas esperava ver o Pixel Format: 'H264' (compactado), como no tutorial ao qual fiz o link.
Estou executando o Ubuntu 12.1 com a versão do kernel 3.5.0 Alguém tem alguma idéia que meus problemas? Eu gostaria de usar o H.264 no MJPG para economizar largura de banda. Alguma idéia porque não detecta H.264? Obrigado.
Acho que o problema pode ser que Creative Live! Connect HD cam suporta apenas UVC1.1 que é bastante antigo; então talvez o driver V4l2 não reconheça isso. Consulte a entrada da Wikipédia para Webcams suportadas nativo h.264
Dois formatos de pixel diferentes (MJPG e YUYV) mostram que a câmera pode suportar esses formatos. MPEG para pacotes codificados (geralmente usados para enviar pela rede até o final do receptor) e YUYV para imagem RAW (não compactada) que é normalmente usada para Visualização Local. No entanto, você pode usar o H.264 em VIDIOC_S_FMT para obter o fluxo codificado em H.264.