针对IOTCamera项目,多播放器多样式展示的框架规划

 

1、TUTK、IoTSDK概览:

 

服务器:http\https\imsApiClient

设备交互;mqtt\p2p\cgi\things

出图方式:YUV\PlayerView\CMSampleBufferRef

 

2、可以将业务处理分为以下

UI视图分区设计:

根据单目、双目、三目设备可以分为单、双、三个播放器展示的Player和不同功能样式设备控制区

播放器区:承载画面输出(player+YUV),播放器内部工具视图;

设备控制区:被与播放器分开展示的设备相关控制;

导航工具区:导航栏、底部工具栏(可无)。

 

功能逻辑代码唯一,高度复用: 

UI层 --〉功能调用层 --〉功能实现层

PlayerView 

CameraControlView

NavTabView

 

 

1)、Device 是一个单利:完成不同的业务需求:直播、卡回放、设备控制;

      DeviceInfo;通过方案选择,不同的通信方式:

      P2P:处理TUTK P2P相关业务调用、回调。关于设备连接、流处理、异常处理可以单独拉     出来DeviceConnect中处理。

      MQTT:处理MQTT的调用、回调。

      IMS :处理阿里直播、点播播放器业务。

      ThingShell:处理阿里物模型业务。

      CGI:处理CGI调用业务。

      HTTPS:处理网络请求业务。

      NormalDataProcess:接受以上数据,进行统一处理,回调返回给UI层。

 

3、  可以类似IMSSDKplayer方式,封装统一播放视图;

 1)、在使用阿里Player和TUTK的CMSampleBufferRef显示流时,提供给用户playerVIew来承载LVGlkView/UIImageView给UI层展示。尽可能的在UI层使用就是一个播放器的使用效果。

  2)、在使用YUV模式下,提供给UI层的playerVIew承载的是UIImageView展示。

posted @ 2024-01-03 20:49  徐家汇  阅读(42)  评论(0编辑  收藏  举报