Встроенная вебка на ноуте, определяется как «XiaoMi USB 2.0 Webcam: XiaoMi U», есть девайс /dev/video0. Открывается в VLC через «открыть устройство захвата», но только первый раз, если закрыть окно и потом сделать то же самое опять, или висит черный экран и ничего не происходит, или иногда сразу ошибка, что не может открыть поток «v4l2:///dev/video1». После перезагрузки могу посмотреть еще раз опять (иногда может просраться без перезагрузки, но это не точно). Webcamoid (первая попавшаяся в Синаптике прога для работы с вебкамерой) висит (в настройках камеру определяет со всеми характеристиками), лампочка не горит. OBS при добавлении источника v4l камеру видит, но при активации иногда игнорирует, иногда зависает, иногда вылетает. При этом после некоторых зависонов/вылетов/обращений к камере номер устройства может меняться (после перезагрузки появляется /dev/video0, после вылета - /dev/video1, потом /dev/video2 и т.п)
Ubuntu 16.04, ядро 4.15. Драйвер uvcvideo:
$ v4l-info /dev/video1
### v4l2 device info [/dev/video1] ###
general info
VIDIOC_QUERYCAP
driver : "uvcvideo"
card : "XiaoMi USB 2.0 Webcam: XiaoMi U"
bus_info : "usb-0000:00:14.0-5"
version : 5.5.0
capabilities : 0x84a00001 [VIDEO_CAPTURE,?,?,STREAMING,(null)]
standards
Логично предположить, что проблема в драйвере http://www.ideasonboard.org/uvc/ в старом ядре. Обновил ядро до 5.5.
$ uname -a
Linux 5.5.0-050500-generic #202001262030 SMP Mon Jan 27 01:33:36 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Поведение - всё ровно то же самое (только еще каким-то фигом на одну вебку стало появляться два устройства).
И вот я решил купить другую вебку, взял Логитек (Logitech). Она тоже сразу определилась как «UVC Camera (046d:081b)», создаёт новый девайс /dev/video4. Ведёт себя гораздо лучше: открывается в VLC сколько угодно раз подряд, распозналась и открылась в Webcamoid и в OBS. Пару раз тоже заглючила так, что пришлось переткнуть, но, в целом, довольно надежна (особенно, по сравнению с встроенной).
$ v4l-info /dev/video10
### v4l2 device info [/dev/video10] ###
general info
VIDIOC_QUERYCAP
driver : "uvcvideo"
card : "UVC Camera (046d:081b)"
bus_info : "usb-0000:00:14.0-4"
version : 5.5.0
capabilities : 0x84a00001 [VIDEO_CAPTURE,?,?,STREAMING,(null)]
standards
Но вот прикол: сразу после подключения вебки Logitech просралась и нормально заработала встроеная камера! Изображение появилось и в Вебкамоиде и в OBS и в VLC открывается сколько угодно раз подряд, лампочка горит. Более того, в одном OBS без перезапуска приложения: не воспринимает встроенную вебку (на этот раз не завис и не вылетел), подключаю внешний Логитек, OBS показывает изображение с внешней, выбираю в настройках встроенную - начинает показывать изображение со встроенной, как будто так и было.
Вытыкаю Логитек, встроенная продолжает работать, как будто так и надо. Я вроде даже обрадовался, но не надолго - то ли после перезагрузки, то ли после закрывания крышки ноута, толи просто немного подождал, встроенная вебка деградирует до исходного состояния и опять начинается старая история.
ДОБАВЛЯЮ: деградирует, пока пишу пост, прямо на глазах: выткнул логитек, сначала встроенная вроде работает, как при Логитеке, потом начал зависать Вебкамоид, OBS при этом работал (перезапускал его - видел камеру несколько раз), потом после очередного перезапуска вылетел (и продолжил вылетать) OBS. Втыкаю Логитек - и встроенная тут же оживает, как выше написал.
Вот такая история.