使用 Companion 进行 Playout 控制

本文将介绍如何将 bitfocus Companion 与 PLAYDECK 配合使用。Companion 提供了一个可直接使用的 PLAYDECK 模块。这是将 PLAYDECK 连接到 ATEM 调光台或 STREAMDECK 的最便捷方式。.

“伴侣模块”由以下团队开发并维护: 尼克·塞莫诺夫. 他是位社区开发者,也是位非常棒的同事。.

本文内容:
安装
带预设的按钮页面
使用自定义命令代替操作
自定义按钮反馈


安装

1. 启动 PLAYDECK,以便 Companion 能找到它

2. 下载并安装 Companion 的最新稳定版

3. 启动 Companion 并添加 PLAYDECK 模块

4. 如果 Companion 显示此连接为绿色勾号,则设置完成。如果无法建立连接,请关闭防火墙或允许 TCP 端口 11411。.


带预设的按钮页面

我们将使用“Companion Presets”快速为一种随意的“Playout”情境创建一个全新的按钮页面。.

1. 创建一个新页面,然后转到“预设”并选择“PLAYDECK”

2. 在本示例中,我们特别要针对第 1 通道。您也可以使用“列表”(LISTS),这些列表是动态的,会使用 PLAYDECK 中可见的通道(左、右)。您还可以控制您的资源(Streams、录音)。请选择“第 1 通道”以继续

3. 通过拖放操作,我们创建了一个简单的 Playout 解决方案:带有些许叠加层的播放控制界面。按钮均带有反馈功能,这意味着:根据播放状态(CUE、播放中、暂停、停止),您将看到相应的红色按钮。.

4. 在 Playout 期间,“播放”按钮还会显示剩余片段时长:

5. 某些按钮需要您提供更多信息,例如“启动叠加层”按钮。它需要知道应启动哪些叠加层:


使用自定义命令代替操作

我们将把任何 PLAYDECK 命令添加到 Companion 按钮中。如果您更擅长“编程”,或者 PLAYDECK 中出现了 Companion 尚未支持的新命令,此功能将非常有用。此外,您还可以同时添加多个命令。.

1. 我们创建一个新的按钮并添加一个新操作。现在选择“自定义命令”,然后点击“完成”

2. 在 PLAYDECK 中,我们打开“命令列表”以查看想要使用的命令

3. 我们决定在几个频道上启动多个Overlays,之后再启动2个Streams:

<startoverlay|1|1+3>
<startoverlay|2|1+5>
<startstream|1>
<startstream|2>

4. 我们将所有命令合并为一行,并将其复制到“COMMANDS”字段中。随后按下按钮,系统将启动叠加层和Streams,因为所有命令都会按照写入的顺序依次执行。.

5. 另一个很好的例子是启动 2 个通道的同步:

<cue|1><cue|2><wait|1000><play|1><play|2>

这将对两个声道同时进行预读,然后等待 1 秒钟直至预读完成(片段缓存),随后播放两个声道。.


自定义按钮反馈

与其使用预定义的反馈(例如“PLAY STATE”),您不妨使用辅助变量来获取更多反馈。在本例中,我们将启动一个特定的模块,并在按钮上显示其剩余时间。.

1. 我们在 PLAYDECK 的 Channel #1 中添加一个新块,并将其重命名为“MAIN PROGRAM”

2. 现在,我们在 Companion 中添加一个新的按钮,并将“CONTROL PLAY FLEX”操作分配给该按钮。.

3. PLAY FLEX 操作允许我们通过名称(而非 ID)播放一个音块。我们使用模式“b:main c#1”来启动音块,具体说明请参见命令列表(PLAYDECK > 主菜单 > 文档):

4. 目前我们已经有了一个“播放积木”按钮,但我们还希望在积木开始播放后显示剩余播放时间。为此,我们需要为该按钮添加一个自定义反馈,该反馈将检查“某个”变量并执行“某项”操作:

5. 我们通过在“变量”字段中搜索“块名称”来与当前正在运行的块进行比对,并将我们的“主程序”块作为“值”添加进去:

6. 然后,我们将 TEXT 作为新的样式属性添加,因为我们的目的是显示剩余的块时间:

7. 将“$(Playdeck:channel_1_block_remain)”添加为按钮文本字符串,至此我们的按钮就制作完成了:

8. 那么,我们是如何获取“按钮文本字符串”的呢?Companion 会向您展示所有可在 PLAYDECK 中使用的变量。随后,您可以点击小型的“复制”图标,将该变量添加到您的按钮中:

将 YouTube 视频添加到播放列表中

本文将介绍如何加载和编辑 YouTube 视频。.


1. 将 YouTube 导入 PLAYDECK

您可以直接将浏览器中的任何 YouTube 链接拖放到 PLAYDECK 上:

或者,您可以使用 Stream 拖放图标来粘贴/编辑网址:

您的 YouTube 视频开箱即用。视频质量将根据您的播放列表视频格式以及 YouTube 提供的格式预先选定。.

注: 请避免使用包含播放列表的冗长 YouTube 链接,例如 “…?v=0oIIRc0zc_U&list=RD0oIIRc0zc_U”,因为此类链接可能无法正常播放,或导致卡顿。 我们建议使用简短链接,例如“…?v=0oIIRc0zc_U”。.


2. 更新 YouTube 驱动程序

如果添加的 YouTube 视频片段在 PLAYDECK 中显示为“无法播放”或呈红色,请更新集成的 YouTube 驱动程序。这很可能是因为 YouTube 对平台进行了更新,您需要从我们这里获取新版驱动程序:


3. 更改画质、视频和音频

YouTube 视频通常提供多种画质选择。您可以通过右键单击 YouTube 视频来切换视频画质:

注: YouTube 提供视频和音频合并的音视频轨道,加载速度会快得多。如果切换到未合并的视频轨道,缓存时间可能会大幅增加,且快进或快退时可能会导致视频和音频不同步。.


您的 PLAYDECK PC Build 及硬件要求

请参考这些指南,为您的 PLAYDECK 系统选择或搭建合适的硬件。虽然 PLAYDECK 几乎可以在任何 Windows 机器上播放任何编解码格式的视频,但专业的视频播出需要性能强大的硬件,以确保零丢帧。.

本文内容:
系统配置原型
遗留系统与“仅CPU”安全网
技术性能指标(面向专业人士)
硬件输出卡
起飞前故障排除检查表


系统配置原型

请从以下制作类型中选择与您即将开展的项目要求相符的一种。.

1. “一次安装,无需操心”的固定安装

适用场景:固定安装、企业展厅、医疗机构、学校及数字标牌。.

如果您需要一款紧凑型专用设备,用于无缝管理 1 或 2 个通道的标准 H.264 播放,请选择那些在不牺牲硬件解码性能的前提下采用小尺寸设计的机型。.

  • 我们的建议: 像这样的高性能迷你电脑 华硕 NUC 14 的性能华硕 ROG NUC. 避免选择标准的入门级办公版 NUC 机型。请确保您选择的迷你电脑配置中明确包含独立显卡 NVIDIA RTX 显卡 (例如 RTX 4060 或 4070 笔记本显卡)以确保 H.264 时间轴运行流畅无卡顿。.



2. 移动视频导演

适用对象:活动技术服务商、巡回音视频团队、音乐节以及远程直播。.

无论您是部署临时现场设备、将视频推送到区域性LED屏幕,还是从移动指挥站进行直播,一款散热高效的移动设备都是必不可少的。.

  • 我们的建议: 专为持续承受最大热负荷而设计的高性能、最新一代工作站或游戏笔记本电脑(例如 XMG ULTRA联想 Legion Pro 系列)。在广播环境中,可通过将笔记本电脑与 Blackmagic UltraStudio 通过高带宽的 Thunderbolt 接口连接的采集和播放设备。.



3. 广播与演播室专业人士

适用对象:电视台、多屏矩阵系统以及全天候主控室环境。.

当您的基础设施需要同时处理 UHD/4K 母版输出、大量使用 NDI® 等网络协议,或处理多层画面底部的图形时,您就需要相应的硬件处理能力。.

  • 我们的建议: 一款定制的机架式或塔式工作站,将多核处理器与台式机相结合 NVIDIA RTX 4070 / 4080 显卡 或更高版本,搭配硬件锁定的内部 SDI I/O 卡(例如 Blackmagic DeckLink 系列)。.


遗留系统与“仅CPU”安全网

如果您的团队正在使用现有的办公电脑或配备基本集成显卡的旧款笔记本电脑(例如 英特尔 UHD 显卡),这并不一定意味着情况已无望。只要正确配置处理管道,PLAYDECK 就能适应较旧的架构。.

如果您在使用较旧的办公硬件时遇到卡顿、时间轴延迟或稳定性问题,请在应用程序设置中应用此配置回退方案:

  • 打开 PLAYDECK 设置。.
  • 找到 应用 配置设置。.
  • 切换 GPU 管道 参数为 <CPU only>.
  • 切换 解读 GPU 参数为 <CPU only>.


关于旧版硬件的重要部署注意事项:
当备用模式处于激活状态时,系统 CPU 将承担全部工作负载。为确保顺利执行且不出现帧丢失,您必须限制项目范围:将播放范围限制为单个频道,将时间轴目标分辨率降至标准 1080p 全高清,并确保播放片段采用高度优化且轻量级的播放格式。.


技术性能指标(面向专业人士)

如果贵公司的工程部门正在评估现有库存或采购定制零件,请参考这些性能基准。.

1. GPU 解码层次结构

虽然存在其他图形处理方案,但就直播工作负载而言,它们在架构上并不完全相同:

NVIDIA RTX 架构(行业标准): 强烈推荐。NVIDIA 的专用 NVDEC/NVENC 模块为标准广播片段格式(特别是 H.264 和 HEVC 视频流)提供了最佳的硬件解码吞吐量。.

英特尔 ARC 系统: 适用于辅助部署。它们能有效处理现代 AV1 流,并提供出色的 DVB 4:2:2 编码功能,但在多通道制作负载下,其整体并行解码能力仍不及 NVIDIA 工作站芯片。.

英特尔 UHD 集成显卡: 仅适用于采用上述仅基于CPU的调整方案的轻量级、单通道传统方案的备用用途。.

AMD Radeon 平台: PLAYDECK 目前尚未正式支持通过 AMD 实现的硬件加速视频解码。.



2. PassMark 基准测试目标

如果您不确定当前硬件的性能水平,可以直接在 PassMark 软件官方基准测试数据库中查看您的系统组件信息。.

Playout 比例尺目标 CPU PassMark 得分目标 GPU PassMark 得分
单通道25,000+9,000+(例如,专用 NVIDIA RTX)
双通道35,000+12,000+(例如:Station级工作站)
4 至 8 个通道50,000+15,000+(高端台式机 RTX)



3. 何时应配置高级 CPU

如果您的工作流程涉及以下任何一种处理类型,系统的中央处理器将面临巨大的系统负载:

  • 完全绕过 GPU 解码管道的高比特率母版格式(例如,, Apple ProRes, HAP, ,或 Avid DNxHD).
  • 使用……进行多目的地网络路由 NDI® 输出, ,因为这些矩阵编码器完全依赖于您的主机处理器。.
  • 大量使用实时渲染的HTML图形、数据驱动的画面底部三分之一字幕,或实时Alpha通道视频叠加。.

硬件输出卡

为规避操作系统桌面层的干扰、最大限度地提高色彩准确度,并保持严格的硬件锁定帧率控制信号,请将主视频源卸载至专用的 PCIe 或 Thunderbolt 视频接口。.

PLAYDECK 与主要广播硬件产品线保持原生兼容性,包括:

  • Blackmagic Design(DeckLink / UltraStudio)
  • AJA Video Systems
  • Deltacast 与 Bluefish444
  • Magewell、Osprey 和 Stream Labs
  • ASIO 和 Dante 虚拟声卡音频端点

起飞前故障排除检查表

如果您在配置过程中遇到播放卡顿、音频不同步或意外延迟等问题,请在联系技术支持之前,先按照此快速自诊断检查清单进行排查。.

  • 请检查 <CPU only> toggle: 如果在配备集成英特尔显卡的办公笔记本电脑上运行,请确保以下两点: GPU 管道 以及 解读 GPU 已设置为 <CPU only> 在“设置”菜单中。.
  • 验证 Windows 电源方案: 笔记本电脑在电池供电时通常会限制性能。请将设备连接到电源插座,并将 Windows 的电源方案更改为 高性能最佳表现.
  • 监控播放时钟: 在播放过程中,请查看 PLAYDECK 中的集成性能监控器。如果帧计数器数值下降或变为红色,说明您的硬件遇到了性能瓶颈。.
  • 匹配输出刷新率: 请确保 Windows 显示设置中的刷新率(例如 50Hz 或 60Hz)与 PLAYDECK 中项目设置的输出帧率完全一致。.
  • 检查视频片段编解码器: 如果某个特定视频出现问题,请检查其属性。高码率的4K文件或未压缩格式会使基础系统处理器不堪重负。建议使用H.264 MP4文件进行最稳妥的基准测试。.
  • 更新 I/O 驱动程序: 如果使用 Blackmagic DeckLink 或 UltraStudio 硬件,请确保您已安装最新版本的 桌面视频 通过 Blackmagic Design 支持页面安装。.

用户手册与指南


欢迎阅读 PLAYDECK 官方文档。本综合用户指南旨在帮助您完美地配置、自动化和运行您的播出系统——无论您是在本地部署,还是在基于云的远程制作环境中部署。.

💡 本地化生产工作流程: 为了确保在全球高压环境下运行无误,PLAYDECK 软件的用户界面原生支持 9 种国际语言。.


快速入门:系统架构

PLAYDECK 支持从简单的单通道设置到复杂的广播基础设施。在深入阅读下文的具体配置章节之前,请确保您已了解所用版本的核心功能:

  • 多通道 Playout: 可同时管理和路由多达 8 个完全独立的输出通道。通过我们高速的拖放式播放列表界面,可即时整理您的视频、图形、音频轨道、现场输入或 IP 流。.
  • 实时转码: 几乎所有常见的视频编解码器或容器格式均可用于填充您的播放列表。PLAYDECK 内置引擎会自动对所有素材进行缩放、转换和转码,以实时匹配您的全球硬件输出格式。.
  • 灵活的信号路由: 通过专业硬件I/O卡(Blackmagic Design、AJA、Deltacast等)、原生低延迟NDI®流、安全的SRT信号源或Windows扩展桌面输出您的原始信号。.
  • 高级控制与自动化: 通过快速的物理键盘快捷键、自动化的Tally接口、标准化的网络TCP/IP命令,或我们专为……打造的原生模块,全面掌控您的制作流程 Bitfocus 伴侣 以及 Elgato Stream Deck 系统。.


Studio Edition:实时素材导入与音频处理能力

如果您正在操作 PLAYDECK 工作室版, ,您可以使用功能更强大的广播级工作流程:

  • 4通道录制与导入时精准编辑: 最多可同时捕获 4 路专用录制流。其中一条指定的主通道可用于活动 边导入边编辑 剪辑生成功能,让您能够使用快捷键快速修剪、剪切并立即将精选片段添加到播放列表中,同时后台录制仍可不间断地继续进行。.
  • 原生支持 ASIO 和 Dante: 借助原生的高性能集成,可轻松路由复杂的多声道音频,支持 ASIO 设备和 Dante 虚拟声卡 (DVS),最多可管理 32 个独立音频通道。.


如何浏览本文档

请使用 左侧边栏中的导航菜单 以访问特定的技术章节。菜单会自动展开,引导您浏览关于硬件、播放列表、路由和自动化的分步指南。.

音频延迟/滤波器

在现场制作中,有时需要将音频比视频延迟发送,以弥补大型液晶显示屏的处理延迟(唇形同步)。或者在麦克风输入音频中添加限幅器/门限器。.

本文内容:
简易音频延迟
复制音频和延迟
更多音频滤波器


简易音频延迟

在 PLAYDECK 中实现这一点其实非常快。你可以像这样将 ADELAY 音频滤波器添加到声道中。在此示例中,我们为音频声道 1 和 2 设置了 600 毫秒的延迟:

此选项也可设置为“INPUTS”,以补偿任何输入端的唇形同步问题。.


复制音频和延迟

您还可以将音频通道 1 和 2 复制到音频通道 3 和 4,并对它们进行延时处理。这样做的目的是让音频调音师能够听到实时预览音频。.

这需要在播放列表级别进行设置,因此请在“设置”中清除所有音频滤波器。.

首先,请务必增加输出通道的音频通道数,否则所有大于2的音频通道都将无法被处理:

右键单击任何播放列表项目,然后选择“音频通道映射”:

这将把音频通道 1 和 2 复制到音频通道 3 和 4:

现在再次右键单击播放列表项目,选择“音频滤波器”,并添加 ADELAY 滤波器,但仅适用于音频通道 3 和 4:


更多音频滤波器

如需查看所有音频滤波器的完整列表,请点击“显示示例”。这将打开一个包含示例的文本文件。.

视频引擎日志记录

本文将介绍如何配置 Video Engine 日志记录。.


1. 配置日志记录

启动 PLAYDECK,打开 设置, ,然后选择 申请 选项卡。在页面底部,您可以找到配置选项。.

输出文件夹: 选择目标目录。该目录也可以是网络共享文件夹。.

存储警告: 日志文件每分钟可能轻松占用高达 1 GB 的空间(在详细级别为 0 且所有模块均启用的情况下)。请根据问题可能出现所需的时间,确保您拥有足够的可用磁盘空间。.

冗长程度: 请务必使用以下命令开始记录日志: 0 – 跟踪. 这可确保视频引擎开发人员获得所有必要的信息。.

模块: 选择 全部 首先。如果日志文件变得过大,您可以通过重点关注特定模块来缩小其大小:

首先需要设置的是你的 输出文件夹 用于存储日志文件。这可以是网络上的一个共享文件夹。日志文件每分钟的占用空间可能轻松达到 1 GB(在详细级别为 0 且所有模块均启用时)。请根据预计出现故障的时间,预留足够的可用磁盘空间。.

接下来的设置是 冗长: 请务必使用以下命令开始记录日志: 0 – 跟踪, ,这样视频引擎开发人员就能掌握所有信息。.

随着 模块 我们选择的设置 全部 首先。如果日志文件变得太大,我们可以重点关注特定模块来缩小其大小:

  • 全部: 记录一切。.
  • 播放列表、文件、编解码器: 涵盖播出、文件解码以及片段加载/播放错误。.
  • 作家: 涵盖流媒体、录制和编码。.
  • 网络: 涵盖流媒体协议。.
  • 渲染器: 涵盖设备输出和NDI。.
  • 直播: 适用于现场输入。.
  • 设备: 与硬件设备相关的所有内容。.
  • blackmagic: 与 Blackmagic Design 硬件相关的所有内容。.


拆分选项: 这取决于您正在运行多少个频道,因为每个频道都运行在独立的进程中。如果您使用 超过2个频道, ,我们强烈建议启用“拆分”选项。.


2. 开始/停止记录

要即时捕获一个错误,您需要先启用日志记录,复现该问题,然后停止日志记录,最后将日志文件发送给开发团队。.

时间: 你可以 开始 以及 停止 随时开始录音。这样您就可以提前准备好播放列表或设备。尽量缩短录音开始与结束之间的时间,以确保文件总大小在可控范围内。.

会话文件夹: 点击后 开始, ,一个以当前时间戳命名的子文件夹(例如,, 2026-05-16__01-20-00) 将创建在您指定的日志路径中。.

停止: 一旦出现该错误,请点击 停止. 请等待至少10秒 以确保所有正在运行的日志进程完成向磁盘的写入操作。.

压缩: 打开日志路径,找到会话文件夹。右键单击该文件夹,选择 压缩为…, ,然后选择 7z (首选)或 邮编. 压缩时间长短取决于文件大小。.

现在我们需要将会话文件夹中的内容压缩成 ZIP 文件。. 识别 按开始时间排序您的会话文件夹。然后右键单击会话文件夹,选择 压缩为 并选择 7z 文件 (如有)或 ZIP文件. 现在请向后靠,压缩过程可能需要一些时间。.


3. 上传日志

请通过我们的官方下载门户上传您压缩后的日志文件:

https://download.joy-event-media.de

  1. 将您的 ZIP/7z 文件拖放到浏览器窗口中,或使用文件浏览器。.
  2. 点击 上传.
  3. 完成后,请点击 复制 将生成的下载链接复制到剪贴板。.
  4. 发送电子邮件至 [email protected] 并将下载链接粘贴到消息中。.

注意:如果没有这个具体的下载链接,根据数据保护政策,我们的团队将无法访问您的文件。.


4. 清理

请务必删除原始日志文件和会话文件夹 之后 成功压缩并上传,以释放磁盘空间。PLAYDECK 不会自动删除或清理旧日志文件。.


将 SCTE-35 发送至 Stream 服务器

SCTE 标记主要用于向视频输出中插入广告,通过向接收端(例如 Streaming 服务器)发送信号,指定在何时插入广告以及广告的时长。这使得第三方系统能够从数据库中动态选择广告。 您可以进一步了解 SCTE-35 的相关信息 在本网站上.

本文内容:
引言
SCTE-35 标记示例
在本地测试 SCTE-35 标记
在 Nimble Streamer 中测试 SCTE-35 标记
其他信息


引言

我们还推荐 我们关于SCTE的概述文章.

您可以在 PLAYDECK 中将 SCTE 标记附加到 4 个不同的对象上:
– 片段(任意位置)
– 区块(起始和结束)
– 覆盖层(显示和隐藏)
– 操作按钮

我们没有为您提供预定义的 SCTE 标记,而是采取了另一种方法:您需要自行编写 SCTE 标记。这可能需要一些学习过程,但最终会带来更大的灵活性。 其优势在于,您的标记将始终与所有接收器兼容。为了获取片段时长及其他“变量”,我们提供了特定的“占位符”。.

请注意,必须在您的 Stream 选项中启用 SCTE:


SCTE-35 标记示例

让我们来看一些 SCTE-35 的示例。它展示了 SCTE-35 最常用的形式,即“拼接”。.

注: 本文介绍的 SCTE-35 格式与 Nimble Streamer 配合使用效果最佳(见下文)。根据您使用的 Stream 服务器不同,该格式可能会有所差异。请咨询您的服务提供商。.

这将插入一条广告,并在指定时长结束后自动返回您的节目。PLAYDECK 会根据您当前正在播放的片段自动设置该时长。您也可以使用 {blockduration} 或手动输入的数值来替换该时长。 若选择手动设置时长,计算公式为:片段时长乘以90000,并进行四舍五入。 这样设置的原因在于,90000是大多数SCTE系统使用的默认时间尺度。例如:若片段时长为12.4秒,则SCTE时长应为1116000。.

除了发送时长信息外,您还可以发送两个独立的 SCTE 标记来控制广告的开始和结束。它们分别称为 CUE-OUT(从节目切入广告)和 CUE-IN(切回节目)。.

正如您可能已经注意到的,唯一的区别在于“outOfNetworkIndicator”的值是1(CUE-OUT)还是0(CUE-IN)。SCTE系统会根据“spliceEventId”将这两个标记配对。.

注: 支持的占位符包括:{timestamp} {timestampunix} {airtimenext} {airtimenextunix} {plannednext} {plannednextunix} {clipid} {blockid} {blockduration} {clipduration}


在本地测试 SCTE-35 标记

打开 PLAYDECK。目前无需加载任何片段。右键单击任意“操作”按钮,创建一个新操作,然后选择“命令/SCTE”:

点击 SCTE-35 插入 SCTE-35 示例标签。点击“确定”(两次)关闭弹出窗口:

我们现在可以将 SCTE-35 标签发送至任何兼容的 Stream(UDP、DVB、SRT)。如果您现在点击“操作”,则不会发生任何变化,因为我们目前还没有 Stream。.

让我们创建一个名为“Test UDP Stream”的测试项目,在此项目中,我们只需将输出写入文件,这样(目前)就无需费心处理服务器相关事宜。请复制以下设置,然后点击“START NOW”启动 Stream。 别忘了通过“参数”启用 SCTE-35:

我们现在想将“Sample SCTE-35”标签发送至“Stream”。请关闭“设置”界面,点击“操作”按钮数次,然后返回“设置”界面,通过“立即停止”功能停止“Stream”。.

您的 SCTE-35 标签已由 PLAYDECK 记录。您可以通过返回“操作按钮”上的 SCTE-35 代码,然后点击“打开事件日志”来查看日志:

您还可以将录制的 Stream 文件中的 SCTE-35 标签显示出来。为此,我们需要一个名为“DVBInspector”的独立工具。该工具还需要 JAVA 运行时环境,因此请同时下载以下两项:

此工具需要 Java 运行时环境。如果尚未安装,您可以在此处下载:
https://www.oracle.com/java/technologies/downloads/

现在解压“DVBinspector-1.18.0-dist.zip”(或类似文件名),并运行“DVBinspector-1.18.0.jar”。然后将您的 TS 文件拖放到应用程序上。按以下步骤展开树形结构,查看您的 SCTE 标记。.


在 Nimble Streamer 中测试 SCTE-35 标记

Nimble Streamer 是我们首选的 Streaming 服务。它不仅性价比高、易于部署和维护,同时还具备满足高级应用场景所需的深度和复杂性:

https://softvelum.com/nimble/

将 Nimble 的 14 天试用版安装到与 PLAYDECK 运行在同一台机器上。虽然这不是必须的,但这样会更简单,因为您无需进行网络设置。 Nimble 还会提示您在 WMSPanel 上创建一个账户,WMSPanel 是 Nimble 的基于 Web 的配置工具,因为 Nimble Streamer 本身在安装时不带用户界面。.

信息: 若要在正式环境中测试此 SCTE-35 示例,您无需安装“Nimble Live Transcoder”或“Nimble Advertizer”插件。在试用版安装中,这些插件默认处于禁用状态。.

让 Nimble 运行起来后,还有一项配置需要手动完成。请在此处打开 Nimble 服务器配置文件:
c:\Program Files\Nimble Streamer\conf\nimble.conf

在该文件末尾添加以下几行,然后保存文件。.

scte35_processing_enabled = true 
scte35_forwarding_enabled = true 
hls_ad_scte35_forwarding_enabled = true
hls_ad_marker_format = cue
hls_ad_splice_out_cont_marker_enabled = true

重要提示: 您现在需要重启 Nimble,方法是重启电脑,或者手动重启 Windows 服务“Nimble Streamer”。.

以下是这些代码行,但添加了注释供您参考(请勿使用这些代码):

scte35_processing_enabled = true  // 启用 SCTE 模块。这是所有其他选项的必要条件
scte35_forwarding_enabled = true  // 允许通过 Live Transcoder 转发 SCTE-35 标记
hls_ad_scte35_forwarding_enabled = true  // 启用将 SCTE-35 标记转发至 HLS 流的功能
hls_ad_marker_format = cue  // 设置 Nimble 使用 CUE-OUT 和 CUE-IN 标记
hls_ad_splice_out_cont_marker_enabled = true  // 启用自动插入 EXT-X-CUE-OUT-CONT

现在,让我们在 WMSPanel 中配置您的 Streams:
首先,我们将定义传入的 Stream 流。在菜单中进入“Nimble Streamer”,选择“MPEGTS In”,点击“添加 UDP 流”按钮,然后按如下方式添加传入流。 如果端口 5001 已被占用,您可以使用任何其他端口。.

接下来,我们将设置输出流格式。 这里我们将使用 HLS 来演示 SCTE 标记从 UDP 到 HLS 的转换。在同一页面中,转到“MPEGTS 输出”部分,点击“添加输出流”按钮,然后按如下方式添加。请确保将输入流选为视频和音频源。.

接下来,我们继续在 PLAYDECK 中进行设置。进入 Stream 输出设置,将 Stream 的 URL 更改为“udp://127.0.0.1:5001”。.

信息: 您可以选择任何喜欢的视频编解码器。在此示例中,我选择了 H.264,以便让我的 NVIDIA GPU 进行编码,从而降低 CPU 占用率。此外,请在“参数”中启用 SCTE-35。.

信息: 请注意,PLAYDECK 无法直接流式传输 HLS。如果您将“Apple HTTP Live Streaming”选为 Streaming 格式,输出内容将被写入文件。 因此,您需要将文件目标指定为“Stream URL”,例如“c:\Users\Public\Documents\stream.m3u8”。 随后,您可以使用该文件通过任何 Streaming 服务器进行流媒体传输。PLAYDECK 无法将 HLS SCTE 标签写入 HLS 清单文件(即 *.3u8 文件)中。.

接下来,我们希望PLAYDECK能够自动发送SCTE信号,不仅通过按钮触发,还要与音频片段相关联。因此,我们插入任意音频片段,点击工具栏中的“命令”图标,然后添加一个新命令,选择“播放时间 0”,最后插入SCTE-35样本:

信息: 您还可以将 SCTE 标记添加到块、叠加层和操作按钮中。.

现在让我们开始吧:在PLAYDECK设置中对片段进行“CUE”和“PLAY”操作,并启动Stream。切换到WMSPanel,从“Nimble Streamer”菜单中打开“Live Streams”选项。 此时您将看到一个正在运行的实时流。点击它,然后像这样点击最右侧的问号图标。.

在“待播放的 URL”列表中,选择以“playlist.m3u8”结尾的那个,然后点击“复制”。现在将此 URL 粘贴到任何已集成或安装了 HLS 播放器的浏览器中。在本例中,我们使用安装了以下 HLS 播放器扩展程序的 CHROME 浏览器:
https://chromewebstore.google.com/detail/hls-player-m3u8-streaming/eakdijdofmnclopcffkkgmndadhbjgka

将该网址粘贴到 Chrome 浏览器后,您会立即看到 PLAYDECK 流媒体开始播放。 现在让我向您演示如何监控 SCTE 标记。在 Chrome 中按 F12 打开开发者工具。在顶部点击“网络”选项卡。此时您会看到多个“chunks.m3u8”文件,它们是您流媒体的一部分。 点击其中一个 Chunk 文件(也称为 HLS 清单),然后选择其旁边的“预览”。此时您将看到 HLS SCTE 标签。如果未显示,请点击另一个 Chunk 文件,因为我们仅在片段开始时发送 SCTE。.

就这样!我们已经达到了测试目标。接下来还有更多值得深入了解的信息。.


其他信息

登录 PLAYDECK

我们会记录所有输入和输出的 SCTE 标签。这还让您能够通过将输出信号循环连接至输入端(包括 SDI 和 Streams),并让 PLAYDECK 检测您的 SCTE,从而测试您的输出 SCTE。 您可以通过“日志”主菜单打开日志文件:


Nimble Streamer 中的日志记录

如果出现任何问题或情况与预期不符,不妨先查看 Nimble 日志文件。在 Windows 系统中,日志位于此处:
c:\Program Files\Nimble Streamer\log

在 Nimble 试用版中,日志记录功能默认已启用,但如果您需要手动启用该功能,以下是“nimble.conf”文件中的相关配置选项。.

log_access = file
logging = debug

现在打开日志文件,查找“SCTE”。你可能会看到类似以下的内容,这表明你在 PLAYDECK 中的 SCTE 标记中存在拼写错误:

[SCTE35] [mynewapp/mynewstream] 不支持类型为 6 的拼接命令

如果您的 SCTE 标记在 Nimble 中解析成功,其显示效果如下:

[SCTE35] splice_insert: event_id=4157 oon=1 immediate=1 pts_adjustment=0 pts=0 actual_pts=202593600 duration=2707200 data=0xfc....



工具:TSDuck

这是一个包含大量工具和插件的集合,拥有庞大的库,用于处理 MPEG 传输流。借助它,您可以根据算法或其他复杂逻辑,在 PLAYDECK 之外插入 SCTE 标记。.

https://tsduck.io/


工具:x9k3

该工具还可以将UDP SCTE-35或MPEG-TS文件中的SCTE-35标记转换为HLS SCTE标签。这样,您就可以部署一台不具备SCTE-35到HLS自动转换功能的流媒体服务器。.

https://github.com/futzu/x9k3

ASIO / Dante 虚拟声卡

本文介绍了如何在PLAYDECK中设置ASIO音频接口和设备。.

本文内容:
设置 ASIO
但丁虚拟声卡 (DVS)
故障排除


设置 ASIO

启用“附加音频输出”设置,通过 ASIO 输出音频。.

重要提示: 作为一款实时播放解决方案,PLAYDECK 需要 ASIO 设备提供稳定的同步时钟。如果没有该时钟信号,帧就无法被正确处理,从而导致严重的卡顿现象。.


但丁虚拟声卡 (DVS)

Dante Virtual Soundcard(DVS)是一款软件解决方案,可将您的计算机转变为支持Dante的工作站,让您能够通过标准以太网(LAN)网络传输和接收高质量音频。.
https://www.getdante.com/products/software-essentials/dante-virtual-soundcard/

您可以通过 ASIO 或 WDM 模式将 DVS 与 PLAYDECK 进行连接:

  • ASIO(推荐): 可通过所有PLAYDECK输出端口传输多达64个音频通道。这为专业工作流程提供了最低的延迟和最多的通道数量。.
  • WDM: 音频通道数上限为16个,且每个PLAYDECK输出通道仅限一对立体声。.


配置步骤

1. 启动 DVS 引擎:
打开 Dante Virtual Soundcard 控制面板,将接口设置为 ASIO, ,然后点击 开始.


2. 在 PLAYDECK 中选择设备:
现在,您可以在 PLAYDECK 设置中选择“Dante Virtual Soundcard”作为您的 ASIO 设备。.


3. 通道映射:
PLAYDECK 将自动开始路由分配给该特定输出的音频通道。单个输出最多可支持 32 个音频通道。.


4. ASIO 设备拆分:
若要在多个 PLAYDECK 输出通道上同时使用 ASIO 驱动程序,请启用 ASIO 设备拆分.


5. 分配多个输出:
启用拆分功能后,DVS 将显示为多个子设备。这样,您就可以为每个 PLAYDECK 输出通道分配一个专用的 ASIO 设备。.

关于拆分逻辑的说明: 通道分配由每个输出的“音频通道”设置决定。例如,如果输出 1 和 2 各设置为 8 个通道,而其他输出设置为 2 个通道,ASIO 驱动程序将据此拆分音频流,以满足这些具体要求。.


故障排除

慢速播放(逐帧播放)

如果 PLAYDECK 无法与 ASIO 设备发出的时钟信号同步,就会出现这种情况。由于 PLAYDECK 是一个实时播放引擎,因此需要稳定的时钟信号来处理帧。.

解决方案: 确保 时钟领袖 (原称“主时钟”)已在您的网络中启用。该功能可由硬件(例如支持 Dante 的调音台)、软件驱动程序或专用时钟发生器提供。.

如果您正在使用 但丁, ,您可能需要额外的工具来验证工作流。请按照以下步骤设置本地测试环境:

  1. PC 1: 安装 PLAYDECK 和 Dante Virtual Soundcard (DVS)。在 ASIO 模式 并在 PLAYDECK 中选中它。.
  2. PC 2: 安装 但丁街 以及 Dante 控制器.
  3. 在 Dante Via 和 Controller 中,请确保正确 以太网接口 已选中。.
  4. 在 Dante Via 中,请启用至少一个输出设备。.


配置完成后,请打开 Dante 控制器. 您应该会看到“Dante Via”充当 时钟领袖 您的 PLAYDECK 系统已成功连接。.

请查看此测试设置的屏幕截图:
https://downloads.playdeck.tv/assets/DanteClockTest.mkv

注意:在某些情况下,安装 ASIO4ALL 有助于稳定 PLAYDECK 与特定音频接口之间的“握手”过程。. (https://asio4all.org/)


音质不佳

音频失真或出现“卡顿”通常是由采样率不匹配引起的。请确保 采样率 (例如,48 kHz)在以下所有情况下均相同:

  • Windows 声音设置 (高级属性)
  • PLAYDECK 设置
  • ASIO 设备 / DVS 控制面板



音频通道混音与路由

在处理多声道音频时,您可能需要将声道进行下混,以适配特定的输出设备。请参阅 这篇文章 有关管理多渠道路由的详细说明。.

内部和外部 Keying

PLAYDECK 同时支持内部(在输入信号上叠加图形)和外部(生成视频填充和抠像信号)两种 Keying 模式,前提是输出卡也支持该功能。您还可以单独输出抠像或填充信号。.

您还可以使用 NDI 发送支持 Alpha 通道的 Key 或 Fill 信号。.


内部 Keying

在内部 Keying 模式下,PLAYDECK 会将视频叠加到同一张卡上接收到的输入信号上:

以 Decklink Duo 2 为例:它有 4 个 SDI 端口。我们需要借助 Desktop Video Setup(Blackmagic 自带的设置应用程序),向该卡指定哪两个端口将用于内部 Keying 模式:

Decklink 现将按以下方式运行:

如果现在启动 PLAYDECK,则“INTERNAL”选项将作为设备输出可供选择:

一旦您为 Keying 激活设备,PLAYDECK 将自动将您的背景设置为“透明”,并将色彩空间设置为 ARGB32(以支持 Alpha 通道):

该图片展示了 PLAYDECK 叠加层示例:创建叠加层 > HTML > Screen-Title.html。.


外部 Keying

在外部 Keying 模式下,PLAYDECK 会同时生成填充信号和键控信号,而键控操作则由外部键控器完成:

以 Decklink Duo 2 为例:它有 4 个 SDI 端口。我们需要借助 Desktop Video Setup(Blackmagic 自带的设置应用程序),向该卡指定哪 2 个端口将用于连接外部 Keying:

Decklink 现将按以下方式运行:

如果现在启动 PLAYDECK,则“EXTERNAL”选项将作为设备输出可供选择:

一旦您为 Keying 激活设备,PLAYDECK 将自动将您的背景设置为“透明”,并将色彩空间设置为 ARGB32(以支持 Alpha 通道):

该图片展示了 PLAYDECK 叠加层示例:创建叠加层 > HTML > Screen-Title.html。.

支持的输入/输出设备


我们基本上支持以下厂商的所有显卡,因为我们始终提供最新的驱动程序。但由于市面上的显卡种类繁多,我们仅对其中最常见的型号进行了测试。.


Blackmagic Design

重要提示: 需要 14.5 及以上版本的 Blackmagic 桌面视频系统设置.

  • DeckLink 4K Extreme 12G
  • DeckLink 8K Pro
  • DeckLink Duo 2
  • Intensity Pro 4K
  • DeckLink Mini 监视器 / Mini 录像机
  • DeckLink Quad 1 / 2 / HDMI 录像机
  • DeckLink SDI 4K
  • DeckLink Studio 2 / 4K
  • Ultra Studio HD Mini / 4K Mini / 4K Extreme 3 / Monitor 3G
  • DeckLink IP/SDI 高清

AJA

  • Corvid 24 R1
  • Corvid 44
  • Corvid 88
  • KONA LHi
  • KONA IP

Deltacast

  • DELTA-3G-e 22
  • DELTA-3G-elp-d 8c
  • DELTA-3G-elp-key 11
  • DELTA-ip-ST2110

Bluefish444

  • Epoch 4K Neutron
  • Epoch 4K Supernova S+
  • Epoch Neutron
  • Epoch Supernova CG
  • KRONOS K8

DekTec

  • DTA-2144B

迈格威

  • Pro Capture Quad HDMI
  • Pro Capture Quad SDI

鱼鹰

  • Osprey 915
  • Osprey 925
  • Osprey 927
  • Osprey 935
  • Osprey 945
  • Osprey 914
  • Osprey 924
  • Osprey 944
  • Osprey 1214
  • Osprey 1215
  • Osprey 1225
  • Osprey 1227
  • Osprey 1245
  • Osprey 1285
  • 鱼鹰M15
  • 鱼鹰 M14
  • 鱼鹰M24
  • Osprey M25

Stream 实验室

  • Alpha HD
  • MH4LM
  • MS4
  • MSP2

  • SC550N1

1 2 3 4 5