
V4L2学习
文章平均质量分 82
Android系统攻城狮
《Android系统多媒体进阶实战》一书作者
展开
-
V4L2结构体手册
bionic/libc/kernel/uapi/linux/videodev2.h/************************************************************************************************************************************************************** This header was automatically generated from ...原创 2021-03-09 12:00:41 · 2577 阅读 · 0 评论 -
基于Video4Linux 的USB 摄像头图像采集实现
做了一段时间的摄像头图像采集,有了一些心得。在论坛上开的2410摄像头问题专贴(http://www.hhcn.com/cgi-bin/topic.cgi?forum=1&topic=247&show=0)也得到了大家的关注。在此,我将这一阶段遇到的问题,解决方法等做个总结,希望对您有所帮助。Linux本身自带了采用ov511芯片的摄像头,而市场上应用最广泛的是采用中芯微公司生转载 2016-09-08 13:24:28 · 3345 阅读 · 0 评论 -
Video for linux 2 example (v4l2 demo)
V4L2 API讲解附demo(注:从他人博客整理修正而来)(看完本文后,更简便的api请移步至video for linux 2 API)1. 定义V4L2(Video For Linux Two) 是内核提供给应用程序访问音、视频驱动的统一接口。2. 工作流程:打开设备-> 检查和设置设备属性-> 设置帧格式->转载 2016-11-16 18:37:30 · 3902 阅读 · 3 评论 -
V4L2摄像头应用编程
Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。在Linux下,所有外设都被看成一种特殊的文件,成为“设备文件”,可以象访问普通转载 2016-11-16 19:24:40 · 846 阅读 · 0 评论 -
Linux基于v4l2的视频采集(可用)
Video4linux2(简称V4L2),是Linux中关于视频设备的内核驱动。V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video\dvb\FM...,多数驱动都在向V4l2迁移。更好地了解V4L2先从应用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操转载 2016-11-17 10:54:52 · 3700 阅读 · 0 评论 -
什么是I帧,P帧,B帧
视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他们都是基于I帧来压缩数据。 1、I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面) 2、P帧表示的是这一转载 2016-11-17 13:46:18 · 664 阅读 · 0 评论 -
V4L2 获取设备支持的分辨率
{//获取摄像头所支持的分辨率 enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; struct v4l2_fmtdesc fmt_1; struct v4l2_frmsizeenum frmsize; struct v4l2_frmivalenum frmival; fmt_1原创 2016-11-17 19:23:29 · 10361 阅读 · 0 评论 -
v4l2-ctl 控制命令
# v4l2-ctlUsage:Common options: --all display all information available -C, --get-ctrl=[,...] get the value of the controls [VIDIOC_G_EXT_CTRLS] -c, --s原创 2016-11-22 19:07:46 · 28866 阅读 · 4 评论 -
MediaBuffer使用要点
做过Stagefright框架支持库开发的都知道,Android专门为数据传递封装了一个类:MediaBuffer,源码路径为:1)、头文件:frameworks/base/include/media/stagefright/MediaBuffer.h2)、实现源码:frameworks/base/media/libstagefright/MediaBuffer.cpp转载 2016-09-05 18:24:20 · 1188 阅读 · 0 评论 -
一篇不错的v4l2 (实用)
其实,我刚开始一直都不知道怎么写驱动,什么都不懂的,只知道我需要在做项目的过程中学习,所以,我就自己找了一个关于编写Linux下的视频采集监控项目做,然后上学期刚开学的时候听师兄说,跟院长做项目,没做出来也没关系,所以直接退出博士的团队,投靠了院长的门下,呵呵,说到这里其实并不是我太见风使驼了,而是····老是让我做单片机的东东,我嫌没意思,他也知道我一开始就要学嵌入式,所以,最后,我想了一下,既转载 2016-09-05 12:26:38 · 1532 阅读 · 0 评论 -
解读Android 4.0 Camera原生应用程序的设计思路
转自:http://blog.chinaunix.net/uid-26765074-id-3571064.html1. 设置摄像头方向2. 打开线程与预览线程 3. 设置参数4. Camera外设按键5. 自动对焦与触摸对焦6. 拍照7. 人脸检测8. 位置管理9. 旋转管理10. 变焦11. 录像转载 2016-08-31 19:20:38 · 573 阅读 · 0 评论 -
Android Camera数据流分析全程记录(overlay方式一)
Android Camera数据流分析全程记录(overlay方式)这里为什么要研究overlay方式呢?android camera需要driver和app层需要有大量数据需要传输,如果使用非overlay方式进行数据从driver到app层的传输,使系统性能受到很到影响,使系统速度变慢,同时会影响功耗等,而在camera preview module时,通常我们是不必要将采集的数据转载 2016-08-31 19:29:27 · 981 阅读 · 0 评论 -
Android Camera数据流分析全程记录(overlay方式二)
Android Camera数据流分析全程记录(overlay方式)上一篇文章overlay这个过程已经走了一遍,但是根本是这个流程还没有走完,由上一篇文章知道,最后调用了postFrame方法,postFrame这个方法都实现了什么样的功能呢???他是怎样是的从driver获得的数据最终显示成图像的呢??这个问题我一直在寻求答案,不过很悲催啊??这个postFrame方法我始终没有理转载 2016-08-31 19:39:29 · 963 阅读 · 0 评论 -
Android Camera之SurfaceView学习
Android之SurfaceView学习首先我们先来看下官方API对SurfaceView的介绍SurfaceView的API介绍Provides a dedicated drawing surface embedded inside of a view hierarchy. You can control the format of this surface and转载 2016-08-31 19:51:35 · 530 阅读 · 0 评论 -
Android Camera架构浅析
1、Camera成像原理介绍Camera工作流程图Camera的成像原理可以简单概括如下:景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过IO接口传输到CPU中处理,通过DISPLAY就可以看到图像了。电荷耦合器件(CCD)转载 2016-08-31 20:19:37 · 481 阅读 · 0 评论 -
介绍 Android 的 Camera 框架
总体介绍 Android Camera 框架从整体上看是一个 client/service 的架构,有两个进程:一个是 client 进程,可以看成是 AP 端,主要包括 JAVA 代码与一些 native c/c++代码;另一个是 service 进 程,属于服务端,是 native c/c++代码,主要负责和 linux kernel 中的 camera driver 交互,搜集转载 2016-08-31 20:22:35 · 1472 阅读 · 0 评论 -
Android Camera 通过V4L2与kernel driver的完整交互过程
之前在 Android Camera 的执行流程 http://blog.chinaunix.net/uid-26765074-id-3499537.html 这篇文章中已经详细介绍了Android Camera app到调用open打开camera 设备的完成过程,但是只是到此为止,并未对较底层的操作控制等做任何分析,今天就要进入这个环节了这里就直接从open那个方法开始转载 2016-08-31 20:37:23 · 861 阅读 · 0 评论 -
V4L2视频应用程序编程架构
V4L(video4linux是一些视频系统,视频软件、音频软件的基础,经常时候在需要采集图像的场合,如视频监控,webcam,可视电话,经常使用在embedded linux中是linux嵌入式开发中经常使用的系统接口。它是linux内核提供给用户空间的编程接口,各种的视频和音频设备开发相应的驱动程序后,就可以通过v4l提供的系统API来控制视频和音频设备,也就是说v4l分为两层,底层为音视转载 2016-08-31 20:42:52 · 651 阅读 · 0 评论 -
Camera--V4L2驱动学习记录
Video for Linux TwoV4L2的是V4L的第二个版本。原来的V4L被引入到Linux内核2.1.x的开发周期后期。Video4Linux2修正了一些设计缺陷,并开始出现在2.5.X内核。Video4Linux2驱动程序包括Video4Linux1应用的兼容模式,但实际上,支持是不完整的,并建议V4L2的设备使用V4L2的模式。要想了解 V4l2 有几个重要的文档转载 2016-08-31 20:45:38 · 593 阅读 · 0 评论 -
Android Camera TakePicture過程分析
接著上一篇文章,繼續講解camera拍照等具體功能實行流程Camera子系统采用C/S架构,客户端和服务端在两个不同的进程当中,它们使用android中的binder机制进行通信,本系列文章将从Android Camera应用程序到硬件抽象的实现一步一步对照相机系统进行分析,首先从CameraService初始化过程着手,然后从上层APP打开照相机->进行preview->拍照以及聚焦等功转载 2016-08-31 20:51:18 · 909 阅读 · 0 评论 -
Android Camera 运行流程
首先既然Camera是利用binder通信,它肯定要将它的service注册到ServiceManager里面,以备后续Client引用,那么这一步是在哪里进行的呢?细心的人会发现,在frameworks\base\media\mediaserver\Main_MediaServer.cpp下有个main函数,可以用来注册媒体服务。没错就是在这里,CameraService完成了服务的注册,相关代转载 2016-08-31 20:52:24 · 595 阅读 · 0 评论 -
和菜鸟一起学linux之V4L2摄像头应用流程
转自:http://blog.youkuaiyun.com/eastmoon502136/article/details/8190262 对于v4l2,上次是在调试收音机驱动的时候用过,其他也就只是用i2c配置一些寄存器就可以了。那时只是粗粗的了解了,把收音机当作v4l2的设备后会在/dev目录下生成一个radio的节点。然后就可以操作了。后来就没怎么接触了。这周,需要调试下usb的摄像转载 2016-08-31 18:13:47 · 836 阅读 · 0 评论