Thanks for any hints on how and when this will be resolved.
The problem is that the C922 does not advertise its H264 stream over UVC whereas the C920 does. This is because Logitech did not want to enable general use of the H264 for the C922, but instead wanted you to buy the camera with something like Skype which knows internally how to get hold of the data. The reason for this peculiar setup was to enable the camera to display high-resolution image previews on the local machine during video-conferencing; compatible applications send the H264 over the network but display the local camera preview using the MJPEG stream.
Technically speaking, the H264 data does come out of the C922, but you have to stream it as MJPEG. It appears that, parsing each MJPEG frame, the H264 is attached to each still image as an JFIF extension packet (e.g. APP1). Check the JFIF specification for details.
If you can parse the MJPEG frame by frame and access the JFIF packets individually (an open source library like libjpeg enables this) then you can get hold of the data.
Given it's a non-standard solution to a non-standard way of streaming H264 from a web camera, for application robustness and future-compatibility with other cameras, I would stick to coding against the C920.
Using v4l2-ctl --all you will see the current resolution and pixel Format for your camera.
Wich demonstrate that our previous command as correctly worked, and that the camera will output MJPG instead of YUYV. If you see that your camera is back in YUYV format, it may be because you ask for an unsupported format (see v4l2-ctl --list-formats-ext).
Launch your video client, and then run v4l2-ctl --all again.
If you see that your camera is back in YUYV format, it's because VLC rewrite camera parameters, and then it's command-line options should be tweaked to ask for MJPG format.
If your camera is still in MPEG, that means that VLC should have correctly received MJPG stream, and struggle with the h264 decoding part.
Edit : As pointed in your link, "H264 is still there, but is muxed into MJPEG stream (meaning MJPEG is a container with both still frames and H264 encoded video)". So having your camera in MJPG mode seems to be a prerequite.
Not the answer you're looking for? Browse other questions tagged usb webcam cvlc h264 or ask your own question.