欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux usb攝像頭設(shè)備信息查看方式

 更新時間:2023年05月06日 16:12:22   作者:eric_pyt@qq.com  
這篇文章主要介紹了linux usb攝像頭設(shè)備信息查看方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

linux usb攝像頭設(shè)備信息查看

linux下usb攝像頭操作,離不開v4l2框架

V4L2是Video for linux2的簡稱,為linux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動。

在Linux中,視頻設(shè)備是設(shè)備文件,可以像訪問普通文件一樣對其進行讀寫,攝像頭在/dev/video0下。

查看linux 攝像頭設(shè)備,如果存在有效的攝像頭設(shè)備,則可以在dev目錄下查看

eric@eric-PC:/$ ls dev/video* -l
crw-rw----+ 1 root video 81, 0 11月 ?8 13:37 dev/video0
crw-rw----+ 1 root video 81, 1 11月 ?8 13:37 dev/video1

也可以查看啟動信息,是否存在有效usb攝像頭設(shè)備

eric@eric-PC:/$ dmesg | grep video
[ 1849.908486] videodev: Linux video capture interface: v2.00
[ 1850.022954] uvcvideo: Found UVC 1.00 device hm1091_techfront (0408:1020)
[ 1850.061899] uvcvideo 1-1:1.0: Entity type for entity Extension 4 was not initialized!
[ 1850.061903] uvcvideo 1-1:1.0: Entity type for entity Extension 3 was not initialized!
[ 1850.061905] uvcvideo 1-1:1.0: Entity type for entity Processing 2 was not initialized!
[ 1850.061907] uvcvideo 1-1:1.0: Entity type for entity Camera 1 was not initialized!
[ 1850.062579] usbcore: registered new interface driver uvcvideo

v4l2-ctl命令查看video設(shè)備參數(shù)信息,如果提示如下未找到v4l2-ctl命令,則需要安裝v4l-utils

eric@eric-PC:/dev$ v4l2-ctl -d ?/dev/video0 --all
bash: v4l2-ctl:未找到命令 ?
eric@eric-PC:/dev$ sudo apt-get install v4l-utils
eric@eric-PC:/$ v4l2-ctl -d ?/dev/video0 --all
Driver Info:
? ? ? ? Driver name ? ? ?: uvcvideo
? ? ? ? Card type ? ? ? ?: hm1091_techfront: hm1091_techfr
? ? ? ? Bus info ? ? ? ? : usb-0000:02:04.0-1
? ? ? ? Driver version ? : 5.4.50
? ? ? ? Capabilities ? ? : 0x84a00001
? ? ? ? ? ? ? ? Video Capture
? ? ? ? ? ? ? ? Metadata Capture
? ? ? ? ? ? ? ? Streaming
? ? ? ? ? ? ? ? Extended Pix Format
? ? ? ? ? ? ? ? Device Capabilities
? ? ? ? Device Caps ? ? ?: 0x04200001
? ? ? ? ? ? ? ? Video Capture
? ? ? ? ? ? ? ? Streaming
? ? ? ? ? ? ? ? Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
? ? ? ? Width/Height ? ? ?: 1280/720
? ? ? ? Pixel Format ? ? ?: 'MJPG' (Motion-JPEG)
? ? ? ? Field ? ? ? ? ? ? : None
? ? ? ? Bytes per Line ? ?: 0
? ? ? ? Size Image ? ? ? ?: 1843200
? ? ? ? Colorspace ? ? ? ?: sRGB
? ? ? ? Transfer Function : Default (maps to sRGB)
? ? ? ? YCbCr/HSV Encoding: Default (maps to ITU-R 601)
? ? ? ? Quantization ? ? ?: Default (maps to Full Range)
? ? ? ? Flags ? ? ? ? ? ? :?
Crop Capability Video Capture:
? ? ? ? Bounds ? ? ?: Left 0, Top 0, Width 1280, Height 720
? ? ? ? Default ? ? : Left 0, Top 0, Width 1280, Height 720
? ? ? ? Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 1280, Height 720, Flags:?
Selection: crop_bounds, Left 0, Top 0, Width 1280, Height 720, Flags:?
Streaming Parameters Video Capture:
? ? ? ? Capabilities ? ? : timeperframe
? ? ? ? Frames per second: 30.000 (30/1)
? ? ? ? Read buffers ? ? : 0
? ? ? ? ? ? ? ? ? ? ?brightness 0x00980900 (int) ? ?: min=-64 max=64 step=1 default=0 value=0
? ? ? ? ? ? ? ? ? ? ? ?contrast 0x00980901 (int) ? ?: min=0 max=95 step=1 default=0 value=0
? ? ? ? ? ? ? ? ? ? ?saturation 0x00980902 (int) ? ?: min=0 max=100 step=1 default=64 value=64
? ? ? ? ? ? ? ? ? ? ? ? ? ? hue 0x00980903 (int) ? ?: min=-2000 max=2000 step=1 default=0 value=0
?white_balance_temperature_auto 0x0098090c (bool) ? : default=1 value=1
? ? ? ? ? ? ? ? ? ? ? ? ? gamma 0x00980910 (int) ? ?: min=100 max=300 step=1 default=100 value=100
? ? ? ? ? ?power_line_frequency 0x00980918 (menu) ? : min=0 max=2 default=1 value=1
? ? ? white_balance_temperature 0x0098091a (int) ? ?: min=2800 max=6500 step=1 default=4600 value=4600 flags=inactive
? ? ? ? ? ? ? ? ? ? ? sharpness 0x0098091b (int) ? ?: min=0 max=7 step=1 default=2 value=2
? ? ? ? ?backlight_compensation 0x0098091c (int) ? ?: min=0 max=1 step=1 default=1 value=1
? ? ? ? ? ? ? ? ? exposure_auto 0x009a0901 (menu) ? : min=0 max=3 default=3 value=3
? ? ? ? ? ? ? exposure_absolute 0x009a0902 (int) ? ?: min=10 max=2047 step=1 default=384 value=384 flags=inactive
? ? ? ? ?exposure_auto_priority 0x009a0903 (bool) ? : default=0 value=1

有以上信息可以看出,設(shè)備支持分辨率1280×720,支持MJPEG格式。

linux usb攝像頭索引的獲取

一般情況下,筆記本自帶的攝像頭的索引號為0,而通過USB插入的攝像頭一般為1(只有兩個攝像頭的情況下)。

但是,當(dāng)筆記本插著USB攝像頭開機時,有可能USB的索引變?yōu)?,如果還是使用原來的索引,便會產(chǎn)生錯誤或者結(jié)果誤差。為此,我寫了個程序自動獲取USB攝像頭的索引。

原理與實現(xiàn)

在Linux系統(tǒng)下,所有設(shè)備的均被當(dāng)作文件的形式進行管理和交互(不是很懂),而攝像頭對應(yīng)的文件在/sys/class/video4linux/下,而每個攝像頭均有name文件記錄攝像頭的名字。

因此,可以根據(jù)該文件得到攝像頭的名稱,而攝像頭所在的文件夾(如video0)可以得到索引。

def get_usb_camera_index():
? ? # 獲取USB攝像頭的索引
? ? camera_path = Path('/sys/class/video4linux/')
? ? camera_list = list(camera_path.glob('video*'))
? ? camera_list.sort()
? ? index = 0
? ? for i in range(len(camera_list)):
? ? ? ? camera = camera_list[i]
? ? ? ? name_file = camera.joinpath('name')
? ? ? ? with open(name_file, 'r') as f:
? ? ? ? ? ? info = f.readline()
? ? ? ? ? ? if 'USB' in info:
? ? ? ? ? ? ? ? index = i
? ? ? ? ? ? ? ? break
? ? return index

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • CentOS利用screen實現(xiàn)多任務(wù)管理功能

    CentOS利用screen實現(xiàn)多任務(wù)管理功能

    screen是一個功能強大的終端復(fù)用工具,它可以創(chuàng)建多個虛擬終端窗口,并且可以在這些窗口之間自由切換,本文將從安裝screen開始,詳細介紹其常用命令及使用示例,幫助讀者更好地理解和掌握這個實用工具
    2023-06-06
  • Linux安裝Jenkins步驟及各種問題解決(頁面訪問初始化密碼)

    Linux安裝Jenkins步驟及各種問題解決(頁面訪問初始化密碼)

    這篇文章主要介紹了Linux安裝Jenkins步驟及各種問題頁面訪問初始化密碼,需要的朋友可以參考下
    2019-12-12
  • 詳解Ubuntu 從零開始搭建Python開發(fā)環(huán)境

    詳解Ubuntu 從零開始搭建Python開發(fā)環(huán)境

    本篇文章主要介紹了詳解Ubuntu 從零開始搭建Python開發(fā)環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • apache tomcat 一個網(wǎng)站多域名的實現(xiàn)方法

    apache tomcat 一個網(wǎng)站多域名的實現(xiàn)方法

    因此處是進行多域名設(shè)置,所以 Apache 與 tomcat的結(jié)合沒有詳述,此處只是設(shè)置多域名的方法
    2009-02-02
  • 如何在ubuntu18.04中設(shè)置使用中文輸入法的使用

    如何在ubuntu18.04中設(shè)置使用中文輸入法的使用

    這篇文章主要介紹了如何在ubuntu18.04中設(shè)置使用中文輸入法的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Windows系統(tǒng)下Apache服務(wù)器無法啟動的問題解決

    Windows系統(tǒng)下Apache服務(wù)器無法啟動的問題解決

    這篇文章主要介紹了Windows系統(tǒng)下Apache服務(wù)器無法啟動的問題解決,大多數(shù)情況下還是端口被占用的問題,需要的朋友可以參考下
    2015-07-07
  • Ubuntu20.04安裝配置GitLab的方法步驟

    Ubuntu20.04安裝配置GitLab的方法步驟

    這篇文章主要介紹了Ubuntu20.04安裝配置GitLab的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • linux 遠程控制windows系統(tǒng)下的程序(三種方法)

    linux 遠程控制windows系統(tǒng)下的程序(三種方法)

    這篇文章主要介紹了linux 遠程控制windows下的程序,本文通過三種方法給大家詳細介紹,需要的朋友可以參考下
    2019-10-10
  • protobuf簡單介紹和ubuntu 16.04環(huán)境下安裝教程

    protobuf簡單介紹和ubuntu 16.04環(huán)境下安裝教程

    protobuf是谷歌的開源序列化協(xié)議框架,結(jié)構(gòu)類似于XML,JSON這種,顯著的特點是二進制的,效率高,主要用于通信協(xié)議和數(shù)據(jù)存儲等方面,算是一種結(jié)構(gòu)化數(shù)據(jù)的表示方法。這篇文章主要介紹了protobuf簡單介紹和ubuntu 16.04環(huán)境下安裝教程,需要的朋友可以參考下
    2019-06-06
  • #實踐筆記#Ubuntu配置Apache+PHP+MySQL

    #實踐筆記#Ubuntu配置Apache+PHP+MySQL

    在我早先的一篇文章《#實踐筆記#本地配置PHPnow與WordPress》,已經(jīng)討論過PHPnow的本地安裝教程。但是PHPnow套件是Windows平臺下的軟件,不適用我現(xiàn)在使用的平臺
    2012-03-03

最新評論