当前位置:网站首页>USB host driver - UVC swap
USB host driver - UVC swap
2022-07-06 19:19:00 【Be good to me】
1. issue description
yavta It's a test APP, test UVC Data acquisition and return of camera .
yavta -f YUYV -s 1280x720 -t 1/60 -c100 /dev/video0 -F/data/yua
Frame rate 60FPS Not working properly ,blocked, all frame fail.
yavta -f YUYV -s 1280x720 -t 1/30 -c100 /dev/video0 -F/data/yua
Frame rate 30FPS Normal operation , But there will also be some packet losses .
1.1 Some parameters of the image
Frame rate :FPS( How many frames per second ); as well as Gop( Indicates how many seconds a I frame ), Affect fluency .
-t 1/60 // Frame rate 60, One second transmission 60 frame
The resolution of the : The number of pixels contained in an inch ; VGA:Video Graphics Array( Video image resolution ), Affect clarity .
-s 1280x720 // The resolution of the 720P
Video size : The resolution of the x 2( How many bytes does each pixel occupy ) x 8 x Frame rate x Time (s) /1024/1024
YUV422 Format frame size : The resolution of the x 2 Byte
about YUV422 Format 1080P In terms of video , An image is 1920x1080x2x8/1024/1024 = 31.64Mbit,1 Second 30 Frame images , Then there are 949.2Mb/s.
1.2 yavta Control process
[email protected]-rb5:/# strace yavta -f YUYV -s 1280x720 -t 1/60 -c100 /dev/video0
// Analytical parameters
execve("/usr/bin/yavta", ["yavta", "-f", "YUYV", "-s", "1280x720", "-t", "1/60", "-c100", "/dev/video0"], 0x7fc5203a80 /* 16 vars */) = 0
// Open the device node
openat(AT_FDCWD, "/dev/video0", O_RDWR) = 3
// Echo display
write(1, "Device /dev/video0 opened.\n", 27Device /dev/video0 opened.) = 27
// Device node ioctl
ioctl(3, VIDIOC_QUERYCAP, {
driver="uvcvideo", card="KS2A418: KS2A418", bus_info="usb-xhci-hcd.0.auto-1.3", version=4.19.125, ...) = 0
// Echo display
write(1, "Device `KS2A418: KS2A418' on `us"..., 117Device `KS2A418: KS2A418' on `usb-xhci-hcd.0.auto-1.3' (driver 'uvcvideo') supports video, capture, without mplanes.) = 117
// ioctl Set parameters
ioctl(3, VIDIOC_G_PARM, {
type=V4L2_BUF_TYPE_VIDEO_CAPTURE, parm.capture={
capability=V4L2_CAP_TIMEPERFRAME, capturemode=0, timeperframe=1/60, extendedmode=0, readbuffers=0}}) = 0
write(1, "Current frame rate: 1/60\n", 25Current frame rate: 1/60) = 25
write(1, "Setting frame rate to: 1/60\n", 28Setting frame rate to: 1/60) = 28
...
these ioctl The interface of the corresponding drive is :
// \drivers\media\usb\uvc\uvc_v4l2.c
const struct v4l2_ioctl_ops uvc_ioctl_ops = {
.vidioc_querycap = uvc_ioctl_querycap,
...
.vidioc_reqbufs = uvc_ioctl_reqbufs,
.vidioc_querybuf = uvc_ioctl_querybuf,
.vidioc_qbuf = uvc_ioctl_qbuf,
.vidioc_expbuf = uvc_ioctl_expbuf,
.vidioc_dqbuf = uvc_ioctl_dqbuf,
.vidioc_create_bufs = uvc_ioctl_create_bufs,
.vidioc_streamon = uvc_ioctl_streamon,
.vidioc_streamoff = uvc_ioctl_streamoff,
...
};
边栏推荐
- 数学知识——高斯消元(初等行变换解方程组)代码实现
- R language ggplot2 visualization: use ggviolin function of ggpubr package to visualize violin diagram
- Implementation of AVL tree
- 业务与应用同步发展:应用现代化的策略建议
- Reptiles have a good time. Are you full? These three bottom lines must not be touched!
- Master Xuan joined hands with sunflower to remotely control enabling cloud rendering and GPU computing services
- The dplyr package of R language performs data grouping aggregation statistical transformations and calculates the grouping mean of dataframe data
- Openmv4 learning notes 1 --- one click download, background knowledge of image processing, lab brightness contrast
- 主从搭建报错:The slave I/O thread stops because master and slave have equal MySQL serv
- 青龙面板最近的库
猜你喜欢
保证接口数据安全的10种方案
LeetCode-1279. Traffic light intersection
全套教学资料,阿里快手拼多多等7家大厂Android面试真题
pychrm社区版调用matplotlib.pyplot.imshow()函数图像不弹出的解决方法
Abstract classes and abstract methods
How to improve website weight
helm部署etcd集群
[depth first search] Ji suanke: Square
How are you in the first half of the year occupied by the epidemic| Mid 2022 summary
Video based full link Intelligent Cloud? This article explains in detail what Alibaba cloud video cloud "intelligent media production" is
随机推荐
Online notes
R language ggplot2 visual time series histogram: visual time series histogram through two-color gradient color matching color theme
Helm deploy etcd cluster
Based on butterfly species recognition
2022.2.12
Precautions for binding shortcut keys of QPushButton
Noninvasive and cuff free blood pressure measurement for telemedicine [translation]
Detailed idea and code implementation of infix expression to suffix expression
业务与应用同步发展:应用现代化的策略建议
Dark horse -- redis
Optical blood pressure estimation based on PPG and FFT neural network [translation]
Meilu biological IPO was terminated: the annual revenue was 385million, and Chen Lin was the actual controller
php+redis实现超时取消订单功能
Intelligent supply chain management system solution for hardware and electromechanical industry: digital intelligent supply chain "creates new blood" for traditional industries
全套教学资料,阿里快手拼多多等7家大厂Android面试真题
Problems encountered in using RT thread component fish
多线程基础:线程基本概念与线程的创建
How are you in the first half of the year occupied by the epidemic| Mid 2022 summary
青龙面板最近的库
Php+redis realizes the function of canceling orders over time