Linux 下UVC&V4L2技术简介(二)

v4l2应用框架-摄像头v4l2编程(15)_出队VIDIOC_DQBUF 这里单独说一下:VIDIOC_QBUF和VIDIOC_DQBUF VIDIOC_QBUF /* 将空闲的内存加入可捕获视频的队列 VIDIOC_DQBUF /* 将已经捕获好视频的内存拉出已捕获视频的队列 * 阅读详情

通过前文Linux 下UVC&V4L2技术简介(一)我们了解了UVC和V4L2的简单知识。

这里是USB设备的文档描述:http://www.usb.org/developers/docs/devclass_docs/

那么如果我们想运行一个UVC的camera设备需要做哪些工作呢?


我简单的查看了几个CM项目的kernel配置文件,发现在这些系统里面的V4L2的驱动配置选项都是打开的,但是CONFIG_USB_VIDEO_CONFIG选项是没有打开的,也就是说在现在CM支持的机型里面默认是不支持UVC camera的。


这样的情况就给开发者带来很大的不便,因为这样以来,UVC camera就不能作为一个android系统的标配存在着。


那么现在问题来了,

如何让设备成为一个UVC(USB video class)设备?

如何让android系统能够支持UVC camera设备正常工作?


首先,在前一篇文章中提到UVC设备可以有一个支持的device list或者利用命令去查看设备是否被支持。我们是否可以修改我们的设备,使之成为一个UVC camera?


此处根据阅读文档的结果来看符合UVC设备的条件,硬件上是有一个固定的架构的。所以如果硬件上不是UVC设备架构的情况下,很难将一个普通的camera转化成UVC camera。




其次如何让android系统能够支持UVC camera呢?

1) 首先要打开设备上的 V4L2
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_COMMON=y
CONFIG_VIDEO_MEDIA=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
2) 将/ueventd.xxxx.rc中的/dev/video0的权限设置 为 0666
3) 这个设备必须是支持UVC的摄像头

在描述这部分之前,需要先说一下V4L2的工作原理。


接下来讲述UVC驱动。






Linux UVC Gadget Driver开发 嵌入式Linux,如何实现UVC Gaget 阅读详情

相关推荐

Linux内核中的UVC(USB Video Class)驱动

V4L2(Video for Linux 2)是Linux内核中的视频设备驱动框架,而UVC(USB Video Class)是一种使用USB接口的摄像头设备通信协议。在Linux内核中,V4L2和UVC之间存在以下关系:1. V4L2支持多种视频设备:V4L2是一个通用的视频设备驱动框架,它旨在支持各种类型的视频设备,包括USB摄像头、摄像头传感器、摄像头接口等。这样,V4L2可以在内核中集成不同类型的摄像头驱动程序。

新时代农民工 3345

v4l2应用框架-摄像头v4l2编程(00)_学习

目录

weixin_42581177的博客 574

Linux驱动学习--UVC框架介绍及使用

目录 引言 UVC设备介绍 UVC源码分析 如何检测UVC设备 一、引言 之前写过一篇关于V4L2的博客,给大家简单介绍了linux中关于视频设备的驱动框架,而我们今天的主角"UVC",其实就是一个基于USB框架的V4L2设备,目前有很多USB接口的摄像头,都是使用的这个框架,所以今天我们来好好整理一下 二、UVC框架介绍 UVC设备介绍 USB video class(又称为USB video device class or UVC)就是USB device class视频产品在不需要安装任何的驱动程序下

文艺小少年的博客 3011

USB UVC 3-- uvc gadget

USB分为USB Host和USB Device两种,PC一般是USB Host,手机等终端数码设备一般是USB Device。OTG是指设备既可以作为USB Device,又可以作为USB Host。在Linux中,USB Device设备称为Gadget。这个代码是应用层的,在驱动层之上。还有一个代码是可以的话比对着一起看吧,兼听则明啊。。。

fanged的专栏 4221

Linux UVC Gadget数据结构

UVC Gadget数据结构思维导图

分析攻击流量样本

利用wireshark分析.pcap攻击样本的攻击流程,利用漏洞等。

一段旅途 6844

Linux 下UVC&V4L2技术简介(三)

先抛开V4L2的架构以及为用户提供的操作接口不提。我们在了解一个设备怎么塞入一个框架的时候,我们其实最关键的就是看到代码以及结构体的描述。下面我们就来看一下这个摘自内核的描述: 文件取自linux-xlnx-xilinx-v2017.4\include\media文件夹下,大部分我们用的结构体都在v4l2-device.h和v4l2-dev.h中有描述。 /** * struct video_d...

曹太强的专栏 976

Calibre license失效的解决方法

Calibre license失效的解决方法

qq_45354630的博客 6481

Linux 下UVC&V4L2技术简介(一)

以前做过一点儿USB相关的东西,最近因为项目需要学习了一下多媒体的相关知识。继而想了解一下UVC和V4L2的相关知识。 首先介绍两个概念: UVC: USB video class(又称为USB video device class or UVC)就是USB device class视频产品在不需要安装任何的驱动程序下即插即用,包括摄像头、数字摄影机、模拟视频转换器、电视卡及

曹太强的专栏 3万+

【Unity】【模型】【AI建模】如何将AI生成的GLB格式3D模型文件导入Unity

本文介绍了一个将AI工具自动生成的GLB格式3D模型文件转换成fbx模型文件导入Unity的步骤。

O青草O的博客 Unity和游戏制作知识分享 1358

开发板的使用

一、开发板使用学习大纲。 1、开发板组成、核心板资源,底板资源。 2、开发板连接、调试工具、串口参数配置。 3、开发板启动过程。 4、文件传输 1)使用串口传输。 上传/下载 2)使用网口传输。 上传/下载 5、临时/永久配置开发板IP地址。 6、开发板启动脚本。 二、开发板的组成。 核心板: CPU处理器: 芯片:S5P6818(三星) 内核: ARM cortex-A53 -> 八核处理器 运行内存:512MB*2=1G nandflash:4G 底板: 电源线:5V 串口...

qq_45633736的博客 2659

Linux 下UVC&V4L2技术简介(四)--介绍下camera相关的硬件部分

花了很久的时间终于画了这张丑图,往往这种东西很有内涵,哈哈哈哈哈哈哈哈 首先贴一下参考文章链接:https://blog.youkuaiyun.com/Edmund_G/article/details/22986973?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158364999119725247644924%2522%252C%2522...

曹太强的专栏 1089

openEuler Embedded新增软件包及在线安装软件方法

openEuler Embedded是基于Yocto构建的嵌入式操作系统,默认不包含dnf/apt软件包管理器,主要使用rpm格式。新增软件需通过manifest文件检查是否集成,未集成则需适配新配方。对于在线安装需求,可采用轻量级容器方案:通过isulad运行openEuler服务器版容器镜像,在容器内使用dnf命令安装软件(如Nginx),实现服务器生态兼容。部署前提包括设备支持、存储空间(≥10GB)和网络连接,需先安装并启动isulad服务。这种方法结合了嵌入式系统的轻量化特性和服务器系统的软件管理

专注嵌入式开发与 Linux 系统应用实战,分享芯片驱动、设备调试、系统工具开发干货。 1225

UVC框架,V4L2编程

V4L编程

qq_42425882的博客 770

渗透测试之哥斯拉实战

可以直接在这里使用meterpreter命令进行对服务端的控制。选择目标 - 添加,配置连接信息,之后测试连接成功!php的shell功能如图。先要进行数据库的配置信息。可以直接在这里打包全站。

大河之犬的博客 2488

基于深度学习的堰塞坝表层颗粒物质识别研究

本文提出一种基于深度学习的堰塞坝表层颗粒物质智能识别方法,针对颗粒分布散乱、背景复杂的问题,采用"大颗粒逐个识别、密集小颗粒分块识别"策略。结合Mask R-CNN、SLIC和AlexNet构建识别模型,通过无人机影像实现自动识别。实验表明该方法精度超过90%,具备迁移能力。文章提供了Python实现代码,涵盖数据预处理、SLIC分割、模型构建(Mask R-CNN和AlexNet)及训练流程,为堰塞坝应急抢险提供技术支持。

huanghm88的专栏 181

【Linux驱动】Linux--USB免驱摄像头驱动分析(基于5.4内核)

UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,已成为USB org标准之一。​ 如今的主流操作系统(如Windows XP SP2 and later, Linux 2.4.6 and later, MacOS 10.5 and later)都已提供UVC设备驱动,因此符合UVC规格的硬件设备在不需要安装任何的驱动程序下即可在主机中正常使用。

szembed的博客 4774

RK3576 调试ov2735 mipi-csi摄像头

摘要:本文记录了基于RK3576平台调试OV2735 MIPI摄像头的全过程。开发环境采用Linux 6.1内核和Buildroot文件系统。调试步骤包括:1)硬件检查(电源、晶振和引脚连接);2)驱动配置(设备树节点、ISP通道设置);3)驱动验证(通过ID检测和I2C工具测试);4)推流测试(使用v4l2和gstreamer工具)。重点解决了复位引脚配置、时钟命名匹配等关键问题,并通过寄存器检查确保初始化正常。最终实现了摄像头数据流的成功输出,为嵌入式视觉应用开发提供了完整参考方案。

qq_45147279的博客 1062

【亲测免费】 UVC Gadget 项目安装和配置指南

UVC Gadget 项目安装和配置指南 1. 项目基础介绍和主要编程语言 项目基础介绍 UVC Gadget 是一个用于增强 UVC(USB Video Class)设备测试应用程序的开源项目。该项目旨在提供一个用户空间的应用程序,用于测试和增强 UVC 设备的性能。UVC Gadget 项目的主要功能包括支持多种视频格式、分辨率和 USB 传输速度,以及提供详细的命令行选项来配置和控制 UVC...

gitblog_09258的博客 1051

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Linux】在Xilinx平台上实现UVC Gadget(1)

本文介绍了如何在Xilinx平台实现UVC Gadget

王师傅 3834

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android usbcamera流程,Android USB Camera(1) : 调试记录

1. 前言前段时间调试了一个uvc摄像头,这里做下记录。硬件平台为mt6735,软件平台为android 5.02. 底层配置UVC全称是usb video class,一种usb视频规范。所有遵循uvc协议的摄像头都不需要安装额外的驱动,只需要一个通用驱动即可。Linux内核已经集成了uvc驱动,代码路径是kernel-3.10/drivers/media/usb/uvc/2.1 打开配置Lin...

weixin_33497518的博客 2593

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

UVC Gadget 开源项目教程

UVC Gadget 开源项目教程 1. 项目介绍 UVC Gadget 是一个纯C编写的库,用于实现USB视频类(UVC)设备的功能。它设计用于在具有OTG接口的Linux系统上运行,作为一个USB连接的设备端驱动程序。当驱动绑定到系统后,它表现为一个V4L2设备,具备视频输出能力。通过USB线缆连接到主机时,该驱动程序配合相应的用户空间程序,可以让主机识别出一个符合UVC规范的设备。 2. 项...

gitblog_00072的博客 998
上一篇: Linux 下UVC&V4L2技术简介(一)
下一篇: 在北京打拼的意义
野-百-合
博客等级 码龄17年 308粉丝 118原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值