iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux usb摄像头设备信息查看方式
  • 669
分享到

linux usb摄像头设备信息查看方式

linuxusb摄像头linux查看摄像头信息usb摄像头设备信息 2023-05-06 16:05:03 669人浏览 独家记忆
摘要

目录linux usb摄像头设备信息查看linux usb摄像头索引的获取原理与实现总结linux usb摄像头设备信息查看 linux下usb摄像头操作,离不开v4l2框架 V4L2是Video for li

目录
  • linux usb摄像头设备信息查看
  • linux usb摄像头索引的获取
    • 原理与实现
  • 总结

    linux usb摄像头设备信息查看

    linux下usb摄像头操作,离不开v4l2框架

    V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。

    在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。

    查看linux 摄像头设备,如果存在有效的摄像头设备,则可以在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摄像头设备

    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设备参数信息,如果提示如下未找到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

    有以上信息可以看出,设备支持分辨率1280×720,支持MJPEG格式。

    linux usb摄像头索引的获取

    一般情况下,笔记本自带的摄像头的索引号为0,而通过USB插入的摄像头一般为1(只有两个摄像头的情况下)。

    但是,当笔记本插着USB摄像头开机时,有可能USB的索引变为0,如果还是使用原来的索引,便会产生错误或者结果误差。为此,我写了个程序自动获取USB摄像头的索引。

    原理与实现

    在Linux系统下,所有设备的均被当作文件的形式进行管理和交互(不是很懂),而摄像头对应的文件在/sys/class/video4linux/下,而每个摄像头均有name文件记录摄像头的名字。

    因此,可以根据该文件得到摄像头的名称,而摄像头所在的文件夹(如video0)可以得到索引。

    def get_usb_camera_index():
      # 
    

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    --结束END--

    本文标题: linux usb摄像头设备信息查看方式

    本文链接: https://www.lsjlt.com/news/202012.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作