最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

linux下usb攝像頭操作,離不開(kāi)v4l2框架

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

在Linux中,視頻設(shè)備是設(shè)備文件,可以像訪問(wèn)普通文件一樣對(duì)其進(jìn)行讀寫(xiě),攝像頭在/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

也可以查看啟動(dòng)信息,是否存在有效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攝像頭索引的獲取

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

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

原理與實(shí)現(xiàn)

在Linux系統(tǒng)下,所有設(shè)備的均被當(dāng)作文件的形式進(jìn)行管理和交互(不是很懂),而攝像頭對(duì)應(yīng)的文件在/sys/class/video4linux/下,而每個(gè)攝像頭均有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é)

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

相關(guān)文章

  • 關(guān)于將Web項(xiàng)目部署到阿里云服務(wù)器(5個(gè)步驟搞定)

    關(guān)于將Web項(xiàng)目部署到阿里云服務(wù)器(5個(gè)步驟搞定)

    這篇文章主要介紹了關(guān)于將Web項(xiàng)目部署到阿里云服務(wù)器(5個(gè)步驟搞定),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • CentOS下tar打包解壓詳解(解壓到指定文件夾)

    CentOS下tar打包解壓詳解(解壓到指定文件夾)

    本篇文章主要介紹了CentOS下tar打包解壓,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • 用apache和tomcat搭建集群(負(fù)載均衡)

    用apache和tomcat搭建集群(負(fù)載均衡)

    這篇文章主要介紹了用apache和tomcat搭建集群,實(shí)現(xiàn)負(fù)載均衡,需要的朋友可以參考下
    2014-12-12
  • linux掛載新磁盤(pán)后原數(shù)據(jù)文件不見(jiàn)的解決辦法

    linux掛載新磁盤(pán)后原數(shù)據(jù)文件不見(jiàn)的解決辦法

    linux掛載新磁盤(pán)后原數(shù)據(jù)文件不見(jiàn)了,丟失了嗎,沒(méi)有,這篇文章就教你找回解決辦法,文章中有詳細(xì)的操作步驟,有不會(huì)找的小伙伴可以參考閱讀本文
    2023-08-08
  • PHP程序員玩轉(zhuǎn)Linux系列 lnmp環(huán)境搭建

    PHP程序員玩轉(zhuǎn)Linux系列 lnmp環(huán)境搭建

    這篇文章主要為大家詳細(xì)介紹了PHP程序員玩轉(zhuǎn)Linux系列文章,lnmp環(huán)境搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Linux安裝殺毒工具ClamAV,并配置郵件告警

    Linux安裝殺毒工具ClamAV,并配置郵件告警

    ClamAV是一款免費(fèi)的開(kāi)源殺毒工具,它可以自動(dòng)升級(jí)病毒庫(kù),支持多種文件格式掃描,ClamAV有兩個(gè)命令:clamscan和clamdscan,分別適用于不同的場(chǎng)景,安裝和使用ClamAV需要更新病毒庫(kù),并進(jìn)行掃描和刪除病毒的操作,配置定時(shí)掃描和郵件告警可以幫助實(shí)現(xiàn)自動(dòng)化監(jiān)控和處理
    2025-04-04
  • Linux應(yīng)用程序使用寫(xiě)文件調(diào)試程序的方法

    Linux應(yīng)用程序使用寫(xiě)文件調(diào)試程序的方法

    今天小編就為大家分享一篇關(guān)于Linux應(yīng)用程序使用寫(xiě)文件調(diào)試程序的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Linux系統(tǒng)中卸載與安裝JDK的詳細(xì)教程

    Linux系統(tǒng)中卸載與安裝JDK的詳細(xì)教程

    本文詳細(xì)介紹了如何在Linux系統(tǒng)中通過(guò)Xshell和Xftp工具連接與傳輸文件,然后進(jìn)行JDK的安裝與卸載,安裝步驟包括連接Linux、傳輸JDK安裝包、解壓并配置環(huán)境變量,卸載過(guò)程則涉及查找JDK路徑、刪除文件及更新環(huán)境變量,需要的朋友可以參考下
    2025-04-04
  • linux環(huán)境搭建圖數(shù)據(jù)庫(kù)neo4j的講解

    linux環(huán)境搭建圖數(shù)據(jù)庫(kù)neo4j的講解

    今天小編就為大家分享一篇關(guān)于linux環(huán)境搭建圖數(shù)據(jù)庫(kù)neo4j的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • centos更改時(shí)區(qū)的方法

    centos更改時(shí)區(qū)的方法

    centos默認(rèn)使用UTC時(shí)區(qū),中國(guó)用戶需要修改成自己的時(shí)區(qū),這篇文章主要介紹了centos更改時(shí)區(qū)的方法,需要的朋友可以參考下
    2014-03-03

最新評(píng)論

佳木斯市| 类乌齐县| 维西| 临漳县| 藁城市| 运城市| 洪江市| 房产| 肥城市| 金塔县| 洪泽县| 平顶山市| 甘德县| 历史| 新巴尔虎右旗| 九龙坡区| 垫江县| 滨州市| 花垣县| 广宁县| 江孜县| 沈丘县| 鄄城县| 平乡县| 漾濞| 泽普县| 中宁县| 弥勒县| 淮滨县| 甘南县| 定襄县| 南澳县| 屏东县| 峨眉山市| 枞阳县| 茶陵县| 库伦旗| 陆河县| 白水县| 乌拉特后旗| 交口县|