嵌入式视频开发.doc

上传人:hw****26 文档编号:4211589 上传时间:2019-10-04 格式:DOC 页数:2 大小:26.50KB
下载 相关 举报
嵌入式视频开发.doc_第1页
第1页 / 共2页
嵌入式视频开发.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、嵌入式视频开发 【1】linux 内核有 video for linux 简称 V4L。V4L 是 Linux 影像系统与嵌入式影像的基础, 是 Linux kernel 里支持影像设备的一组 APIs,配合适当的视频采集卡与视频采集卡驱动程 序,V4L 可以实现影像采集、AM/FM 无线广播、影像 CODEC、频道切换等功能。目前, V4L 主要应用在影像串流系统与嵌入式影像系统里,其应用范围相当广泛,例如:远程教 学、远程医疗、视频会议、视频监控、可视电话等。V4L 为 2 层式架构,最上层为 V4L 驱 动程序,最下层则是影像设备驱动程序。 【2】接上 USB 摄像头,硬件设备在 lin

2、ux 下都是作为文件访问,所以只需在/dev/下查找, 一般情况下为 video0。当摄像机通过 USB 接口连接到视频采集终端后,在程序中调用 V4L APIs 对设备文件 video0 的读操作即可实现摄像头视频数据采集。其主要过程如下: 1) 打开设备文件: int v4l_open(char *dev, v4l_device *vd)打开影像源的设备文件; 2) 初始化 picture: int v4l_get_picture(v4l_device *vd) 获取输入的影像信息; 3) 初始化 channel:int v4l_get_channels(v4l_device *vd) 获

3、取每个 channel 的信息; 4) 对 channel 设置 norm:int v4l_set_norm(v4l_device *vd, int norm) 对所有的 channel 设置 norm; 5) 设备地址映射:v4l_mmap_init(v4l_device *vd) 返回存放图像数据的地址; 6) 初始化 mmap 缓冲区: int v4l_grab_init(v4l_device *vd, int width, int height); 7) 视频捕获同步: int v4l_grab_sync(v4l_device *vd); 8) 视频捕获: int device_gra

4、b_frame()。 针对 USB 摄像头设备文件/dev/video0 的视频采集程序流程,首先调用 V4L_open()函数打 开视频设备,设备文件开启成功后使用 V4L_ get_capability()读取设备信息,然后选择相 应的视频采【集方式进行视频采集并对采集的图像进行处理,最后调用 V4L_close()函数 关闭视频设备文件。其中的视频采集方式有两种,一种是 read()直接读取方式,另外一种 是 mmap()内存映射方式。mmap()方式下进程之间通过映射同一个文件实现内存共享,各 进程可以像访问普通内存一样对文件进行访问。此外,mmap() 方式加速了 IO 访问,提 高

5、了效率,故常选用内存映射方式获取视频。 Video for Linux 支持的数据结构及其用途: video_capability:设备的基本信息( 设备名称、支持的分辨率等); video_picture:采集的图像的各种属性; video_channel:各个信号源的属性; video_windows:包含采集区域的信息; video_mbuf:利用 mmap 映射的帧的信息; video_mmap:用于 mmap 方式。 通过以上操作,即可将摄像机视频数据采集到内存。采集到内存的视频数据既可采用文件 的形式保存,也可将其压缩后通过网络发布到 Internet。 视频语音开发包下载地址:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。