나는 Creative Live Cam Connect HD(ID: 041e:4093)를 가지고 있으며 이 웹캠에는 온보드 H.264 인코더가 있습니다. 불행하게도 v4l2는 MJPG 형식의 피드만 입력합니다.
$ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
...
Index : 1
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : MJPEG
기본적으로 H.264 소스를 얻으려면 이 웹캠을 사용해야 합니다. 내 컴퓨터에서 소스를 인코딩하기 위해 Gstreamer를 사용하지 않고도 온보드 인코더를 사용하는 데 사용할 수 있는 다른 드라이버가 있습니까?
내가 원하는 것을 수행하는 사전 구축된 드라이버가 없기 때문에 직접 작성하려고 합니다. Linux 드라이버 작성을 위한 많은 리소스를 찾았지만 특별히 웹캠을 위한 리소스는 아닙니다. 몇 가지 리소스를 알려주시거나 제가 해야 할 일을 간략하게 설명해 주실 수 있나요? 나는 이전에 드라이버를 작성한 적이 없습니다.
답변1
에서:http://sourceforge.net/p/linux-uvc/mailman/linux-uvc-devel/?viewmonth=201303(~80%)
어떤 커널 버전을 사용하고 있습니까?
내가 기억하는 한, 3.2(혹은 3.3인가요?)부터 uvc 드라이버에는 h264 지원이 있어야 합니다.
v4l2-ctl에 MJPG 이외의 항목이 나열되지 않으면 카메라 자체가 H264 원시 스트림을 지원하지 않고 MJPG 프레임에 포함된 H264만 지원하기 때문일 수 있습니다(Skype/Windows가 h264 인코딩 카메라에 사용하는 방식입니다).
uvch64_src를 사용해 보시기 바랍니다(참조 http://kakaroto.homelinux.net/2012/09/uvc-h264-encoding-cameras-support-in-gstreamer/)
h264를 지원한다면 사용할 수 있을 것입니다(비록 해당 카메라를 테스트한 적은 없지만).