IT-SERVICES

Опубликовано: 3 сентября 2020 г. 22:29

мне очень нравится данная камера. Где только я ее не использовал, устанавливал на квадрокоптер, использовал как видео регистратор, скрытое наблюдение на дачи и т.п. Плюс данной камеры является её компактность, легкость, приемлимая видеопередача, автономная работа и цена =) в данной статье рассмотрю, как сделать вэб камеру из sq 12 и raspberry pi 4, подключив её только по USB

featured-image

Делаем вэб камеру из raspberry pi и quelima sq 12

На первый взгдяд, кажется, что данная задача невозможна, но это не так. У шнура кабеля есть rca-выход, чтобы можно было подключать его через телевизор, что я только не делал, в какие старые телевизоры не засовывал кабель, ничего не получалось. Наткнулся на форуме raspberry, что это возможно, но плохо работает и через VLC не получается его подключить. Давайте попробуем это сделатью.

Первым делом посмотрим, видит ли малинка наше устройство, командой dmesg

[  331.438995] usb 1-1.3: New USB device found, idVendor=1b3f, idProduct=2202, bcdDevice= 1.00
[  331.439012] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  331.439028] usb 1-1.3: Product: GENERAL - UVC
[  331.439043] usb 1-1.3: Manufacturer: GENERAL
[  331.509607] uvcvideo: Found UVC 1.00 device GENERAL - UVC  (1b3f:2202)
[  331.509622] uvcvideo: Forcing device quirks to 0x2 by module parameter for testing purpose.
[  331.509634] uvcvideo: Please report required quirks to the linux-uvc-devel mailing list.
[  331.511075] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[  331.511714] uvcvideo 1-1.3:1.0: Entity type for entity Processing 5 was not initialized!
[  331.511733] uvcvideo 1-1.3:1.0: Entity type for entity Selector 4 was not initialized!
[  331.511751] uvcvideo 1-1.3:1.0: Entity type for entity Camera 1 was not initialized!
[  331.512131] input: GENERAL - UVC : GENERAL - UVC  as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input0
[  331.512374] usbcore: registered new interface driver uvcvideo
[  331.512386] USB Video Class driver (1.1.1)
[  336.569062] usbcore: registered new interface driver snd-usb-audio
[  345.928195] Voltage normalised (0x00000000)

если видим строчки:

[  331.511714] uvcvideo 1-1.3:1.0: Entity type for entity Processing 5 was not initialized!
[  331.511733] uvcvideo 1-1.3:1.0: Entity type for entity Selector 4 was not initialized!
[  331.511751] uvcvideo 1-1.3:1.0: Entity type for entity Camera 1 was not initialized!

то всё хорошо, если нет, то нажимаем на кнопку ON, и смотрим вывод

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

pi@raspberrypi:~ $ v4l2-ctl --list-devices
bcm2835-codec-decode (platform:bcm2835-codec):
        /dev/video10
        /dev/video11
        /dev/video12

bcm2835-isp (platform:bcm2835-isp):
        /dev/video13
        /dev/video14
        /dev/video15
        /dev/video16

GENERAL - UVC : GENERAL - UVC  (usb-0000:01:00.0-1.3):
        /dev/video0
        /dev/video1

нас интересуют строчки про UVC, откуда мы узнаем, что камера заняла /de/video0 и /dev/video1 устройство. Скорее всего 0 - это камера, а 1 - микрофон

Добавленно:

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

sudo modprobe uvcvideo -r
sudo modprobe uvcvideo quirks=2
echo 'options uvcvideo quirks=2' | sudo tee /etc/modprobe.d/uvcvideo.conf
sudo reboot

Дальше попробуем, например, сделать скриншот для таймлапс видео:

pi@raspberrypi:~ $ sudo fswebcam  -i 0 -d v4l2:/dev/video0  --no-banner  --jpeg 95  --save test1.jpg
--- Opening v4l2:/dev/video0...
/dev/video0 opened.
Adjusting resolution from 384x288 to 1280x720.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Disabling banner.
Setting output format to JPEG, quality 95
Writing JPEG image to 'test1.jpg'.

Видим, что скиншот сохранился.

Теперь попробуем стримить с камеры:

pi@raspberrypi:~ $ sudo raspivid -o - -t 0 -hf -w 800 -h 400 -fps 24 |cvlc -vvv v4l2:///dev/video0 --sout '#standard{access=http,mux=ts,dst=:8160}' :demux=h264

Если вывод, примерно такой, то всё нормально:

[b2600858] main stream output debug: adding a new sout input for `MJPG` (sout_input: 0xae0005b8)
[b2602a18] main mux debug: adding a new input
[b2602a18] mux_ts mux debug: adding input codec=MJPG pid=100
[b2602a18] mux_ts mux debug: new PCR PID is 100
[b262a440] main demux meta debug: no meta reader modules matched
[b3500668] main input debug: `v4l2:///dev/video0' successfully opened
[b3500668] main input debug: Stream buffering done (384 ms in 35 ms)
[b3500668] main input debug: Decoder wait done in 0 ms

теперь идем на комп, где есть VLC, переходим в ИСТОЧНИК -> СЕТЬ и прописываем http://192.168.1.67:8160

Так же на самой малинке можно зайти в VLC, перейти в УСТРОЙСТВА ЗАХВАТА -> РЕЖИМ ЗАХВАТА  video camera, НАЗВАНИЕ ВИДЕОУСТРОЙСТВА /dev/video0 

Share on Facebook Share on LinkedIn Share on VK