Jump to content
XPEnology Community

WebCam в Xpenology


Recommended Posts

Друзья подскажите реализуемо ли в принципе подключение вэбки на Xpenology. Вот этот пакет https://forum.synology.com/enu/viewtopi ... 80#p390461 прекрасно работает на родном железе, а вот в Xpenology на 6.1 Update2 пакет ставиться, но изображения нет. Куда покопать? :geek:

 

b3aa7347fe46.png

Link to comment
Share on other sites

  • 4 weeks later...
  • 8 months later...
  • 6 months later...

Как запустить usb камеру на XPenology, личный опыт:

Я скачал пакет, который мне подошел:

File: usb_webcam-6.1-40x86_64.zip ( Released 2018-04-10 ) Mainly for Braswell and Apollolake boxes (DS216+, DS216+II, DS416play, DS716+, DS716+II, DS916+, DS218+, DS418play, DS718+, DS918+ ),
Might work also on some other Intel boxes
Download Link: http://turbobit.net/n1mw0idfy2i9.html
ZIP Password: SynologyDSM6.1

 

После установки камера logitech сразу подхватилась.

Пакет дает 15 дней пользоваться mjpg_streamer-ом, после хз, наверное не запускает mjpg_streamer.

Основной скрипт, который запускает mjpg_streamer: /var/packages/usb_webcam/scripts/start-stop-status
        start)
                exec $SYNOPKG_PKGDEST/wcam start
                exit 0
                ;;
        stop)
                exec $SYNOPKG_PKGDEST/wcam stop
                exit 0
                ;;
        restart)
                exec $SYNOPKG_PKGDEST/wcam restart
                exit 0
                ;;
        status)
                pidof mjpg_streamer
                exit $?
                ;;
        log)
                exec $SYNOPKG_PKGDEST/wcam log
                echo "/tmp/usb_webcam.log"
                exit 0
                ;;
        *)

                exit 1
                ;;
Видно, что всем рулит утилита wcam, в т.ч. и проверкой триал периода. На самом деле wcam просто загружает необходимые модули ядра и запускает mjpg_streamer.

Все это можно сделать и без wcam:

cd /var/packages/usb_webcam/target/3.10.102/
insmod videodev.ko
insmod v4l2-common.ko
insmod videobuf2-core.ko
insmod videobuf2-memops.ko
insmod videobuf2-vmalloc.ko
insmod uvcvideo.ko
./camreset
export LD_LIBRARY_PATH=/volume1/@appstore/usb_webcam

/var/packages/usb_webcam/target/mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1280x720 -f 15  -n" -o "output_http.so -p 8080 -w /var/packages/usb_webcam/target/www"

или

/var/packages/usb_webcam/target/mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 5 -y -n" -o "output_http.so -p 8080 -w /var/packages/usb_webcam/target/www"

 

Если LD_LIBRARY_PATH указывает на папку usb_webcam, то можно поиграться и uvcdynctrl:

./uvcdynctrl -c -v

Не вижу проблем запихнуть все это в свой стартовый скрипт или в скрипт start-stop-status.

Edited by Chupakabra
Link to comment
Share on other sites

  • 3 months later...

Триал кончился. Пока триал был всё работало отлично!

И дальше вот:

 

root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videodev.ko
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod v4l2-common.ko
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videobuf2-core.ko
insmod: ERROR: could not insert module videobuf2-core.ko: Unknown symbol in module
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videobuf2-memops.ko
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videobuf2-vmalloc.ko
insmod: ERROR: could not insert module videobuf2-vmalloc.ko: Unknown symbol in module
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod uvcvideeo.ko 
insmod: ERROR: could not insert module uvcvideo.ko: Unknown symbol in module
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videodev.ko 
insmod: ERROR: could not insert module videodev.ko: File exists
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod uvcvideo.ko
insmod: ERROR: could not insert module uvcvideo.ko: Unknown symbol in module
root@D16:/var/packages/usb_webcam/target/3.10.102# ./camreeset 
root@D16:/var/packages/usb_webcam/target/3.10.102# export LD_LIBRARY_PATH=/volume1/@appstore/usb_webcam
root@D16:/var/packages/usb_webcam/target/3.10.102# /var/packages/usb_webcam/target/mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1920x1080 -f 30 -n" -o "output_http.so -p 8080 -w /var/packages/usb_webcam/target/www"
MJPG Streamer Version.: 2.0
 i: Using V4L2 device.: (null)
 i: Desired Resolution: 1920 x 1080
 i: Frames Per Second.: 30
 i: Format............: JPEG
 i: TV-Norm...........: DEFAULT
 i: init_VideoIn failed
root@D16:/var/packages/usb_webcam/target/3.10.102# lsusb
|__usb1          1d6b:0002:0310 09  2.00  480MBit/s 0mA 1IF  (ehci_hcd 0000:00:12.2) hub
  |__1-5         05a3:9230:0100 ef  2.00  480MBit/s 500mA 2IFs (HD Camera Manufacturer USB 2.0 Camera ffffffd5ffffffa7ffffffc2ffffffaf)
|__usb2          1d6b:0002:0310 09  2.00  480MBit/s 0mA 1IF  (ehci_hcd 0000:00:13.2) hub
  |__2-3         8564:1000:0100 00  2.00  480MBit/s 200mA 1IF  (JetFlash Mass Storage Device GE2A8317)
|__usb3          1d6b:0002:0310 09  2.00  480MBit/s 0mA 1IF  (ehci_hcd 0000:00:16.2) hub
|__usb4          1d6b:0001:0310 09  1.10   12MBit/s 0mA 1IF  (ohci_hcd 0000:00:12.0) hub
|__usb5          1d6b:0001:0310 09  1.10   12MBit/s 0mA 1IF  (ohci_hcd 0000:00:13.0) hub
  |__5-1         04d9:1400:0143 00  1.10  1.5MBit/s 100mA 2IFs ( ffffffd1ffffffb2ffffffdbffffffad)
|__usb6          1d6b:0001:0310 09  1.10   12MBit/s 0mA 1IF  (ohci_hcd 0000:00:16.0) hub
root@D16:/var/packages/usb_webcam/target/3.10.102# 

 

 

Может есть мысли куда копать?

В целом, я даже заплатил этому OneSynoUser, за софт и получил ключ, но как и утверждалось - лицензия не срабатывает если не подключен в QuickConnect (А подключить нельзя теперь)...

 

Edited by Nailor
Link to comment
Share on other sites

16 hours ago, Nailor said:

Триал кончился. Пока триал был всё работало отлично!

И дальше вот:

 

root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videodev.ko
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod v4l2-common.ko
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videobuf2-core.ko
insmod: ERROR: could not insert module videobuf2-core.ko: Unknown symbol in module
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videobuf2-memops.ko
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videobuf2-vmalloc.ko
insmod: ERROR: could not insert module videobuf2-vmalloc.ko: Unknown symbol in module
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod uvcvideeo.ko 
insmod: ERROR: could not insert module uvcvideo.ko: Unknown symbol in module
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod videodev.ko 
insmod: ERROR: could not insert module videodev.ko: File exists
root@D16:/var/packages/usb_webcam/target/3.10.102# insmod uvcvideo.ko
insmod: ERROR: could not insert module uvcvideo.ko: Unknown symbol in module
root@D16:/var/packages/usb_webcam/target/3.10.102# ./camreeset 
root@D16:/var/packages/usb_webcam/target/3.10.102# export LD_LIBRARY_PATH=/volume1/@appstore/usb_webcam
root@D16:/var/packages/usb_webcam/target/3.10.102# /var/packages/usb_webcam/target/mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1920x1080 -f 30 -n" -o "output_http.so -p 8080 -w /var/packages/usb_webcam/target/www"
MJPG Streamer Version.: 2.0
 i: Using V4L2 device.: (null)
 i: Desired Resolution: 1920 x 1080
 i: Frames Per Second.: 30
 i: Format............: JPEG
 i: TV-Norm...........: DEFAULT
 i: init_VideoIn failed
root@D16:/var/packages/usb_webcam/target/3.10.102# lsusb
|__usb1          1d6b:0002:0310 09  2.00  480MBit/s 0mA 1IF  (ehci_hcd 0000:00:12.2) hub
  |__1-5         05a3:9230:0100 ef  2.00  480MBit/s 500mA 2IFs (HD Camera Manufacturer USB 2.0 Camera ffffffd5ffffffa7ffffffc2ffffffaf)
|__usb2          1d6b:0002:0310 09  2.00  480MBit/s 0mA 1IF  (ehci_hcd 0000:00:13.2) hub
  |__2-3         8564:1000:0100 00  2.00  480MBit/s 200mA 1IF  (JetFlash Mass Storage Device GE2A8317)
|__usb3          1d6b:0002:0310 09  2.00  480MBit/s 0mA 1IF  (ehci_hcd 0000:00:16.2) hub
|__usb4          1d6b:0001:0310 09  1.10   12MBit/s 0mA 1IF  (ohci_hcd 0000:00:12.0) hub
|__usb5          1d6b:0001:0310 09  1.10   12MBit/s 0mA 1IF  (ohci_hcd 0000:00:13.0) hub
  |__5-1         04d9:1400:0143 00  1.10  1.5MBit/s 100mA 2IFs ( ffffffd1ffffffb2ffffffdbffffffad)
|__usb6          1d6b:0001:0310 09  1.10   12MBit/s 0mA 1IF  (ohci_hcd 0000:00:16.0) hub
root@D16:/var/packages/usb_webcam/target/3.10.102# 

 

 

Может есть мысли куда копать?

В целом, я даже заплатил этому OneSynoUser, за софт и получил ключ, но как и утверждалось - лицензия не срабатывает если не подключен в QuickConnect (А подключить нельзя теперь)...

 

 

Похоже не все модули ядра загружены. По крайней мере первые три загружены нормально (по insmod). Попробуйте другой порядок загрузки тех, которые выдают "insmod: ERROR: could not insert module videobuf2-core.ko: Unknown symbol in module."

Я во время работающей триальной версии смотрел какие модули загружены lsmod-ом, в моем случае:

>lsmod

.....

uvcvideo               69158  1

videodev               99884  4 uvcvideo,v4l2_common,videobuf2_core
v4l2_common             4339  0
videobuf2_core         25292  1 uvcvideo
videobuf2_memops        1559  1 videobuf2_vmalloc
videobuf2_vmalloc       2560  1 uvcvideo
uvcvideo               69158  1

 

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

 

Кстати, список поддерживаемых камер: http://www.ideasonboard.org/uvc/

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

Edited by Chupakabra
Link to comment
Share on other sites

5 часов назад, Chupakabra сказал:

Попробуйте другой порядок загрузки тех, которые выдают "insmod: ERROR: could not insert module videobuf2-core.ko: Unknown symbol in module."

 

1. Спасибо за ответ!

2. Конечно не помогло (я перепробовал все, кажется, возможные варианты порядка загрузки).

3. В процессе гугления выяснилось, что пакет для Synology DVBLink Server использует эти же модули (На их форуме народ разбирался с проблемой Unknown symbol in module). Установив этот пакет (он, соответственно, ставится сверяясь с версией DSM), а так же подгрузив модуль uvcvideo, всё поднялось!

 

Почему перестали работать эти модули у usb_webcam, я представить не могу, но в итоге, я просто скопировал из пакета DVBLink Server модули videobuf2-vmalloc.ko, videobuf2-core.ko, uvcvideo.ko, сам пакет удалил. Кстати, модули videodev.ko и v4l2-common.ko из этого же пакета не грузились с той же ошибкой (Unknown symbol in module), так что их я взял из пакета usb_webcam.

 

Далее написан простой скрипт и добавлен в scheduler (выполнять при загрузке). Кстати, пришлось поставить 180 секунд задержки в скрипт, потому что сразу что-то там не успевало подгружаться.

 

Спасибо Огромное! Проблема решена!

Link to comment
Share on other sites

  • 3 weeks later...
В 14.01.2019 в 20:34, lex сказал:

Можно поподробнее, как начать с нуля и архив файлов выложить, спасибо многим поможете!

 

Написанное точно верно для DSM 6.1.7-15284. Насколько оно верно для других версий - незвестно...

 

1. Ставим Триал Usb Webcam. Выключаем его.

 

2. Закидываем на Synology (я положил в /var/packages/usb_webcam/target/mj/, если вы положили в другое место - меняйте в в скрипте расположение) Файлы из прикреплённого архива. (где и как я их взял - я описывал в предыдущем сообщении)

 

3. Панель управления - планировщик задач - Создать - Запущенная задача - скрипт заданный пользователем: Пользователь Root, событие - загрузка.

 

4. Вставляем во вкладке "Настройки задач" скрипт вида:

#!/bin/sh

sleep 180

insmod /var/packages/usb_webcam/target/mj/videodev.ko

insmod /var/packages/usb_webcam/target/mj/v4l2-common.ko

insmod /var/packages/usb_webcam/target/mj/videobuf2-memops.ko

insmod /var/packages/usb_webcam/target/mj/videobuf2-vmalloc.ko

insmod /var/packages/usb_webcam/target/mj/videobuf2-core.ko

insmod /var/packages/usb_webcam/target/mj/uvcvideo.ko

/var/packages/usb_webcam/target/mj/camreset

export LD_LIBRARY_PATH=/volume1/@appstore/usb_webcam

/var/packages/usb_webcam/target/mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1920x1080 -f 30 -n" -o "output_http.so -p 8080 -w /var/packages/usb_webcam/target/www"

exit 0 


(Внимание - последнюю строчку надо поменть под себя - сменить разрешение на то, что поддерживает камера, а так же выставить нужный фреймрейт - цифра после "-f")

 

 

mj.zip

uw.sh

Edited by Nailor
  • Like 1
Link to comment
Share on other sites

  • 1 year later...
  • 2 years later...
В 14.10.2020 в 05:54, Grifon сказал:

Возможно есть способ интеграции webcam через docker? Был у кого опыт?

С Докером та же проблема, что и с приложением - Synology с версии 7 не открыли исходники ядра, при этом убрав оттуда много, в том числе поддержку USB и поддержку видео в ядре. Т.е. Докер то можно запустить, но в Докер надо отдать устройство, а DSM 7 не знает это устройство (видит в lsusb, но не могёт с ним взаимодействовать). Единственное решение, которое я смог найти на DSM 7 - Это поднять виртуалку в VMM, передать в неё usb устройство (камеру) а там уже развернуть линукс и тот же самый mjpg-streamer. И вот через эти адские костыли - заработало на DSM 7.

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

У меня на родном софте дсм на родном синолоджи платная версия от этого автора работала до конца версии 6 DSM. При этом после обновлений приходилось восстанавливать его поделку. С переходом на 7-е версии дсм автор забил на свою поделку. Похоже, что сам Синолоджи выпилил принципиальную поддержку веб камер из своего дсм7 говна, как и многие другие вещи. Всё от жадности. А жадность приводит к бедности.

Link to comment
Share on other sites

 

On 12/18/2022 at 2:08 PM, Nailor said:

С Докером та же проблема, что и с приложением - Synology с версии 7 не открыли исходники ядра, при этом убрав оттуда много, в том числе поддержку USB и поддержку видео в ядре. Т.е. Докер то можно запустить, но в Докер надо отдать устройство, а DSM 7 не знает это устройство (видит в lsusb, но не могёт с ним взаимодействовать). Единственное решение, которое я смог найти на DSM 7 - Это поднять виртуалку в VMM, передать в неё usb устройство (камеру) а там уже развернуть линукс и тот же самый mjpg-streamer. И вот через эти адские костыли - заработало на DSM 7.

Ищу в Package Center VMM, virtual etc. и ничего подобного не нахожу. Куда смотреть?

Edited by DmitryQu
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.

×
×
  • Create New...