前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NMOS MS-05-01概述和进展

NMOS MS-05-01概述和进展

作者头像
用户1324186
发布2022-04-11 19:21:41
6650
发布2022-04-11 19:21:41
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:IP Oktoberfest 2021 主讲:John Mailhot 内容整理:赵研 NMOS (Networked Media Open Specification, 网络媒体开放规范) 是由 AMWA (Advanced Media Workflow Association, 高级媒体工作流程协会) 为网络流媒体发布的一系列标准的总称,其中 NMOS MS-05-01 建模了与 NMOS 标准和 JT-NM 参考框架相关的组件和设备。该视频中,主讲 John Mailhot 对 NMOS MS-05-01 项目进行了阐述。

目录

  • NMOS MS-05-01 概述
  • NCA 架构
    • 介绍
    • 组成
    • 类、对象和 API
    • 协议

NMOS MS-05-01 概述

NMOS MS-05-01 定义了用于设备配置、管理和监控的一系列 API,使功能相近的组件共用接口,并支持手动扩展。简单来说,NCA(NMOS Control Architecture, NMOS 控制架构)使用 WebIDL 对一些设备组件(e.g. 传感器、仪表、控制器)进行了类定义,类之间有层次体系和继承关系,并且可以扩展。其中,控制器可以实时侦查系统中所有设备 API,并在运行时动态地重新配置设备。

NCA 架构

介绍

NCA(NMOS Control Architecture, NMOS 控制架构)是一种用于建模多媒体设备,并通过 IP 网络对它们进行控制和监视的架构。关于 NCA,有以下几点需要声明。

  • NCA 只定义用于设备控制和监视的 API,并不考虑基于 NCA 的产品的内部结构,也没有定义控制器或设备的实现标准;
  • NCA 对物理和虚拟设备都适用;
  • NCA 不是必须联网,整个操作体系不依赖于外界数据或代码库,供应商可以自行添加基于外部库连接的功能和云服务;
  • NCA 不是 UI(user interface,用户接口)标准,只是定义了许多应用组件(开关、指示器、放大器等)的抽象概念,以用于 NCA 设备控制模型。是否要将它们表示在用户接口中,由供应商自行决定。

组成

NCA 由两部分构成:框架(Framework)和设备模型(Device model)。

框架(Framework)

框架定义了 NCA 控制和监控的全部功能,以及它们之间共用的机制。又可细分为两个组成部分,控制模型(Control Model)和核心机制(Core Mechanisms)。

  1. 控制模型:包括控制设备的类定义和继承关系,其中涵盖了 NCA 控制和监控的全部功能。每个类都由属性(Properties)、方法(Methods)和事件(Events)三部分构成,其中'事件'描述了对象的状态,并成为一些方法的触发条件。图 1 是 NCA 控制模型的类继承树,其中'Block'定义为对象的容器,且 'Block' 之间可以有嵌套结构,由 ncaBlock 类组织创建;而'Workers'则涵盖了与媒体信号处理相关的功能。
  2. 核心机制:定义了 NCA 所有设备的常用操作和机制,如通信控制、会话管理、并发操作等,下面以通信控制和会话管理为例说明。
    • 通信控制:控制器和设备之间的通信包括三种类型,命令(Command)、响应(Response)和通知(Notification)。控制器下达命令来调用对象功能,随后被控制的对象返回响应;当某个事件发生时,对象会发出通知。需要注意的是,NCA 将控制器定义为一种函数功能,而非物理实体,因此不是在实体设备间的路径传输信息,而是在软件间进行消息传递。
    • 会话管理:NCA 控制是以会话为基础的。也就是说,1)请求和响应是在建立连接的两个对象之间发生的;2)控制器和被控制对象的关系是持续性的;3)设备需要提交报告来订阅控制器;4)当通信发生异常时,对会话是否中断进行了专门的定义。

图1. NCA 控制器类定义树形图

设备模型(Device model)

设备模型描述了如何实例化和配置控制模型和管理模型,并创建一个设备的网络控制 API。在 NCA 中,一台物理或虚拟'设备'对应着一个 NCA API。如图 2 所示,这里将一台设备抽象为一个由 'root Block' 和一系列内部对象构成的整体,涵盖了所有设备控制的功能。实现中,设备模型由相应的 json 文件("blockspec")描述,如图 3 所示,'blockspec'的使用减少了工程开销,提高了基于 NCA 的产品的可交互性和适应性。

图2. NCA 设备

图3. blockspec 文件结构

类、对象和 API

在 NCA 中,每个控制对象都有相应的控制 API,API 特性完全由对应的类来定义,一台设备的'完整 API'是指设备中所有对象的 API 集合。很多情况下,我们需要为设备定制专属的控制器,因此需要事先得知其中对象和类的信息,而 NCA 为此提供了丰富的机制,使控制器可以从设备本身或公开网络平台获取相关信息。

协议

为了使控制器获得设备控制 API,需要定义相应的控制协议。目前使用的是 RPC(Remote Procedure Call)协议,并用 json 格式编写数据。未来的协议可能会用其他方式实现 API,但它们的属性、方法、事件和语义相同,由控制模型(Control Model)统一定义。

最后附上演讲视频:

http://mpvideo.qpic.cn/0bc33aaaeaaapaae4tz4enrfbwgdalmaaaqa.f10002.mp4?dis_k=e8ea5677686f06dd22b909595cffced0&dis_t=1649676077&vid=wxv_2324091916394790913&format_id=10002&support_redirect=0&mmversion=false

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NMOS MS-05-01 概述
  • NCA 架构
    • 介绍
      • 组成
        • 框架(Framework)
        • 设备模型(Device model)
      • 类、对象和 API
        • 协议
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档