第三阶段应用层——2.1 视频监控—V4L2框架的简单分析

视频监控—V4L2框架的简单分析


一、概述

1、V4L2

    V4L,其全称是Ⅴideo4 Linux(即 Video for Linux),是 Linux内核中关于视频设备的API接口,涉及开关视频设备,以及从该类设备采集并处理相关的音、视频信息

    现在 Linux内核中用的是V4L2,即 Video4 Linux2(即 Video for Linux Two),其是修改V4L相关Bug后的一个升级版,始于 Linux2.5内核。

    V4L2的主设备号是81次设备号为0~255。这些次设备号里又分为多类设备视频设备、 Radio(收音机)设备、 Teletext on VBI等。因此V4L2设备对应的文件节点有:/dev/videoX、/dev/vbix、/dev/ radioX

2、UVC

    UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准,在不需要安装任何的驱动程序下即插即用,包括摄像头、数字摄影机、模拟视频转换器、电视卡及静态视频相机。

二、从UVC设备文件反推V4L2框架

备注

  • 涉及文件:uvc_driver.c、v4l2-dev.c、v4l2-ctrls.c、v4l2-iocl.c、vivi.c
  • 下面的分析为个人看法,肯定有所不足,望各位提出宝贵修改意见

1、uvc_driver

  • uvc_driver结构体:
    从图中可以看出uvc_driver采用platform平台机制进行管理,其中比较关键的函数就是.probe
    在这里插入图片描述
  • uvc_probe():
    在这个函数中主要进行如下设置,其中我们会看到
    一个比较显眼的函数v4l2_device_register(),这个函数并不是实际意义上的v4l2_device注册函数(可以理解为v4l2_device_init(),进行一些相关初始化工作),但是是后面介绍到的V4L2框架的一员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值