俩月不更新了,今天更一波。

学期实习真的挺要命。而且好不容易熬到假期,老师还把我卷子丢了,得再考一次,你可真行。

敏捷开发是个好东西,虽然也会遇到问题。(废话+1)

老话重复。嵌入式是一种性能与功能平衡的艺术。前面是走上手动封装FLV的路线,是因为板子本身的存储太小了,感觉性能不是很充足,就准备直接备份H264流。另外我发现还有可能把程序放到SD卡里面跑。这样就能实现后续的升级,而不需要重新烧录系统。这会给工程带来巨大的变化,所以重新整理了一下整个工程的设计。

看一下以前的设计。

  • 实战SDK,编译app的hello word和自己的镜像1.1,0,1.5
  • 实现对自己的APP进行编译和打包1.2,1.1,1
  • 学习烧录1.3,0, 0.5
  • 学习文件管理,测试SD卡支持程度 1.4, 0,0.5
  • 网口网络通讯未实现,结合计算机网络和openwrt进行相关学习2.1,0,3
  • 进行图像处理库的移植和测试2.2, 1.2, 2
  • 保持官方内置OS,测试摄像头的拍照录制,并进行性能评估,这包括内存2.3, 1.2,1
  • 编写业务代码3.1,2.3,2
  • 实现Linux的裁切和包定制3.2, 3.1,2
  • 上位机软件的编写4.1,0,5
  • 解决上位机和单片机的通讯问题4.2,4.1,5
  • 修补安全性问题5.1,all, 1
  • 导出开发版本镜像 5.2, 5.1, 0.2
  • 测试5.3, all,1
  • 导出公开镜像5.4, all,0.1

显然这种设计模式是做不到快速设计出原型的。有些功能计划的太过细致,另一些则太粗糙了。想想计划不合理的原因之一在于没有对信息和行情评估。

我们的需求:一个节约空间,进行抓录,连上网线能快进快退的离线嵌入式Linux摄像头

重新设计一下,脱离技术能力角度。

  • 软件模块:
  • 视频的录制和保存(原型机)
  • 视频的实时直播(原型机)
  • 视频录制的触发的条件(需要测试优化,待实现)
  • 视频的文件管理和自动删除 (难度较低,待实现)
  • 用户的接口(难度较高,方案待确定)
  • 多任务的系统管理模块(难度较高,待实现)
  • 软件设计:
  • AOV,可以降低帧率的地方降低帧率,压缩空间
  • 使用板载脚本引导SD所在的程序,监控系统第一阶段引导
  • 系统设置(IP地址,分辨率等需要写系统分区的内容)的单独分区或者文件夹,用于救灾
  • 视频的录制和保存,录制引擎,文件格式和大小
  • 视频录制的触发的条件,使用图像还是传感器还是混合
  • 定义设备工作状态,如安装,正常工作,调监控
  • 用户接口,使用网络编程客户端还是网页实现
  • PC和板子通讯
  • 硬件设计:
  • 传感器外设,干簧管,红外,雷达
  • 显示器方便debug

目前要做的清单:1.首先完成最低程度的环境配置,包括Linux的配置,启动sd卡视频程序的脚本,以及完整的交叉编译环境。2.接下来把opencv的进程在SD卡上跑通,通过检查视频。3.交叉编译ffmpeg进行视频录像. 4.对视频录像功能优化。

Views: 30

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.