UVC摄像头

发布时间:2026/7/30 1:19:57

UVC摄像头
1 版本历史1.1 UVC uvc_versionUVC 1.0: Sep-4-2003UVC 1.1: Jun-1-2005UVC 1.5: August-9-2012, H.264 video codec. Linux 4.5 introduces UVC 1.5, but does not support H264.1.2 V4L版本历史Video4Linux取名的灵感来自1992 Video for WindowsV4W但两者在技术上并没有任何关系。Linux 2.5.462002年11月发布natively支持V4L2Linux 2.6.262008年发布natively支持UVCGSPCA使用的是V4L规范2 UVC数据包格式2.1 UVC帧格式Figure 2-1 UVC Video Data Header FormatFigure 2-2 UVC帧格式每16KB的一次Bulk burst中包含一个12字节的Video Header并且每一次的Bulk burst对应一个URB。2.2 主流UVC摄像头支持的格式V4L2_PIX_FMT_MJPGV4L2_PIX_FMT_YUYVV4L2_PIX_FMT_H264V4L2_PIX_FMT_JPEGUSB摄像头的成像效果一般不稳定对着日光灯拍照会有flicker现象。原因是日光灯照射时光照比较充足只需要很短的时间譬如1/120秒或者1/100秒sensor像素就可以获得足够的电流然后sensor中的ADC就启动转换。2.3 Linux数据包解码1ISO一个URB对应一帧等于number_of_packets * BPIwBytesPerInterval其中BPI packet的大小 x burst的个数。只有高速和全速端点支持同步传输高速同步端点的最大包长度为1024400h全速同步端点的最大包长度为10233FFh。2Bulk一个URB对应dwMaxPayloadTransferSizedwMaxPayloadTransferSize packet的大小 x burst的个数。3解码函数分别如下所示。drivers/media/usb/uvc/uvc_video.cuvc_video_decode_start()uvc_video_decode_data()uvc_video_decode_end()2.4 UVC H264 - 180P or 360PUVC头只有两个有效位置标记帧起始FID和帧结束EOF主机能得到的位置信息只有只是新一帧的开始FID翻转和帧到此结束EOF 1。也就是说同一帧内所有USB包的FID是同样的值要么是1要么是0同一帧内除了最后一个USB包的EOF是1其它USB包的EOF都是0。检测到EOF为1时表示一个NALU或者分段结束忽略头部4字节0x00000001然后检查这一帧是不是SPS帧如果是就解析出width和height。3 Still Image CaptureFigure 3-1 Still Image Capture其中Method 1和Method 3属于ZSL。方法一是从preview中截图。方法三是专用的端点类似于手机ISP专用的snapshot AXI port拍照。方法二是preview和拍照二选一属于传统模式拍照时停止预览拍完时恢复预览。4 协议bInterfaceClass/bInterfaceSubClass/bInterfaceProtocol0x0E/0x01/0x00和0x0E/0x02/0x005 libuvclibuvc based on libusbhttps://github.com/libuvc/libuvchttps://ken.tossell.net/libuvc/6 主控芯片6.1 EZ-USB CX314-lane CSI-2接口2芯片内部没有ISP和JPEG编码器所以只支持V4L2_PIX_FMT_YUYV可以在CIS和CX3之间外挂ISP解决Camera的效果处理问题3使用ThreadX6.2 SanJet DVR7 Tools7.1 UVC播放器AMCap: ActiveMovie CaptureVLC: [Tools][Preferences][All][Input / Codecs][Demuxers][H264]gstreamer7.2 Wireshark分析RTP中的H264码流1用Wireshark打开.pcap文件2右键点击H264的UDP包选择“Decode as…”选择 RTP点击OK之后UDP就解析成RTP包了3查看RTP包的payload type通常H264 SDP文件中指定了类型是964WireShark工具栏中选择Edit – preferences – protocols – H264把“H264 dynamic payload types”设成96点击OK。以后payload就可以自动解析了8 URLshttps://github.com/joeshang/joycar/blob/master/module/v4l2_camera/decoder_mjpeg.cLinux UVC driver and toolshttp://www.ideasonboard.org/uvc/9 AbbreviationsADASAdvanced Driver Assistance System先进驾驶辅助系统Bosch提供整个方案模块AFEUSB PHY Analog Front-endARCArgonant RISC CoreAT91SAM9260SAM means Smart ARM-based MicrocontrollerATMEL SAMBAATMEL Smart ARM-based Microcontroller Boot AssistantBYODbring-your-own-deviceCarPlay和Android Auto就属于BYODC2BADI Car Camera BusDMSDriver Monitoring System疲劳驾驶监控使用GHS INTEGRITY RTOS系统通过车载以太网通信PHY工作在Master模式连接时会主动和Slave PHY进行链路训练法国Valeo提供方案DWC2Design Ware Controller 2Apple的嵌入式设备包括iPad和iPhone都是使用的DWC2EVSExterior View SystemAndroid车载系统Camera架构HAL层不同于手机Camera架构FourCCFour-Character CodesGSPCAGeneric Software Package for Camera Adapters开始是为了支持Sunplus凌阳单片机camera模组spca50xSunPlus CAmera后来基于这个驱动进行扩展变成了通用的驱动gspca所以缩写里面仍然包含了spca关键字已经不再维护现在使用uvc。HSSQUSB PHY High-speed SquelchISP1161Philips Integrated host Solution Pairs 1161“Firms introduce USB host controllers”https://www.eetimes.com/document.asp?doc_id1290054LeicaLeitz CameraSL811HSCypress/ScanLogic 811 Host/Slave性能上与ISP1161Integrated host Solution Pairs 1161相当SPSSequence Parameter Set序列参数集suspendMUTMI suspend MacrocellTDITransDimension Inc.该公司首先发明了将TT集成到EHCI RootHub中的方法这样对于嵌入式系统来说就省去了OHCI/UHCI的硬件同时降低了成本作为对该公司的纪念Linux内核定义了宏ehci_is_TDI(ehci)产品UHC124表示USB Host Controller收购了ARC USB技术现已被chipidea收购chipidea又被mips收购TTTransaction Translator事务转换器将USB2.0的包转换成USB1.1的包

相关新闻

从代码生成到需求交付:一个开发 Skill 的工程化实践

从代码生成到需求交付:一个开发 Skill 的工程化实践

2026/7/30 1:19:57

AI 写代码已经不难了。补全方法、生成接口、修改页面、编写单元测试,主流编程模型都能完成。真正难的是把 AI 放进一个拥有数千个文件、多人协作多年、需求材料分散的真实项目后,它还能不能把一个需求完整交付。最近,腾讯技术团队分享了一套移…

个人常用记录

个人常用记录

2026/7/30 1:19:57

个人常用记录 一)CMakeLists.txt中设置多线程编译: set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP" ) 二)SmartGit 设置默认hooks: 拷贝commit-msg…

GetQzonehistory:如何一键永久备份你的QQ空间完整记忆库

GetQzonehistory:如何一键永久备份你的QQ空间完整记忆库

2026/7/30 1:09:57

GetQzonehistory:如何一键永久备份你的QQ空间完整记忆库 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,我们的青春记忆往往散落在各种社交平台中&am…

系统编程语言的下一代范式:所有权、借用与代数类型的语言设计趋势

系统编程语言的下一代范式:所有权、借用与代数类型的语言设计趋势

2026/7/30 2:40:01

系统编程语言的下一代范式:所有权、借用与代数类型的语言设计趋势 一、当 segment fault 不再能被容忍时,语言设计必须进化 1972 年,C 语言诞生。内存管理完全交给程序员。后果是:50 年来,缓冲区溢出、use-after-fre…

推理服务的 Serverless 化前景:冷启动、成本模型与开发者体验的三角博弈

推理服务的 Serverless 化前景:冷启动、成本模型与开发者体验的三角博弈

2026/7/30 2:40:01

推理服务的 Serverless 化前景:冷启动、成本模型与开发者体验的三角博弈 一、一个 70B 模型从 0 到 ready 的 45 秒,是 Serverless 的死穴还是可逾越的鸿沟 做过一个实验:在 A100-80G 上冷启动一个 Llama-3-70B 推理服务。从磁盘加载模型权…

白嫖党的生图工具怎么选?2026年免费的AI图片生成工具推荐

白嫖党的生图工具怎么选?2026年免费的AI图片生成工具推荐

2026/7/30 2:40:01

大家好,我是xiao阿娜,一名专注AI工具测评与教程分享的博主。做免费的AI图片生成工具推荐这个话题,大家问得实在太多了。很多用户的需求其实很简单——不是要批量产图、也不是要4K商业大片,就是日常出个社交头像、做个小红书封面图…

2026上海家装甄选参考:从设计、施工、口碑盘点沪上本土实力装修公司

2026上海家装甄选参考:从设计、施工、口碑盘点沪上本土实力装修公司

2026/7/30 2:40:01

随着上海二手房置换、老房翻新需求持续走高,家装市场供需热度稳步上升。不少业主在挑选装修企业时,常常陷入信息繁杂、难以对比的困境。挑选靠谱装修公司,需要结合设计原创能力、施工管控体系、市场业主口碑、企业经营规模、售后保障机制五大…

2026多人会议听记软件横向对比:说话人分离能力实测与选型参考

2026多人会议听记软件横向对比:说话人分离能力实测与选型参考

2026/7/30 2:40:01

一、为什么需要关注“说话人分离” 日常工作中,绝大多数会议录音经过普通转写工具处理后,都会出现同一个问题:所有人的发言内容堆叠在一起,无法区分谁在什么时间说了什么。尤其是4人以上的圆桌讨论、项目评审会、课堂研讨等场景&a…

L2归一化:移除向量尺度信息的技术解析与应用

L2归一化:移除向量尺度信息的技术解析与应用

2026/7/30 2:30:00

1. 为什么需要移除向量尺度信息?在机器学习和数据分析领域,我们经常会遇到需要处理向量数据的情况。这些向量可能代表文本的词嵌入、图像的像素值、用户的特征表示等等。一个常见的问题是:这些向量的绝对大小(尺度)是否…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/28 13:30:18

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/30 1:17:46

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/28 16:04:35

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

粉笔直播课适合周末集中备考考生突破吗

粉笔直播课适合周末集中备考考生突破吗

2026/7/30 0:09:54

本文面向在职备考、工作日难以抽出整块时间、只能依靠周末集中复习的公考考生,围绕"该平台直播课是否适配周末集中备考节奏、能否支撑瓶颈突破"这一核心问题做客观拆解。文中数据来源于公开财报、官网公示价格、第三方投诉平台公开投诉及用户社区讨论&…

ThreadLocal(存取变量)实战获取当前登录的员工

ThreadLocal(存取变量)实战获取当前登录的员工

2026/7/30 0:09:54

注意AOP所应用的注解以及service方法上自定义的Log注解

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案

2026/7/30 0:09:54

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案 【免费下载链接】inav INAV: Navigation-enabled flight control software 项目地址: https://gitcode.com/gh_mirrors/in/inav INAV飞控配置是每个无人机爱好者必须掌握的核心技能,但很多新手…