OpenOTT 设计原则是:
-
兼容DVB网络——保护现有运营商投资
-
发布不依赖特定网络——面向互联网,提供各种网络适应方案
-
各个层面的水平扩展——能随着业务发展而扩充
-
一定的组件伸缩——能够根据功能要求提供一定裁剪方案
-
每个环节可测量——各个环节均能提供统计数据输出
-
微服务架构——采用微服务架构构筑各个组件
title OpenOTT系统构成v0.1a scale 4096*4096
node "OTT 消息中心"{ [消息服务器][MQTT XMPP ] [消息服务器]←→()"消息接口" } node "OTT入口路由应用服务"{ [应用入口] [设备认证] }
'这是注释
node "*OTT 流化应用中心"{ [流化应用管理器]-→[应用流化组件] [应用流化组件]←-[流化输入管理器] [流化输入管理器]←-()"流化输入接口" [应用流化组件]-→()"流化视频流" }
node "数字电视系统" { [DVB直播系统]-→[DVB直播管理器] [DVB直播管理器]-→()"DVB直播信息接口" [DVB直播管理器]-→()"DVB直播视频流"
[VOD点播系统]<-->[VOD点播适配器] [VOD点播适配器]<--()"VOD点播接口" [VOD点播适配器]-->()"VOD点播视频流" [VOD点播适配器]<--()"VOD点播信息接口" }
node "BOSS 系统" { [直播频道授权]-→()"直播频道授权接口" [点播内容授权]-→()"点播内容授权接口" [运营消息]-→()"BOSS消息接口" }
node "OTT用户管理" {
[用户注册/登陆管理]<<OAuth>> [用户授权管理] database "用户数据库"
[用户消息管理] ()"BOSS消息接口"<..>[用户消息管理]
[用户注册/登陆管理]<-->[用户数据库] [用户消息管理]<-->[用户数据库] [用户授权管理]<-->[用户数据库]
[用户授权管理]<..>()"直播频道授权接口" [用户授权管理]<..>()"点播内容授权接口"
[用户消息管理]<-->()"用户接口" [用户授权管理]<-->()"用户接口" [用户注册/登陆管理]<-->()"用户接口" [应用入口]<..>()"用户接口" [用户消息管理]<..>()"消息接口" }
node "HLS直播"{ ()"DVB直播视频流"-→ [HLS实时转换器] }
node "HLS点播"{ ()"VOD点播视频流"-→[HLS点播转换器] [HLS点播转换器]-→()"HLS点播信息接口" }
node "OTT设备管理" { ()"BOSS消息接口"<..>[设备消息管理]
[*设备注册/登陆管理] [设备升级管理器] [设备消息管理] [设备应用管理] database "设备数据库" [设备注册/登陆管理]<-->[设备数据库] [设备升级管理器]<-->[设备数据库] [设备应用管理]<-->[设备数据库] [设备消息管理]<-->[设备数据库] [设备注册/登陆管理]-->()"设备接口" [AAA]-->()"设备接口"
[设备升级管理器]-->()"设备接口" [设备应用管理]-->()"设备接口" ()"设备接口"-->[设备消息管理] [设备认证]<..>()"设备接口" [应用入口]<..>()"设备接口" [设备消息管理]<..>()"消息接口" }
node "OTT应用WEB" {
()"DVB直播信息接口"<..[后台资源管理] ()"VOD点播信息接口"<..[OTT Web应用服务器] ()"VOD点播接口"<..[OTT Web应用服务器] ()"HLS点播信息接口"<..[OTT Web应用服务器] [后台资源管理]-->[OTT Web应用服务器] ()"用户接口"<..>[OTT Web应用服务器] ()"设备接口"<..>[OTT Web应用服务器] [OTT Web应用服务器]<..>()"消息接口" }
node "CDN层"{ [视频CDN][SRS] [WEB CDN][NGNIX] [OTT Web应用服务器]<..[WEB CDN] [HLS实时转换器]<..[视频CDN] [HLS点播转换器]<..[视频CDN] [视频CDN]-→()"HLS视频" [WEB CDN]-→()"HTML5网页" node "API代理层"{ [API 代理].0).>[OTT Web应用服务器] } }
node "OTT终端" {
'node { ' [操作系统] ' [操作系统]-->[系统服务] '} node "系统服务" { ()"本机服务接口"
[消息服务]<-->()"本机服务接口" [本机应用管理服务]<-->()"本机服务接口" [启动(升级)服务]<-->()"本机服务接口" [应用入口]<..>[启动(升级)服务] [本机接口鉴权服务]<..>()"本机服务接口"
[本机设置服务]<-->()"本机服务接口" }
node {
node { [视频播放器] [应用浏览器] [应用浏览器]-->()"HLS链接" ()"HLS链接"-->[视频播放器] } [消息服务应用] [本机设置应用] [流化应用] [视频播放器]-->[应用浏览器]
HLS视频<..[视频播放器] HTML5网页<..[应用浏览器]
()"流化输入接口"<..[流化应用] ()"流化视频流"-->[流化应用]
()"本机服务接口"<..>[本机设置应用] ()"本机服务接口"<..> [消息服务应用]
()"本机服务接口" <..>[应用浏览器] ()"本机服务接口" <..>[流化应用]
[应用浏览器]-->[用户UI] [消息服务应用]-->[用户UI] [本机设置应用]-->[用户UI] [流化应用]-->[用户UI]
}
[应用浏览器].0).>[API 代理] ()"消息接口"<..>[消息服务]
}
node "DNS"
node "DHCP"
node "CA"
node "NTP"
node "OTT应用本机资源授权服务" { [OTT应用本机资源授权服务]<..>()"设备接口" [OTT应用本机资源授权服务]<..>[本机接口鉴权服务] }
left footer OTT 流化应用中心 为可选项\n流化应用 为可选项
OTT 终端作为用户使用部分可以是以下几种形态:
-
定制硬件
-
手机
-
智能电视
-
一个独立应用
每个OTT终端,均由操作系统、系统服务与应用两部分组成。 其中系统服务提供本机设置、消息、启动(升级)服务、本机应用管理等服务,其连同操作系统接口一并提供成为OTT终端开发环境。这些组件的升级需要更新整个IMAGE。
应用指的是终端上安装的软件,应用分成:应用浏览器、本机设置、消息显示应用、流化应用、其它本机应用等,其构成用户具体操作的UI。应用升级只需单独升级即可。
通常意义上,OTT终端应用分成以下级别:
-
轻型应用 直接在应用浏览器,通过Web访问方式,在统一进程中运行。
-
中型应用 通过Web访问方式,在独立的应用浏览器进程中,在独立进程中运行。
-
重型应用 独立的本机应用程序,需要下载到OTT终端的存储中运行
OTT 用户管理器主要配合OTT应用WEB与Boss系统,提供用户的管理,包括注册登录注销更新信息等,同时提供用户订阅产品等授权信息查询。
一般来说,每个OTT 终端,在注册后会生成一个默认用户。