PUPANVR-Record主要业务对像(5)

        产品中,根据NVR录相机的配置中的习惯,有通道的概念,在配置录相时,把接入的相机定义为一个接入的通道,相机绑定到一个通道上,所以抽像一个通道的对像(TVideoChannel),同时对于这个接入的设备有可能是一个摄像机,也有可能只是一路视频流,或一个回放视频的通道,那这时源就是一个录相文件。所以这里再抽像出一个TVideoSource的对像,使用多态实现视频源有:摄像机源、MP4源等。对于通道在系统里,如果配置好后,一般就会处于打开操作的状态,生命周期一般一直保持着,如录相操作,对于视频的回放预览在硬件还是软件层面都有一个解码器的概念,我们定义出一个播放器的对像概念,播放器则不见得是同通道绑定的或长时间开启,一般硬件的编解码的性能有限,这样播放器这个对像就要考虑多通道复用或动态的绑定,实时的创建,同时他存在的生命周期一般不像通道只要配置好一直运行着。播放器这个对像也是对软硬件解码器的隔离抽像。

根据上面的想法,需要下面的这些对像出现在系统中:

视频通道-TVideoChannel

主要是用来操作视频即叫视频通道吧,其实在产品中图片应该也是用这个解码显示了。

视频源-TVideoSource

源可以是一路视频,或一个摄像头设备、一个MP4文件等;

播放器-TPlayView

实现对通道视频对像的播放,实现解码、显示、控制功能,播放器这个对像也是对软硬件解码器的隔离抽像;

基于上面的这些对像,对于NVR来说,我们再实现一个统一的管理类:TRecordManage,由他来管理通道的生命周期,每个通道再聚合绑定自己的视频源,及绑定自己的播放器。

关系像下面的这样:

当然上面还很多小的对像对类被这几个大的对像聚合使用,如缓存管理、视频文件的解、封包、网络流的对像、预览时不同模式的展示,我们需要实现一个视频显示分割器管理TPlayView的显示等,后续再慢慢的分解抽像实像吧!

猜你喜欢

转载自blog.csdn.net/jhting/article/details/121756358
今日推荐