DeepStream 参考应用程序 - deepstream-nmos app#
应用程序架构#
下图显示了 NVIDIA® DeepStream NMOS 参考应用程序的架构。
此应用程序演示了如何创建任何 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 流。传输的流从
videotestsrc
和audiotestsrc
创建。
同时作为 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
按如下方式克隆 git 存储库
git clone https://github.com/rhastie/easy-nmos.git
修改
docker-compose.yml
以相应地替换每个容器的 “ipv4_address” 字段的值。按如下方式启动 docker 容器
docker-compose up
设置完成后,NMOS 控制器应在以下地址运行。
有关详细的设置说明,请参阅 rhastie/easy-nmos。
有关 Easy-NMOS 的教程,请参阅 https://www.amwa.tv/easy-nmos-videos。
有关 NMOS 规范的详细信息,请参阅 https://specs.amwa.tv/nmos/。