DeepStream 参考应用程序 - deepstream-nmos app#

应用程序架构#

下图显示了 NVIDIA® DeepStream NMOS 参考应用程序的架构。

DeepStream NMOS Reference Application Architecture

此应用程序演示了如何创建任何 DeepStream 应用程序作为 NMOS 节点。

它使用一个库(NvDsNmos),该库提供 API 来创建、销毁和内部管理 NMOS 节点。NMOS 节点可以使用 AMWA IS-04 注册 API 在网络上自动发现并注册 NMOS 注册表。

它还展示了如何创建各种视频和音频管道,同时运行它们,并根据 NMOS 事件(例如来自 NMOS 控制器的 AMWA IS-05 连接 API 请求)重新配置它们。

此应用程序有三种操作模式

作为 NMOS 接收器(默认)

在此模式下,应用程序提供 NMOS 接收器,可用于配置 UDP 源以接收 SMPTE ST 2110-20/-30 流。接收到的(视频/音频)流在经过一些处理(视频情况下的对象检测和边界框叠加)后,被渲染到本地视频/音频接收器。

作为 NMOS 发送器

在此模式下,应用程序提供 NMOS 发送器,可用于配置 UDP 接收器以传输 SMPTE ST 2110-20/-30 流。传输的流从 videotestsrcaudiotestsrc 创建。

同时作为 NMOS 接收器和发送器

在此模式下,应用程序提供 NMOS 接收器以配置 UDP 源,并在处理数据后,从由 NMOS 发送器配置的 UDP 接收器传输流。

使用 Easy-NMOS 作为 NMOS 注册表和控制器#

此应用程序需要 AMWA IS-05 连接 API 请求才能运行。这些事件由 NMOS 控制器生成。Easy-NMOS 是一种设置 NMOS 控制器和注册表的简单易用的方法。按照以下说明设置 NMOS 注册表并运行 NMOS 控制器。

注意

这些说明假定已安装 docker 和 docker compose。如果未安装,请参考此处提供的步骤 - https://docs.docker.net.cn/engine/install/https://docs.docker.net.cn/compose/install/

或按照此处的快速说明 - rhastie/easy-nmos

  1. 按如下方式克隆 git 存储库

    git clone https://github.com/rhastie/easy-nmos.git
    
  2. 修改 docker-compose.yml 以相应地替换每个容器的 “ipv4_address” 字段的值。

  3. 按如下方式启动 docker 容器

    docker-compose up

设置完成后,NMOS 控制器应在以下地址运行。

有关详细的设置说明,请参阅 rhastie/easy-nmos

有关 Easy-NMOS 的教程,请参阅 https://www.amwa.tv/easy-nmos-videos

有关 NMOS 规范的详细信息,请参阅 https://specs.amwa.tv/nmos/