音视频数据采集设计

上传人:ji****en 文档编号:107746084 上传时间:2019-10-20 格式:DOC 页数:75 大小:8.72MB
返回 下载 相关 举报
音视频数据采集设计_第1页
第1页 / 共75页
音视频数据采集设计_第2页
第2页 / 共75页
音视频数据采集设计_第3页
第3页 / 共75页
音视频数据采集设计_第4页
第4页 / 共75页
音视频数据采集设计_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《音视频数据采集设计》由会员分享,可在线阅读,更多相关《音视频数据采集设计(75页珍藏版)》请在金锄头文库上搜索。

1、创作设计说明书 嵌入式音视频数据采集 模块的设计 学 院: 专 业: 学生姓名: 学 号: 指导教师: 年 月 目录 I 目 录 目 录I 摘 要 .1 ABSTRACT 2 第一章 序言 .3 1.1 课题目的 .3 1.2 资料调研分析 .3 1.3 设计简介 .3 第二章 设计要求及方案的确定.5 2.1 设计要求 .5 2.2 方案的确定 .5 2.2.1 方案的实现.5 2.2.2 设计流程.6 第三章开发环境的搭建及硬件系统.9 3.1 软件开发环境的搭建.9 3.2 硬件系统 .10 3.2.1 凌阳 cortex A8 开发板简介.10 3.2.2 音频输出接口和麦克风12 3

2、.2.3 电容屏输出接口.13 3.2.4 USB2.0 HOST 接口15 3.2.5 摄像头外设16 3.2.6 串口及串口电路17 第四章 音视频程序的设计与功能实现.19 4.1 主界面的设计及功能实现.19 4.1.1 主界面的设计.19 4.1.2 功能实现.19 4.2 录放音界面的设计及功能实现.21 4.2.1 录音界面的设计.21 4.2.2 录音界面功能的实现.22 4.2.3 放音界面的设计.22 4.2.4 放音界面功能的实现.22 4.3 录像、拍照界面的设计及功能实现.24 4.3.1 录像、拍照界面的设计.24 4.3.2 录像功能的实现.24 4.3.3 拍照

3、功能的实现.25 4.4 播放视频、图片界面设计及功能实现.27 4.4.1 播放视频界面设计.27 4.4.2 播放视频界面功能的实现.27 4.4.3 图片浏览界面的设计.28 4.4.4 图片浏览界面功能的实现.28 第五章 功能测试与 BUG 分析.30 5.1 功能测 .30 5.2 BUG 分析与解决.30 结论 .33 致谢 .34 参考文献 .35 附录 .36 摘要 1 摘 要 嵌入式音视频数据采集的设计,是以 Linux 系统为开发环境,cortoex A8 开发板作为硬件开发平台,结合 linux C 语言开发而成的。使用麦克风、摄像 头、扬声器和电容屏等硬件设备,通过

4、linux c 程序编程对开发板的麦克风进 行录音,采集音频数据,存储录音文件,并使用扬声器播放录制的音频,完成 对音频数据的采集功能。把摄像头插到开发板上,通过程序读写音视频设备使 摄像头采集实时采集图像数据,存储为图片和视频,显示在电容屏上,并实现 拍照,照片浏览、录像、播放录像等视频数据采集功能。 关键字 :linux C 、cortex A8 开发板、麦克风、摄像头、扬声器、电容 屏 摘要 Abstract The design of the embedded audio and video data collection is based on Linux system as the

5、 development environment , cortoex A8 development board as hardware development platform, combined with Linux C language development, The design uses the microphone, camera, speakers and capacitance screen devices of hardware to collect data .The first, using Linux c programs for the microphone of d

6、evelopment board to collect the data of audio .the second the design will save the recording file, and use the speaker to play the recorded audio.Then it can complete the function of audio data acquisition.Pluging the camera into development board, it makes the camera to collect real-time acquisitio

7、n with the program to read and write av equipment.the date of Image will be stored as images and video. It shows in the capacitance screen. It can realize function of the photo and photo browsing, video recording, video playing and video data acquisition . Keywords: linux C, cortexA8 development boa

8、rd, microphone, camera, speaker,capacitive screen 第一章 3 第一章 序言 1.1 课题目的 随着多媒体技术的飞速发展,人们对于生活质量的要求以及安全意识也在 日益增长,音视频等多媒体技术在嵌入式开发中的广泛应用既是最直观的体现, 日常生活中,人们使用各种嵌入式产品摄像、拍照的现象随处可见,大街小巷 也都有安防摄像头。而这些现象的核心就是音视频信息采集,它是视频处理再 加工以及安防监控的基础,而嵌入式音视频数据采集模块的设计,对音频,视 频数据进行采集、存储、应用,恰恰能够为视频处理和安防监控提供基础,以 及为学生学习音视频处理提高技术支持,既

9、是我这次毕业设计的目的。 1.2 资料调研分析 近年来随着嵌入式行业的迅速发展,嵌入式产品日益成为人们生活的必需品, 并且随着技术的进步,嵌入式产品正朝着高端低成本的方向发展,其中基于嵌 入式的音视频技术就是最好的案例,音视频等多媒体技术在嵌入式开发中应用 极为广泛,例如:摄像头图像采集、LCD 显示图片、音频采集与播放等在嵌入 式各产品中都会有所涉及。国内外又没有专门音视频信息采集的基础软件,而 嵌入式音视频数据采集模块的设计作为音视频数据采集的基础软件,以 Linux 系统为开发环境,arm A8 架构作为硬件平台大大节约了开发成本,提高项目的 可移植性,不仅可以做为人们生活的娱乐产品,还

10、可以为视频处理再加工以及 安防监控提供基础,符合嵌入式发展的需求。 1.3 设计简介 本设计是嵌入式音视频数据采集的,实现录放音、录像、播放录像,拍照、 图片浏览等功能,主要分为音频数据和视频数据的采集、应用两个部分。使用 凌阳公司提供的 cortex A8 开发板,通过 linux c 程序编程对开发板的话筒进 行录音,并用扬声器播放录制的音频,把摄像头插到开发板上,通过程序读写 第一章 音视频设备使摄像头采集的图像并显示在液晶屏上,并实现拍照,照片浏览等 功能。 音频部分主要是通过采集电路(麦克风)得到的是一种连续变化的音频信 号(模拟信号),在经过 AD 转换电路将音频信号转换为计算机可

11、以处理的数字 信号,进行存储,实现音频数据的采集。录音时,先设置好采样频率、采样位 数、声道数,再启动声卡的 AD 芯片,将音频的模拟信号转化为数字信号,最 后将音频对应的数字信号存储到文件中。放音时需要依据录音时声卡的采样频 率、采样位数、声道数去设置声卡,再将音频的数字信号通过声卡的 DA 芯片 转化为音频对应的模拟信号。 视频部分主要是通过 C 编程从摄像头连续捕捉一帧图像并按照一定的时间 间隔显示电容屏上,显示图像时,若图像每秒变化超过 24 次,根据余晖效应, 此时人眼无法辨别单幅的静态图像,一张一张静态的图像看上去是连续的运动 的,从而形成了视频。从摄像头获取的图像是原始 yuv

12、格式的数据,需要同编 程将捕获的每一帧图像转换为一定格式的图片按照一定规则进行存储,从而实 现视频数据的采集。 第二章 5 第二章 设计要求及方案的确定 2.1 设计要求 (1)能够录音并存储为 wav 格式的音频文件。 (2)播放已经存在的 wav 格式的音频文件。 (3)视频采集与显示,能够实时从摄像头中获取图像并将摄像头获的帧数 据显示到屏幕上。 (4)拍照,捕捉一帧图像保存为 bmp 照片。 (5)照片浏览,能够把存储的 bmp 图片显示在电容屏上。 (6)录像,存储摄像头获得的数据,保存为 mpg 格式视频。 (7)播放录像,能够将存储 mpg 格式的视频播放出来。 (8) 图片及音

13、频或视频支持自动播放 (9) 音频文件、视频文件选择目录显示并播放 2.2 方案的确定 2.2.1 方案的实现 音视频数据采集基础主要有两部分组成:硬件部分和软件部分 (1)硬件部分主要采用凌阳提供的 coterx A8 开发板,以及外设摄像头 (2)软件部分主要分为两个方面:界面设计和功能实现 界面部分:界面设计主要由 gtk+ 与 glade 完成,首先由 glade 设计界生 产 xml 文件,利用 gtk+ 提供的函数接口读取 xml 文件就能生产相应的界面。 第二章 功能实现:功能实现主要是以 Linux C 编程为主,通过进程,线程,管道,以 及信号量的使用来实现音视频数据采集 音

14、频部分:L Linux 系统为用户操作音频设备提供了统一的编程接口,oss 音 频框就是其中一种,由于其比较简单容易操作,并且稳定性比较好在音频编程 中被广泛使用。Linux 下一切设备皆文件,因此通过 oss 音频提供的接口驱动 音频设备文件/dev/dsp ,/dev/dsp:录音、放音对应的设备文件。向 /dev/dsp 文件中写数据会激活声卡上的 D/A 转换器进行放音。从/dev/dsp 文 件中读数据则会激活声卡上的 A/D 转换器进行录音。 视频部分:在 Linux 中,视频的采集、输入及输出主要采用 V4L2 框架,在 V4L2 编程框架中,内核为应用程序提供了访问音、视频设备

15、的统一接口。通过 V4L2 接口操作视频设备可以像访问普通文件一样对设备文件进行读写。 dev/videoX(X 为数字 0、1、2、.)对应着摄像头的设备文件。对设备文件进 行读写完成视频数据的采集与播放。 视频显示:通过gtk+开源库显示采集到的图像。并且可以自由指定图像的 大小,先将摄像头输出的yuv原始数据转换为rgb数据,再通过函数 gtk_draw_rgb_image()接口将数据绘制到绘图区,显示在电容屏之前可以指定 绘图区的大小,从而改变显示图像的大小。 2.2.2 设计流程 第二章 (1)界面切换流程图 图 2-1 各功能界面之间切换流程图 (2)录音、播放录音流程图 图 2

16、-2 录音播放录音功能实现流程图 第二章 (3)录像、拍照流程图 拍照、录像窗口 初始化V4L2音频框架 打开录像/dev/videoX设备 拍照 选择拍照or录像 播放录像、 开线程 浏览图片 将每帧图像转换 为jpge格式,按 一定的格式存储 为mpg格式文件 播放录像or浏览图 片 创建线程,实时从摄像头中获取 图像 创建线程,实时触发曝光事件显 示图像 获取一帧 图像转换 为bmp格 式,保存 图片 录像、开线程 关闭文件,回收 线程资源 从文件中读取帧 数据,转换为rgb 格式,按一定的 频率显示在屏幕 上 读取图片,转 换rgb格式,显 示在屏幕上 关闭文件,回收 线程资源 图 2-3 录像、拍照功能实现流程图 第三章 9 第三章开发环境的搭建及硬件系统 3.1 软件开发环境的搭建 嵌入式音视频数据采集模块的设计是在 linux 下编程,安装物理机比较繁 琐,对硬件要求也比较高,所以我选择安装虚拟机,在虚拟机上安装 linux 系 统,我选择安装的虚拟机是 vmware workst

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

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号