不知不觉已经在DVR项目里渡过了差不多5年的光阴了,最早由一个测试员到一个只做模块的程序员,再到管理一个项目的管理员,总结过去,却感觉碌碌无为,唯一感到欣慰的是客户都可以拿着我们的方案量产,但内部管理却如此杂乱。因此今天应该好好总结一下过去都在忙些什么,未来应该如何提高效率。首先总结一下DVR的项目大概的工作内容。
1.调试新规格产品。
里面需要涉及到有
a.现场音视频通道的路数。
b.回放通道的路数。
c.主码流与子码流所支持的分辨率,帧率,码率;主码流与子码流的获取方式及格式。
d.gui支持的最高分辨率。
e.回放支持的策略。
f.配合哪一家的front_end。
g.调整音视频的通道顺序,包括现场与编码的通道顺序。
h.配合哪一款的加密芯片。
2.调试新的front_end
里面需要涉及到有
a.调整通道顺序
b.添加图像属性调节,如高度,对比度,色度,饱和度等
c.调节音频编码的通道顺序。
d.调节图像的质量,如干扰等问题
f.添加特殊功能,如自适应功能,utc功能等。
3.添加新协议
里面需要涉及到有
a.初始化与返初始化协议库
b.传输祼码流或经过处理音视频数据到协议库,即对接网络监控功能。
c.传输硬盘的音视频数据到协议库,即对接网络远程回放功能,其中包括搜索,正常回放,快进,快退,单帧向前,向后等功能。
d.对接参数获取与设置,这部份最为繁锁,需要与客户紧密沟通。
f.对接日志查询。
4.创建新GUI
主要根据客户的要求更新界面显示,其中主要是注意改动是否影响到其它客户的GUI
5.对接ddns
主要封装好一个接口,把需要映射的域名传输给函数,完成外网IP与域名建立映射关系
6.解决一些已有的Bug
这个问题是最为复杂,也是最为漫长的问题,如何提高debug的效率,最起码不要让同一种类似的问题再次发生。
a.尽量分模块管理,人越在熟悉的地方,越少犯错,尽量避免交叉更改代码。
b.尽量各个程序员固定负责几个客户的版本问题。
c.当发现更新一个共公问题的时候,应尽快测试,一经确认可用就立刻合到主干版本上,如果不是这样处理,时间一长,就会出现有些版本有问题,有些版本没有问题。
d.测试员需要提交版本发布要求,程序员根据版本要求来更改代码。