OV7670摄像头+AVR+SD卡+znFAT作“录像机”!(飙速极致) 附AVI软件

[复制链接]
 楼主| znmcu 发表于 2014-1-1 22:04 | 显示全部楼层 |阅读模式
本帖最后由 znmcu 于 2014-1-3 00:45 编辑



网站 www.znmcu.cn 论坛 www.znmcu.cn/bbs
znFAT技术交流群:145948643


    自从用
OV7670摄像头模块+SD卡,还有我的znFAT实现了“简易数码相机”实验之后,我又有一个新的想法,那就是“简易录像机”实验。我想把静态的单帧图像升级为动态的视频。其实从原理上来说很简单,就是连续获取多幅图像,依次的存储在一起即可。请看下图。

这一实验与数码相机实验相比,最大的难点在于如何提高帧速(录像的流畅度),也就是说要在单位时间内尽量多地从摄像头模块获取图像,并且将其存入到SD卡中。从原则上来说,视频的帧速至少要达到10fps,人眼才会感觉比较流畅。以16QVGA图像(320x240像素)来计算,一帧图像的数据量为320x240x2=153600B=150KB。如果每秒要获取10帧图像,并全部存入SD卡,则总数据量为1500KB。这对于CPU芯片的硬件性能及文件系统的数据存储效率都有较高的要求。
我们使用ATMEGA128A芯片作为主控制器,它的硬件性能其实达不到上述要求(哪怕是在使用标称的最高工作频率16MHz的情况下)。因此,振南在这里使用了一些折中的方法,让其可以达到录像的实验目的,虽然最终的效果可能还是会有些差强人意。
OV7670芯片输出的图像尺寸是可以被灵活设置的,我将其宽与高均缩小一倍,即160x120,这样一帧图像的数据量就减少了3倍,即37.5KB。单帧图像数据量的减少,将使录像的帧速得以很大的提升,不过这是以图像质量为代价的。
SD卡以及文件系统部分其实是比较成熟的,直接延用了我的SD卡驱动与znFAT文件系统方案。使用ATMEGA128芯片的硬件SPI来进行驱动,并将znFAT的加速缓冲机制打开(CCCB算法),最终实测的文件数据写入速度大约为180KB/s,即录像的帧频大约能达到5fps,也许我们会看到一个稍有卡顿的视频效果。
实验硬件平台及示意如下图。

TFT液晶同步显示效果图。

一帧帧的图像数据在SD卡上被组织为了znv文件格式(znv格式是由振南片行定义的一种视频文件格式,详见相关实验)。我们希望在PC上能使用播放器对录像进行播放,因此振南编写了这样一个小软件,如下图所示。

演示视频链接 http://v.youku.com/v_show/id_XNjU1ODkzMjE2.html?x


源代码:
AVR单片机源代码:
PC ZNV格式视频播放器 VC++6.0源代码:
(内含示例ZNV文件,请将要播放的ZNV文件命名为znmcu.znv,并放在播放器同目录下)

注:此实验中TFT液晶模块使用的控制器为S6D1121,OV7670模块上集成了FIFO,型号为AL422B。
振南的ZN-X开杂板原理图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
xyz549040622 发表于 2014-1-1 23:18 | 显示全部楼层
顶镇南
 楼主| znmcu 发表于 2014-1-1 23:25 | 显示全部楼层
很多人建议我直接把视频存成AVI格式,这个不太现实。单片机一般没有这个编码能力。我可以用VC++6.0写一个ZNV格式转AVI格式的软件。或者还有一种方法,直接为ZNV格式写一个解码器,直接挂到暴风影音等播放器上,这样就可以直接播放了。后者难度较大,前者更加可行。
我定义ZNV视频格式,主要是为了方便单片机嵌入式平台去播放视频,它无需解码。
abin0415 发表于 2014-1-1 23:43 | 显示全部楼层
顶起
洗澡哥2011 发表于 2014-1-1 23:49 | 显示全部楼层
支持啊。要是用STM32就好啦
 楼主| znmcu 发表于 2014-1-1 23:55 来自手机 | 显示全部楼层
我也会做stm32的版本,zn-x是多元开发版,有stm32
通宵敲代码 发表于 2014-1-2 12:10 | 显示全部楼层
不错不错,支持振南哥,

榨干硬件资源!
yinlitansuo 发表于 2014-1-2 13:34 | 显示全部楼层
这个要顶!
 楼主| znmcu 发表于 2014-1-2 16:57 来自手机 | 显示全部楼层
谢顶,谢顶。这个实验我还要做一个stm32版本,看看能把实验效果提高多少。
天师猫神 发表于 2014-1-2 19:41 | 显示全部楼层
这个要顶!这个要顶!
qwert1213131 发表于 2014-1-2 19:45 | 显示全部楼层
南哥永远是我膜拜的
hdp7891000 发表于 2014-1-2 20:36 | 显示全部楼层
mark,大神
 楼主| znmcu 发表于 2014-1-3 00:39 | 显示全部楼层
本帖最后由 znmcu 于 2014-1-3 00:42 编辑

ZNV视频转AVI视频 工具
软件:
源代码:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 1威望 +6 收起 理由
dong_abc + 6

查看全部评分

 楼主| znmcu 发表于 2014-1-3 07:38 来自手机 | 显示全部楼层
深入研究了无压缩avi的数据格式,也许可能在单片机上直接出AVI视频
abin0415 发表于 2014-1-3 09:05 | 显示全部楼层
znmcu 发表于 2014-1-3 07:38
深入研究了无压缩avi的数据格式,也许可能在单片机上直接出AVI视频

先顶下振南哥,有无avi等格式资料推荐下。
subukenai 发表于 2014-1-3 09:11 | 显示全部楼层
细节决定成败,态度决定高度。
 楼主| znmcu 发表于 2014-1-3 09:11 来自手机 | 显示全部楼层
要把avi实现之后,会亲自做通俗的教程给大家。
dong00520 发表于 2014-1-3 09:24 | 显示全部楼层
支持啊,顶起!
lipm 发表于 2014-1-3 09:53 | 显示全部楼层
这个要顶!

这个要顶!
kpzclxtx 发表于 2014-1-3 10:01 | 显示全部楼层
大牛。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:振南的znFAT -- 单片机上上的FAT32文件系统 www.znmcu.cn

4474

主题

5195

帖子

35

粉丝
快速回复 在线客服 返回列表 返回顶部