忙乎了一整天,通信终于是调好了,数据模块测试比较良好,IPCam的数据能很正常的放到内存里,并且按帧存放
协议解析的模块觉得有点冗余,不过分开有分开的好处,方便维护一点,三个模块独立工作有独立工作的好处,虽然工作量大了点,不过还是值得
CON:
在未处理的视频数据会源源不断的存放到内存中,而且数据量并不小,特别是在多设备的情况下,甚至会达到10多个设备,那么内存的开销会不会成问题呢?虽然说考虑到了视频帧播放以后会释放掉内存,但是如果来不及处理会不会导致内存沾满,需要一种机制来平衡
还有做实时存盘是不科学的,可以做一个指定内存大小的定时存盘,这样系统消耗会好些
PS:
值得记录的一点是,程序模块在多线程工作下,要注意共享资源的读写必须考虑到数据的安全性,不要再发生冲突的情况了。
ch的参数可为 0 和 1,估计是高清和低清的两条流线路吧,不知道二次申请IPCam那端会不会及时改变流呢....