OBS插件--NDI输入与输出

承接QT程序开发、OBS定制化开发

NDI是什么?

NDI,全称Network Device Interface,是一种IP网络设备接口协议,它使得视频兼容产品能够通过局域网进行视频共享。NDI协议采用数字高清以太网传输技术,将前端采集类设备(如NDI数字高清摄像机)通过CAT5或CAT6网线点对点直接连接,再通过网络数据链路层把未压缩的实时数字高清信号经过高效的组织排序发送给接收端NDI分析类设备(如DVR、压缩卡、中继器、光端机等),从而实现类似于HD-SDI的传输效果。

NDI的传输相比用同轴电缆传输会更有价格优势,更稳定,抗干扰能力更强。此外,NDI在传输视频信号的同时可以实现实时、双向音频、双向控制信号等的传输,还可以使用以太网供电(POE)技术,从而降低使用成本及节省了布线成本。因此,NDI是一种通过IP网络进行超低延时、无损传输、交互控制的标准协议。

基于OBS的NDI插件功能

包括3个主要部分

  • NDI Source: 像传统视频源那样添加NDI视频源
  • NDI Output: 把OBS的主输出或预览输出为1路NDI信号源,覆盖整个局域网
  • NDI Filter: NDI滤镜,让使用这个滤镜的源可以成为一路独立的NDI输出

安装流程

初次使用NDI,系统会提示安装NDIRuntime(NDI运行环境),
OBS插件--NDI
点击链接下载或者从OBS直播助手下载安装,NDIRuntime安装过程中会自动设置相关环境变量,安装完成后需要重启OBS。

如何使用NDI

由于没有NDI设备,本文使用VLC模拟NDI发送。VLC默认是不支持NDI协议的,需要安装VLC的NDI插件,安装 NDITools(如果官网下载慢,可以从OBS直播助手下载),安装完成后重启VLC,重启后按照下图设置NDI相关参数。
OBS插件-NDI
OBS插件-NDI
OBS插件-NDI
音频、视频都需要设置

使用NDITools自带的工具 Studio Monitor 做接收NDI数据的测试。
OBS插件-NDI

在OBS创建NDI源

在OBS中创建NDI源有两种方式:

1.将主输出或预览输出做为NDI源,下图是具体的步骤:

菜单栏,打开 工具 --> NDI输出设置
OBS插件-NDI
弹出NDI输出设置界面
OBS插件-NDI
选择主输出,设置输出名称 OBS-Main。打开DNITools安装目录里面的Studio Moniter工具,选择OBS中设置的NDI输出名称 OBS-Main

OBS插件-NDI

2.为指定输出的源应用NDI滤镜,输出内容只是当前源的内容。

选择带输出的源,点击滤镜按钮。在弹出的滤镜设置界面 ,点击左下侧 效果滤镜 下发的 + 按钮,在弹出的菜单中选择 专用NDI输出

OBS插件-NDI
添加 专用NDI输出 滤镜,可以设置 NDI名称。
OBS插件-NDI
设置完成后打开 NDITools 工具包中的 Studio Monitor ,选择 专用NDI输出,即可看到视频流。

OBS插件-NDI

在OBS中接收NDI源

首先用VLC播放一个影片并使用NDI输出,在OBS中创建NDI源
OBS插件-NDI
在设置界面选择 VLC

OBS插件-NDI
设置完成后,回到场景就看到了VLC发送的NDI数据

OBS插件-NDI

更多OBS插件,访问 OBS插件助手

### 如何下载、安装和配置NDI插件 #### 下载NDI插件 可以从专门的仓库获取最新的OBS NDI插件版本v4.11,此版本专为OBS Studio 28、29、30设计[^2]。确保所使用的OBS Studio版本插件兼容。 #### 安装NDI插件 将下载好的插件文件放入OBS Studio的插件目录中,默认路径通常是 `OBS安装目录/obs-plugins/64bit/`。完成放置后,启动或重启OBS Studio以使更改生效。 #### 配置NDI插件OBS Studio启动之后,前往设置界面寻找NDI插件选项并启用它。随后可以根据实际需求调整NDI输入输出设定。如果在“来源”面板未发现新增的NDI源类型,则需确认插件已正确安装,并通过插件管理器将其激活[^1]。 #### 使用NDI Tools辅助学习和技术推广 对于希望深入了解NDI技术或者寻求更多资源的人士来说,“NDITools”是一个值得推荐的选择。当前其版本为5.5,访问官网 https://www.ndi.tv/tools/ 或者查阅中文资料可以获得更多帮助和支持[^3]。 #### 关于NdiMedia插件的具体教程 针对UE项目中的NdiMedia插件使用者而言,了解其内部结构有助于更好地掌握如何运用这一工具。例如,`Docs/` 文件夹下存有文档源文件;而主要源代码则集中存储于 `Source/NdiMedia/` 中[^4]。这些信息能够指导开发者按照既定框架开发自定义功能模块。 ```python # 示例:验证Python环境下是否存在特定库(假设用于检测环境) import importlib.util def check_library(library_name): spec = importlib.util.find_spec(library_name) if spec is None: print(f"{library_name} not found.") else: print(f"{library_name} has been installed.") check_library('numpy') # 替代示例,展示逻辑而非直接关联主题 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值