LINUX.ORG.RU

видео домофон Actop wifi 601 и другая usb камера

 , , ,


0

1

есть домофон на процессоре mips 24k linux 2.6.21 родная камера накрылась, работала она по 4 проводах usb, подключил модуль камеры от старой ip камеры, kmsg пишет uvcvideo: Probing generic UVC device 1 <6>uvcvideo: Found UVC 1.00 device USB2.0 PC CAMERA (18ec:3399) <7>uvcvideo: Scanning UVC chain: OT 3 <- PU 2 <- IT 1 <7>uvcvideo: Found a valid video chain (1 -> 3). <6>uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. <3>uvcvideo: Failed to query (1) UVC control 1 (unit 4) : -32 (exp. 4). <3>uvcvideo: Failed to query (1) UVC control 1 (unit 3) : -32 (exp. 4). <7>uvcvideo: UVC device initialized. при этом если запустить uvc_stream камера на порте 8080 ір адреса устройства начинает показывать нормальное изображение, но при этом на клиетской веб странице вместо изображения камеры черный квадрат, в андроид приложении тоже черная картинка, при нажатии на кнопку вызова домофона в тмп падают jpg файлы нулевого размера, куда копать на что смотреть?

Ответ на: комментарий от sergey_777-s

Я предполагаю, что оно пытается отправить устройству какие-то команды управления, и не может найти соотвествующие контролы (а не то что оно слишком тёмное). Ещё может быть оно ожидает что камера поддерживает какое-то определённое разрешение на опредедённом fps или даже что оно выбрано по умолчанию (к слову как и можно ли задать разрешение по умолчанию - не знаю). Чтоб понять на чём оно обламывается - по идее поможет посмотреть через strace системные вызовы.

Вцелом, задачка понять что же оно хочет - скорее всего вообще не простая, особенно на старом ядре и особенно при невозможности сравнить с поведением со старой камерой. Если старая хоть как-то определяется - то можно указанные ниже утилиты на ней запустить, чтоб увидеть её контролы и режимы съёмки.

На таких старых ядрах с v4l2 дела не имел, но возможно ничего особо не измнилось. На тех с которыми имел дело - основные команды показывающие возможности камеры - следующие:

v4l2-ctl --all
v4l2-ctl -L
uvcdynctrl --clist
uvcdynctrl --formats

uvcdynctrl идёт отдельным пакетом, v4l2-ctl по идее из v4l-utils

Этими же утилитами можно камерой управлять.

GPFault ★★ ()
Ответ на: комментарий от GPFault

спасибо за ответ) то что выяснил на данный момент, вопервых там все очень порезано и v4l2-ctl и uvcdynctrl там нет,но с помощью cgi a именно camera_control.cgi удается забить параметры яркости , контраста, hue, saturation, mode, и разрешение которое постоянно сбивается при перезагрузке также сбивается mode, тоесть изображение я начал получать но очень размытое вроде как нет резкости, при этом контрастность приходится выставлять на максимум 255 и яркость на 120. hue и saturation на изображение не влияют mode около 50 - цветность, всегда сбрасывается на 0 и дает чернобелую картинку. Но вот если запустить uvc_stream на порт 8080 выходит просто идеальная картинка для этой матрицы, почему так и как на это повлиять? Еще выяснил что этот домофон, точнее его прошивка это переделанные и урезанные исходники от камер vstarcam. Вприципе что сбиваются параметры попробую запилить автозапуск но вот что сделать с размытой картинкой?

sergey_777-s ()
Ответ на: комментарий от sergey_777-s

кстати картинка появилась только в андроид приложении, на веб странице устройтва попрежнему черный квадрат, videostream.cgi крутится и ничего не выводит ни в браузере ни в vlc картинку выводит только snapshot.cgi размытую как и писал ранее, в андроид приложении картинка тоже размыта

sergey_777-s ()
Ответ на: комментарий от sergey_777-s

v4l2-ctl и uvcdynctrl там нет

Весьма вероятно что можно поставить взяв бинарники из пакета какого-нибудь дистрибутива MIPS соотвествуюшей давности.

вроде как нет резкости

Больше всего похоже на расфокус. Так как никаких эффектов, которые именно могли бы дать отсутсвие резкости в камерах обычно нет.

Есть ли резкость если подключить эту камеру в обычный комп? Удаётся ли получать в guvcview например номральную, устраивающую картинку? (там же удобно поиграться с контролами посмотреть на их эффект). Если это всё для домофона - то также надо понять что должно быть в фокусе - дальний план (с условно говоря машинами) или ближний (условно лицо).

Также, большинство простых камер - не имеют привода для управляемой механической региулировки положения объектива.

Стоит понять есть ли в камере такая регулировка (обычно выглядит как проводки идущие от платы камиеры к объективу). Если нет - то фокус настраивается ручным механическим вращением объектива (это как правило етсь во всех камерах, даже в простецкой logitechC310, правда для доступа к регулировке пришлось снять крышку и приложить некоторое усилие). А если есть - то искать как этим поуправлять программно

GPFault ★★ ()
Ответ на: комментарий от GPFault

ставить что либо очень проблемно так как 300кб доступной памяти на флешке, по поводу фокуса колесиком я его выставил отлично и на нужную дистанцию, я же говорю когда запускаю камеру из линукса домофона по бинарнику uvc_stream имею отличную картинку с нормальным фокусом, а вот когда запускаю через snapshot.cgi и параметры берутся из /get_camera_params.cgi картинка смазана выходит без резкости, походу через cgi скрипты еще что-то нужно передавать кроме яркости контраста и цвета чтобы настроить вот только что не знаю и почему videostream.cgi не получаю тоже не знаю

sergey_777-s ()