Linux 下UVC&V4L2技术简介

以前做过一点儿USB相关的东西,最近因为项目需要学习了一下多媒体的相关知识。继而想了解一下UVC和V4L2的相关知识。

首先介绍两个概念:

UVC:

USB video class(又称为USB video device class or UVC)就是USB device
class
视频产品在不需要安装任何的驱动程序下即插即用,包括摄像头、数字摄影机、模拟视频转换器、电视卡静态视频相机

最新的UVC版本为UVC 1.5,由USB-IFUSB
Implementers Forum
)定义包括基本协议及负载格式 [1] [2].

这是wikipedia的解释。

这个链接是Linux中对UVC支持的相关描述。http://www.ideasonboard.org/uvc/

V4L2:

Video4Linux或V4L是一个视频截取及设备输出API,以及Linux的驱动程序框架,支持很多USB摄像头电视调谐卡以及其他设备。Video4Linux与Linux内核紧密集成,Video4Linux取名的灵感来自Video
for Windows
(有时候会缩写为“V4W”),但两者在技术上并没有任何关系[1][2]

从两个的介绍也能看出来这两者之间的关系。

简单的讲V4L2就是用来管理UVC设备的并且能够提供视频相关的一些API。那么这些API怎么使用或者能被谁使用呢。在Linux系统上有很多的开源软件能够支持V4L2。常见的又FFmpeg、opencv、Skype、Mplayer等等。

时间: 2024-11-03 05:30:34

Linux 下UVC&V4L2技术简介的相关文章

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

通过前文Linux 下UVC&V4L2技术简介(一)我们了解了UVC和V4L2的简单知识. 那么如果我们想运行一个UVC的camera设备需要做哪些工作呢? 我简单的查看了几个CM项目的kernel配置文件,发现在这些系统里面的V4L2的驱动配置选项都是打开的,但是CONFIG_USB_VIDEO_CONFIG选项是没有打开的,也就是说在现在CM支持的机型里面默认是不支持UVC camera的. 这样的情况就给开发者带来很大的不便,因为这样以来,UVC camera就不能作为一个android系

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

通过前文Linux 下UVC&V4L2技术简单介绍(一)我们了解了UVC和V4L2的简单知识. 这里是USB设备的文档描写叙述:http://www.usb.org/developers/docs/devclass_docs/ 那么假设我们想执行一个UVC的camera设备须要做哪些工作呢? 我简单的查看了几个CM项目的kernel配置文件,发如今这些系统里面的V4L2的驱动配置选项都是打开的,可是CONFIG_USB_VIDEO_CONFIG选项是没有打开的,也就是说在如今CM支持的机型里面默

Linux下kvm虚拟化技术的安装与使用

Linux下kvm虚拟化技术的安装与使用 云时代的到来,虚拟化的广泛应用.让我们重新的科技进行了定义.而当下知名的虚拟化产品有 vmware vsphere ,Hyper-v,xen,kvm.vmware的虚拟化所占的市场有目共睹,Hyper-V是windows平台下的虚拟化,而Xen就属于一个半虚拟化产品.kvm就是我们今天所介绍的对象. (kvm是kernel virtual module的简写)kvm是红帽公司5.4版本后所推出的最新虚拟化技术产品.它和vpc,virtual  box都属

linux下netlink的使用简介

linux下netlink的使用简介 一.什么是netlink Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口. 在Linux 内核中,使用netlink 进行应用与内核通信的应用有很多,如 路由 daemon(NETLINK_ROUTE) 用户态 socket 协议(NETLINK_USERSOCK) 防火墙(NETLINK_FIREWALL) netfilter 子系统(NETLINK_NETFILTER) 内

Linux下gcc与gdb简介

gcc编译器可以将C.C++等语言源程序.汇编程序编译.链接成可执行程序.gdb是 GNU 开发的一个Unix/Linux下强大的程序调试工具. linux下没有后缀名的概念.但 gcc 根据文件的后缀来区别输入文件的类别: .c C语言源代码文件.a 由目标文件构成的库文件.C..cc..cpp  C++源码文件.h 头文件.i 经过预处理之后的 C 语言文件.ii 经过预处理之后的 C++ 文件.o 编译后的目标文件.s 汇编源码文件.S 经过预编译的汇编源码文件 程序由C.C++源代码到可

Linux下利用coredump技术追查进程崩溃原因

原文链接:https://blog.csdn.net/u014585564/article/details/68063269 最近项目中出现了一个问题,服务器端程序会突然崩溃退出,我们采取了coredump技术以找到崩溃原因,即确定进程退出时正在执行的函数是哪个,其状态如何. 如果系统开启了coredump,准确的说如果当前的shell环境开启了coredump,当前shell环境下的程序崩溃退出时,会把当时进程的栈的内存状态写入core文件.使用gdb可以查看这个core文件中保存的栈的状态,

Linux 下 grep 命令常用方法简介

1.从单个文件中搜索指定的字符串: $ grep "literal-string" filename 该命令会输出字符串在文件中所在行的内容,如果字符串没有空格,则可以不加双引号.filename 可以是多个文件,每个文件用空格隔开. 加 -i 参数可以忽略大小写. 加 -u 参数搜索一个单词而不是搜索含该单词的字符串 2.显示匹配行附近的多行: -A 显示匹配行之后的n行 $ grep -A n "string" filename -B 显示匹配行之前的n行 $

快速建立linux下的vpn服务器做加密代理

原文出处: http://www.xfocus.net/articles/200610/893.html 创建时间:2006-10-27文章属性:原创文章提交:fatb (fatb_at_security.zz.ha.cn) 作者:baoz日期:2006-10-26http://baoz.nethttp://xsec.org1妹儿:perlish(*)gmail.com or [email protected] (有时gmail收不到信或者会被当垃圾邮件过滤掉)欢迎转载任何人任何时候转载到任何地

.NET作品集:linux下的.net mvc cms

cms程序架构 本程序是主要是用于企业网站开发的,也可以做博客程序,程序是从之前上一篇的.net 博客程序改进过来的,主要技术由webform转成.net mvc了,由于是很早之前的项目,12年还是mvc3版本,当然还是跑在linux下的. 技术栈 .net framework 4.0 sqlite 数据库 mono linux 运行环境以及mono下的sqlite库 razor 模板引擎 dapper 轻量级orm框架 vs2017 社区版本 这次的开发工具比较新了吧,上次用vs2010发的,