前言

YUY2和MJPG是现在通用的两种不同的视频输出格式;V4L2 是专门为 linux 设备设计的一套视频框架,其主体框架在 linux 内核,可以理解为是整个 linux 系统上面的视频源捕获驱动框架;UVC全称usbvideo class即:USB视频类,是一种专门为USB视频捕获设备(比如USB摄像头)定义的协议标准。
先讲UVC :

UVC

UVC 全称为 USB Video Class,直接翻译过来的意思就是:USB 视频类,它是一种专门为 USB 视频捕获设备定义的协议标准。
这个标准是 Microsoft 与另外几家设备厂商联合推出的为 USB 视频捕获设备定义的协议标准,已经成为 USB org 标准之一。
如今的主流操作系统(如Windows ,Linux, MacOS)都已提供UVC设备驱动,因此符合UVC规格的硬件设备在不需要安装任何的驱动程序下即可在主机中正常使用。使用UVC技术的包括摄像头、数码相机、类比影像转换器、电视棒及静态影像相机等设备。
如下图就是一个USB摄像头,支持UVC协议(其实现在大部分能买到的一般摄像头都支持UVC协议)。

图源网络,侵删。

YUY2和MJPG

在绝大多数摄像头所采用的是免驱摄像头(如上所述),一般有这几种传输格式,YUY2和MJPG和RGB,YUY2是无压缩图像格式的视频,系统资源占用少(因为不用解码),不需要解码器,缺点是帧率稍慢(受限于USB分配的带宽),MJPG是相当于JPEG图像压缩格式,优点是帧率高(视频开启快,曝光快),缺点是影像有马赛克,并且需要解码器,会占用PC系统资源。
可以用potplayer软件查看并更改自己手上的摄像头的属性。如下图输入格式为MJPG表明,摄像头传进电脑的视频格式是MJPG格式,需要经过FFmepg编码器解码后才能正常播放。而RGB格式是我们经常听到的一种。

下图中可以看到该摄像头支持的编码格式可以手动修改。

V4L2

V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。V4L2 是专门为 linux 设备设计的一套视频框架,其主体框架在 linux 内核,可以理解为是整个 linux 系统上面的视频源捕获驱动框架.
众所周知,Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件。视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video*下,如果只有一个视频设备,通常为/dev/video0。V4L2就是针对uvc免驱usb设备的编程框架。

YUY2、MJPG、V4L2、UVC等的介绍与分析相关推荐

  1. Solr Cache使用介绍及分析

    本文将介绍Solr查询中涉及到的Cache使用及相关的实现.Solr查询的核心类就是SolrIndexSearcher,每个core通常在同一时刻只由当前的SolrIndexSearcher供上层的h ...

  2. 简单的DPDK介绍与分析

    DPDK介绍及分析 什么是DPDK Intel® DPDK 全称 __Intel Data Plane Development Kit__,是intel提供的数据平面开发工具集,为Intel arch ...

  3. mos 多路模拟电子开关_【原创】单火线智能开关技术介绍及分析

    文章来自电子星球APP--<单火线智能开关技术介绍及分析> 作者:leo.zhao 单火线智能开关的概念 众所周知,国内220V电网市电有两根线:一根火线和一根零线,此外为了保护人身安全有 ...

  4. libnet介绍与分析

    libnet介绍与分析 当前,基于socket的网络编程已成为当今不可替代的编程方法,它将网络通讯当作文件描述符进行处理,把对这个"网络文件"(即socket套接字)的操作抽象成一 ...

  5. 组播IGMP-原理介绍+报文分析+配置示例

    个人认为,理解报文就理解了协议.通过报文中的字段可以理解协议在交互过程中相关传递的信息,更加便于理解协议. 因此本文将在IGMPv2协议报文的基础上进行介绍,以详细介绍主机-路由器IGMP组播协议.I ...

  6. typecpd协议规范 C语言,USB-C(USB Type-C)规范的简单介绍和分析

    USB-C(USB Type-C)规范的简单介绍和分析 作者:wowo 发布于:2017-12-18 16:18 分类:USB 1. 前言 从1996年1月USB1.0正式发布至今(2017年9月 U ...

  7. [智能座舱]小鹏G9语音新功能介绍与分析

    自从2020年小鹏P7上市后,其搭载的全场景语音交互系统就成为车载语音交互产品的标杆.小鹏G9发布也带来了语音系统的升级.因为目前市面上还没办法体验到最新的系统,本文根据B站的体验视频,对小鹏G9上的 ...

  8. 国内外数据安全治理框架介绍与分析

    本文将介绍和分析:微软 DGPC框架,Gartner 数据安全治理框架 DSG,数据安全能力成熟度模型 DSMM 数据治理与数据安全治理系列文章 https://luozhonghua.blog.cs ...

  9. 模拟退火算法介绍、分析与应用

    文章目录 模拟退火算法介绍.分析与应用 模拟退火原理 固体退火 模拟退火 通俗理解 解释 符号说明 算法思想 Metropolis SAA机制与原理 伪代码 算法组成与分析 优点 缺点 改进方案 解决 ...

最新文章

  1. Webpack原理与实践
  2. python爬虫写入数据库_Python爬虫数据写入操作
  3. [源码和文档分享]C语言实现的基于Huffman哈夫曼编码的数据压缩与解压缩
  4. 希望博客园可以开个邮件列表
  5. 如何使用Excel的数据去查询数据库?
  6. 全套web前端课程思维导图+视频+源码 web高端课程 深入学习 624个视频教程
  7. 干货!情感计算理论基础必看知识!!
  8. MFC调用RDP实现远程桌面共享实例
  9. HTML流式布局是什么,什么是流式布局?流式布局是什么意思?
  10. Learn OpenCV之Heatmap
  11. [数据库+python] 定时爬取B站日榜与微博热搜榜信息并保存至数据库
  12. 快速入门一个简单的情感分类项目
  13. Hybrid Dilated Convolution学习笔记
  14. NCE4 L5 Youth
  15. 多人在线编辑文档 开发_十个在线小工具,科研amp;工作必备神器!
  16. 应用 Serverless 化,让业务开发心无旁骛
  17. 一般迭代法与steffensen迭代法matlab实现
  18. 什么是单例模式以及单例模式的几种实现
  19. 通过电气化来减少排放量 - 白皮书
  20. UVM virtual interface errors

热门文章

  1. excel html 查询,html 连接 excel表格数据库数据-利用EXCEL表格为数据库制作查询网页...
  2. idea 插件开发一些异常处理
  3. Docker下载镜像及运行容器
  4. 宝塔面板内存占用率优化
  5. SpringBoot集成Redis实战——步骤、坑点、解决方案
  6. 学习 JavaScript
  7. 如何评价《非暴力沟通》这本书?
  8. android百度地图定位到非洲,解决办法
  9. 如何在Python中将数字文件存储在数据库中
  10. 士兵职业基本适应性测试软件,士兵职业基本适应性检测系统 类型1.2.3怎么分...