全志T113-S3开发板测试—UVC 摄像头

描述

 

前言:

      UVC(USB Video Class)是一种基于USB协议的视频设备标准,可以让USB外接摄像头能够在不同的操作系统和平台上进行兼容,无需安装额外的驱动程序。在实际应用场景中,我们通常使用UVC协议实现USB摄像头和开发板之间的数据传输。本文将介绍UVC协议的相关知识,并演示如何检测UVC摄像头。

 

产品简介

 

眺望电子EVM-T113-S3是一款基于全志T113-S3双核ARM Cortex-A7+ 单核HiFi4 DSP异构多核处理器设计的国产工业评估板。ARM Cortex-A7处理器单元主频高达1.2GHz。评估板由核心板和评估底板组成,核心板CPU、ROM、RAM、电源、晶振等所有元器件均采用国产工业级方案,国产化率100%。评估板接口资源丰富,引出一路千兆网口、双路CAN、双路USB、一路RS485等通信接口,具有丰富视频多媒体接口,支持1080P@60FPS JPEG/MJPEG视频硬件编码,支持H.265/H.264 1080P@60FPS视频硬件解码。UVC 摄像头使用的是USB HOST接口,网络摄像头通常支持 USB 视频类 (UVC) 驱动程序,并且在 Linux 上,系统采用标准的 Video4Linux (V4L) 驱动程序控制 UVC 摄像头。使用摄像头之前咨询厂家或查看说明书确定摄像头支持UVC协议。

开发板

图1 EVM-T113-S3 评估板接口布局图

 

UVC 摄像头测试

UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,已成为USB org标准之一。

UVC协议规定了USB摄像头与主机之间的通信协议,定义了摄像头在主机上的功能和特性,可视为一种简化版的USB HID协议。在UVC协议下,摄像头与主机之间通过流水线传输图像数据。摄像头发送视频流、音频流等给主机,主机解码后在屏幕上显示出来。

在应用中,UVC协议的主要作用就是建立起处理器与USB摄像头之间的通信桥梁,实现数据传输。UVC协议将数据传输分成了两个阶段:设备描述符阶段和数据传输阶段。前者主要负责描USB摄像头的功能和特性,后者则负责传输即时数据。

 

 1  摄像头识别检测

  •  
  •  

# v4l2-ctl --list-devices#查看设备结点,可见/dev/video0、/dev/video1 为 USB摄像头结点

开发板


 

 2  格式支持查询

  •  

# v4l2-ctl --list-formats-ext -d /dev/video0 #查看摄像头支持的格式

开发板


 

 3  摄像头采集格式查询

  •  

# v4l2-ctl -V -d /dev/video0

开发板


 

 4  摄像头图像预览(NV12 格式)

  •  

# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=640,height=480 ! videoconvert ! autovideosink

开发板


 

 5  摄像头图像预览(MJPG 格式)

  •  

# gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,width=640,height=480,framerate=30/1 ! queue ! jpegdec ! videoconvert ! autovideosink

开发板

 

 6  摄像头拍照(JPG 图片)

  •  

# gst-launch-1.0 -e v4l2src device=/dev/video0 num-buffers=1 ! jpegenc ! filesink location=camera.jpg

开发板

显示拍摄的图片

  •  

# gst-launch-1.0 filesrc location=camera.jpg ! decodebin ! videoconvert ! autovideosink


 

 7  摄像头拍照(PNG 图片)

  •  

# gst-launch-1.0 -e v4l2src device=/dev/video0 num-buffers=1 ! video/x-raw,format=YUY2,width=640,height=480 ! videoconvert ! video/x-raw,format=RGBA ! pngenc ! filesink location=camera.png

开发板

显示拍摄的图片

  •  

# gst-launch-1.0 filesrc location=camera.png ! pngdec ! videoconvert ! video/x-raw,format=RGB ! autovideosink

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分