Jump to content

mjpg-streamer - подключение веб камеры


Recommended Posts

В 27.11.2019 в 19:30, s60 сказал:

камера как USB устройство отвалилась..... а я модули мучил...

итого:

1) камера как USB устройство по lsusb есть

2) kmod_ndms установлен взамен kmod (напопробовать поставил - разницы пока не видно ни в чем)

3) установлены модули из ветки репозитория test (те первые, те что с "отломанными строками" не качал)

4) запущен стандартный скрипт S96mjpg-streamer

4) картинка есть

5) загрузка процессора 100% (89% из которых занимает процесс mjpg_streamer в несколько потоков)

Вопрос: как-нибудь можно уменьшить загрузку процессора ? А то роутер свои прямые обязанности начнет плохо выполнять с такой загрузкой.....

Модули в тестовой папке я так понял уже удалили, поэтому не смог скачать. По этой инструкции указано, что запущен был стандартный скрипт и картинка появилась, но думаю, что тоже хвосты от предыдущих экспериментов, попытки запуска без перезагрузки поспособствовали работе :)

Link to comment
Share on other sites

  • 1 month later...

Всем привет. Keenetic Ultra, KN-1810, Версия KeeneticOS: 3.4.1 (самая свежая). Что-то совсем никак не хочет подключать камеру.

Пакеты OPKG установлены все. Вся подсистема работает, вроде бы, исправно, пропробовал много готовых рецептов с этого форума. Но с видео что-то,увы, пока никак.

Специально подготовил чистый хард с ext4 разделом под OPKG (и свопом),делаю всё с нуля (по инструкции https://forum.keenetic.net/topic/4299-entware/ )

/root # ndmq -p "show version" -P release
3.04.C.1.0-1
opkg update
opkg upgrade
opkg install kmod_ndms
Spoiler

/root # opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keendev

/root # opkg upgrade

/root # opkg install kmod_ndms
Installing kmod_ndms (24-5) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/kmod_ndms_24-5_mipsel-3.4_kn.ipk
Installing libusb-1.0 (1.0.22-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libusb-1.0_1.0.22-2_mipsel-3.4.ipk
Installing libusb-compat (0.1.5-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libusb-compat_0.1.5-2_mipsel-3.4.ipk
Installing dvb-firmware (1.0-5) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/dvb-firmware_1.0-5_mipsel-3.4_kn.ipk
Configuring libusb-1.0.
Configuring libusb-compat.
Configuring dvb-firmware.
Configuring kmod_ndms.
modinfo: ERROR: Module alias /opt/lib/modules/4.9-ndm-4/kernel/compat.ko not found.

 

Сразу же насторажвает modinfo: ERROR: Module alias /opt/lib/modules/4.9-ndm-4/kernel/compat.ko not found.

 

Далее 

install mjpg-streamer
opkg install mjpg-streamer-input-uvc
opkg install mjpg-streamer-output-http
opkg install mjpg-streamer-www

Тут вроде на первый взгляд всё ок:

Spoiler

/root # opkg install mjpg-streamer
Installing mjpg-streamer (2019-05-24-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/mjpg-streamer_2019-05-24-1_mipsel-3.4.ipk
Installing libjpeg (9c-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libjpeg_9c-2_mipsel-3.4.ipk
Configuring libjpeg.
Configuring mjpg-streamer.

/root # opkg install mjpg-streamer-input-uvc
Installing mjpg-streamer-input-uvc (2019-05-24-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/mjpg-streamer-input-uvc_2019-05-24-1_mipsel-3.4.ipk
Configuring mjpg-streamer-input-uvc.

/root # opkg install mjpg-streamer-output-http
Installing mjpg-streamer-output-http (2019-05-24-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/mjpg-streamer-output-http_2019-05-24-1_mipsel-3.4.ipk
Configuring mjpg-streamer-output-http.

/root # opkg install mjpg-streamer-www
Installing mjpg-streamer-www (2019-05-24-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/mjpg-streamer-www_2019-05-24-1_mipsel-3.4.ipk
Configuring mjpg-streamer-www.

 

При подключении камеры никаких устройств /dev/video* не появляется (пробовал несколько камер A4 и Genius и в USB2.0, и в USB3.0 (через активный хаб)).

Далее пытаюсь:

/root # modprobe --first-time -v uvcvideo
modprobe: FATAL: Module uvcvideo not found in directory /opt/lib/modules/4.9-ndm-4

В /opt/lib/modules/4.9-ndm-4/ вообще не наблюдается никаких модулей, файлов с суффиксом *.ko

/root # ls -la /opt/lib/modules/4.9-ndm-4/
drwxr-xr-x    2 root     root          4096 May 21 00:56 .
drwxr-xr-x    3 root     root          4096 May 21 00:56 ..
lrwxrwxrwx    1 root     root            22 May 21 00:56 kernel -> /lib/modules/4.9-ndm-4
-rw-r--r--    1 root     root            45 May 21 00:56 modules.alias
-rw-r--r--    1 root     root            12 May 21 00:56 modules.alias.bin
-rw-r--r--    1 root     root             0 May 21 00:56 modules.builtin.bin
-rw-r--r--    1 root     root             0 May 21 00:56 modules.dep
-rw-r--r--    1 root     root            12 May 21 00:56 modules.dep.bin
-rw-r--r--    1 root     root             0 May 21 00:56 modules.devname
-rw-r--r--    1 root     root            55 May 21 00:56 modules.softdep
-rw-r--r--    1 root     root            49 May 21 00:56 modules.symbols
-rw-r--r--    1 root     root            12 May 21 00:56 modules.symbols.bin

Соответвенно,никакой камеры... 

/root # ls -la /dev/v*
crw-------    1 root     root      109,   0 Jan  1  1970 /dev/vdsl

Если кто чего подскажет - лчень спасибо.

_Screenshot_20200521_010409.png

Link to comment
Share on other sites

На это не обращайте внимание: modinfo: ERROR: Module alias /opt/lib/modules/4.9-ndm-4/kernel/compat.ko not foun

Я делаю так:

opkg update
opkg upgrade
opkg install kmod_ndms
opkg install mjpg-streamer
opkg install mjpg-streamer-input-uvc
opkg install mjpg-streamer-output-http
opkg install mjpg-streamer-www

файл изменить /opt/etc/init.d/S96mjpg-streamer (пытался уменьшать количество кадров для камеры-и переставало вообще работать, хотя 10 кадров не на полную работают через облако):

Скрытый текст

#!/opt/bin/sh

# uncomment for debugging
#set -evx

prefix="/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin

#export LD_LIBRARY_PATH=/opt/lib/mjpg-streamer
MOD_DIR=/opt/lib/mjpg-streamer

start() {
    # Do not forget to load nececcery kernel modules,
    # in case of using UVC-compliant camera:
    #insmod videodev
    #insmod v4l2-common
    #insmod v4l2-int-device
    #insmod input-core
    #insmod uvcvideo
    if [ -z "$(lsmod | grep ^uvcvideo | cut -f1 '-d ')" ]; then
        logger -t kmod "kernel modules registering..."
        for m in i2c-core videodev videobuf2-core videobuf2-memops videobuf2-vmalloc $(if [ "$(uname -r | cut -f1 '-d-')" == "4.9" ]; then echo videobuf2-v4l2; fi) uvcvideo; do \
        insmod /lib/modules/$(uname -r)/$m.ko ; \
        done
        logger -t kmod "... done"
    else
        logger -t kmod "kernel modules are already loaded"
    fi
    echo "starting mjpg_streamer..."
    mjpg_streamer -b -i "$MOD_DIR/input_uvc.so -r 800x600 -f 10" -o "$MOD_DIR/output_http.so -p 3000 -w /opt/share/www/webcam"
    }

stop() {
    echo "stopping mjpg_streamer..."
    killall mjpg_streamer
    #sleep 3
    #if [ -n "$(lsmod | grep ^uvcvideo | cut -f1 '-d ')" ]; then
    #    logger -t kmod "kernel modules deregistering..."
    #        for m in uvcvideo $(if [ "$(uname -r | cut -f1 '-d-')" == "4.9" ]; then echo videobuf2-v4l2; fi) videobuf2-vmalloc videobuf2-memops videobuf2-core videodev i2c-core; do \
    #        rmmod $m ; \
    #    done
    #    logger -t kmod "... done"
    #fi
    }

status() {
    echo "PID of mjpg_streamer is..."
    pidof mjpg_streamer
    }

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 3
        start
        ;;
    status) status
        ;;
    *)
        echo "Usage: $0 (start|stop|restart|status)"
        exit 1
        ;;
esac

exit 0

 

Ну и можно попробовать запустить "/opt/etc/init.d/S96mjpg-streamer start" либо ребутнуть.

Лично я файлы меняю через "WinSCP". Для меня удобнее, чем в терминале ковыряться.

Edited by falconpvt
Link to comment
Share on other sites

2 hours ago, Le ecureuil said:

1. У вас Entware не под ядро 3.4 случайно?

2. Модули находятся не в /opt/lib/modules, а в /lib/modules - попробуйте поправить путь загрузки руками.

Как раз зашёл написать, что проблема решилась полным обнулением маршрутизатора с последующей перенастройкой. Прошивку (текущую, со стабильной ветки) тоже перезалил на всякий случай (т.е сделал через веб-интерфейс минимальную конфигурацию,а затем - максимальную нужную). mjpg-streamer заработал, даже могу включать и выключать ИК-подсветку на камере в настройках. Правда, нужно делать "/opt/sbin/modprobe --first-time -v uvcvideo" каждый раз при загрузке (добавил в автозагрузку). Буду изучать motion. Кстати, решились и другие странности в работе Кинетика.

До этого делал одно минорное обновление прошивки (ровно с предыдущей версии с официальной стабильной ветки на текущую оттуда же) без сброса настроек, но с установкой Entware полностью с нуля.Также, как я писал, я пытался перезалить отдельные компоненты прошивки, включая и все с Entware. Без хард-резета не помогло. Видать, старое-недоброе правило делать хард-резет после любого обновления прошивки всё ещё, увы, актуально. По крайней мере, если пользоваться расширенными возможностями, такими как Entware.

 

Quote

На это не обращайте внимание: modinfo: ERROR: Module alias /opt/lib/modules/4.9-ndm-4/kernel/compat.ko not foun

Эти сообщения довольно часто летят в лог.

Link to comment
Share on other sites

3 hours ago, Le ecureuil said:

1. У вас Entware не под ядро 3.4 случайно?

~ # uname -a
Linux KN-1810-U 4.9-ndm-4 #2 SMP Tue May 12 23:20:18 MSK 2020 mips GNU/Linux

Entware устанавливал по ииструкциям в основном отсида: https://help.keenetic.com/hc/ru/articles/360000264829-Установка-и-настройка-OPKG-пакета-rTorrent с mipsel-installer.tar.gz оттуда же http://bin.entware.net/mipselsf-k3.4/installer/mipsel-installer.tar.gz

Ещё вопрос, ламочка "FN2" не должна гореть при работе камеры при монопольном подключении её во второй порт (USB2.0)? Настройки LED не менял, при подключении флешки включается.

Edited by Nickeen
Link to comment
Share on other sites

  • 5 weeks later...

Linux Keenetic-8941 4.9-ndm-4 #2 Mon Jun 8 22:15:35 MSK 2020 mips GNU/Linux

Как добавить поддержку zc3xx.

Когда был openwrt камера работала отлично. На Keenetic Omni (KN-1410)  Версия ОС3.4.6  не видит камеру.

Entware последний. 

Делаю так:

opkg update
opkg upgrade
opkg install kmod_ndms
opkg install mjpg-streamer
opkg install mjpg-streamer-input-uvc
opkg install mjpg-streamer-output-http
opkg install mjpg-streamer-www

ls -la /dev/vid* - ничего

modprobe --first-time -v uvcvideo

Подгружает:
insmod /opt/lib/modules/4.9-ndm-4/kernel/videobuf2-core.ko
insmod /opt/lib/modules/4.9-ndm-4/kernel/i2c-core.ko
insmod /opt/lib/modules/4.9-ndm-4/kernel/videodev.ko
insmod /opt/lib/modules/4.9-ndm-4/kernel/videobuf2-v4l2.ko
insmod /opt/lib/modules/4.9-ndm-4/kernel/videobuf2-memops.ko
insmod /opt/lib/modules/4.9-ndm-4/kernel/videobuf2-vmalloc.ko
insmod /opt/lib/modules/4.9-ndm-4/kernel/uvcvideo.ko

 

на опенврт ставил еще kmod-video-gspca-zc3xx. тут такого нет.

Link to comment
Share on other sites

  • 1 year later...
  • 6 months later...
  • 1 year later...

Помогите пожалуйста разобраться

роутер Keenetic Ultra (KN-1810) ревизия 3.9.5

включаю в USB камеру Logitec C270 HD

в журнале наблюдаю следующее

Май 3 20:08:21 kernel
usb 1-2: new high-speed USB device number 6 using xhci-mtk
Май 3 20:08:21 kernel
usb 1-2: New USB device found, idVendor=046d, idProduct=0825, bcdDevice= 0.21
Май 3 20:08:21 kernel
usb 1-2: New USB device strings: Mfr=0, Product=1, SerialNumber=2
Май 3 20:08:21 kernel
usb 1-2: Product: C270 HD WEBCAM
Май 3 20:08:21 kernel
usb 1-2: SerialNumber: 200901010001
Май 3 20:08:21 kernel
usb 1-2: can't set config #1, error -71

соответственно все дальнейшие упражнения по настройке ни к чему не привели, устройства в системе нет.

В чем может быть проблема?

помимо камеры к роутеру подключен SSD

Link to comment
Share on other sites

в продолжение 

после ряда приседаний устройство появилось

~ # ls /dev/v*
/dev/vdsl    /dev/video0

но ошибка ошибка в журнале поменялась на новую

Май 3 21:50:15 kernel
usb 1-2: new high-speed USB device number 3 using xhci-mtk
Май 3 21:50:15 kernel
usb 1-2: New USB device found, idVendor=046d, idProduct=0825, bcdDevice= 0.21
Май 3 21:50:15 kernel
usb 1-2: New USB device strings: Mfr=0, Product=1, SerialNumber=2
Май 3 21:50:15 kernel
usb 1-2: Product: C270 HD WEBCAM
Май 3 21:50:15 kernel
usb 1-2: SerialNumber: 200901010001
Май 3 21:50:15 kernel
uvcvideo: Found UVC 1.00 device C270 HD WEBCAM (046d:0825)
Май 3 21:50:15 kernel
usb 1-2: current rate 16000 is different from the runtime rate 32000
Май 3 21:50:15 kernel
usb 1-2: current rate 24000 is different from the runtime rate 16000
Май 3 21:50:15 kernel
usb 1-2: 3:3: cannot set freq 24000 to ep 0x82
Май 3 21:50:15 kernel
usb 1-2: set resolution quirk: cval->res = 384

 

и motion по прежнему не запускается:

Май 3 21:54:30 motion
[1:ml1] [WRN] [ALL] mlp_retry: Retrying until successful connection with camera
Май 3 21:54:30 motion
[1:ml1] [NTC] [VID] vid_start: Opening V4L2 device
Май 3 21:54:30 motion
[1:ml1] [NTC] [VID] v4l2_device_open: Using videodevice /dev/video0 and input -1
Май 3 21:54:30 motion
[1:ml1] [ALR] [VID] v4l2_device_open: Failed to open video device /dev/video0: Device or resource busy
Май 3 21:54:30 motion
[1:ml1] [ERR] [VID] vid_start: V4L2 device failed to open

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...