Как найти камеру USB-устройства?

Да, это возможно, выполните следующие команды,

Обязательно войдите в систему как пользователь root и обновите запись имени хоста в этом файле.

cd /etc/sysconfig
vi network

Также обновите ifcfg-<interface_name>в разделе /etc/sysconfig/network-scripts/

.

Выполнив описанные выше действия, просто перезапустите сетевую службу(service networkd restart).

2
24.09.2021, 08:31
1 ответ

Я нахожу самое простое решение, используя следующую команду:

v4l2-ctl --list-devices

Это выход:

vi-output, ov5693 2-0036 (platform:15700000.vi:2):
    /dev/video2

HBV HD CAMERA (usb-3530000.xhci-2.1.2):
    /dev/video0

HBV HD CAMERA (usb-3530000.xhci-2.1.3):
    /dev/video1

После этого я сделал скрипт, который брал только id устройств с usb-камерами:

   keywordUSB=usb # used for searching the usb camera
    lineCount=0 # index for each line command
    
    # even lines -> type of camera device : native/usb
    # odd lines -> id of camera
    
    
    USB_ID_CAMERA_ARRAY=() # array where we append our id usb camera
    
    while read cmd_line
    do
        if [ -z "$cmd_line" ] # ignore empty line
        then
            continue
        else
            if [ $(expr $lineCount % 2) -eq "0" ] # usb/native camera 
            then
                if [[ "$cmd_line" == *"$keywordUSB"* ]] # true if it is a usb camera device
                then
                    state=active # state is active only for usb camera devices
                else
                    state=inactive # inactive for native camera
                fi
            else
                if [[ $state == "active" ]] # this is a usb camera
                then
                    camera_id="${cmd_line: -1}" # id camera
                    USB_ID_CAMERA_ARRAY+=($camera_id) # append to our array
                fi
            fi
        fi
        let "lineCount+=1"
    done < <(v4l2-ctl --list-devices)
    
    command="./myCppApp --camera-sources"
    
    for elem in ${USB_ID_CAMERA_ARRAY[@]}
    do
        command="$command $elem"
    done
$command
0
27.09.2021, 06:21

Теги

Похожие вопросы