QLab cue list showing batch generated subtitle group cues

如何从Excel、CSV或TXT快速制作QLab字幕


如果你已经在用QLab运行演出,慢的环节通常不是投影仪。

慢的环节是把剧本、翻译、电子表格或纯文本文档变成数百个可提示的字幕行,同时不破坏演出文件。

舞台监督可能有一个Word剧本。翻译可能有一个Excel表格。技术人员可能有一个纯文本列表。QLab操作员需要的是别的东西:可靠的Text提示,可以放入演出时间线,进行排练、移动、重新编号,并在压力下触发

本指南介绍了一种从Excel、CSV或TXT快速构建QLab 5字幕的工作流程。它还将该方法与官方QLab文档进行了比较,以便明确界限:QLab直接支持什么,可以用AppleScript自动化什么,以及像SurtitleLive这样的专用顶幕工作流程何时更安全。

QLab能显示字幕吗?

能。在QLab中,字幕或顶幕通常用Text提示构建。

官方QLab 5文档将Text提示描述为以视频输出形式显示样式化文本的提示。Text提示可以使用字体、大小、样式、对齐、颜色和背景颜色设置,当提示运行时,QLab将文本渲染为视频。由于Text提示是QLab视频系统的一部分,它们可以被分配到视频输出舞台进行投影。

对于剧场团队来说,这意味着字幕可以是一个普通的QLab提示:

  • 它可以与声音、视频、灯光、等待和待命时刻放在同一个提示列表中
  • 它可以被分配到投影仪或屏幕舞台
  • 它可以像其他视觉素材一样进行格式化
  • 它可以通过GO、提示触发器、时间线组、OSC、MIDI或其他演出控制逻辑触发

这是好消息。

坏消息是QLab不是翻译编辑器。它不是剧本分段工具。它不是多语言观众查看器。如果你在QLab内部手动创建每条字幕,在排练开始前就可能浪费数小时。

官方QLab文档支持什么

在构建工作流程之前,有必要区分官方QLab行为和制作快捷方式。

需求 官方QLab文档支持什么 本文补充什么
显示投影文本 QLab Text提示以视频输出形式渲染样式化文本,并可分配到视频输出舞台。 将每条字幕视为一个QLab Text提示。
生成大量提示 QLab AppleScript字典支持make type "text",并暴露提示属性,如texttext alignmentfixed widthstage nametranslation xtranslation y 使用电子表格行或文本块作为每个Text提示的来源。
使用电子表格 QLab Cookbook包含一个电子表格驱动的示例,该示例读取Excel行、创建组、创建Text提示、设置文本和格式,并将提示移入组中。 将相同模式应用于字幕和顶幕,而非抽认卡。
原生导入XLSX作为字幕 QLab的公开文档演示了Excel自动化,而非一键式原生XLSX字幕导入功能。 使用Excel/CSV/TXT作为源数据,然后使用脚本或导入器生成QLab提示。
同步观众手机 QLab的Text提示处理本地投影。它们本身不会将基于浏览器的字幕状态发布到观众手机。 当同一提示需要驱动投影和观众移动端观看时,使用SurtitleLive QLab Sync。

这种区分对于SEO和制作准确性很重要。安全的说法不是“QLab原生导入Excel字幕”。更安全、更准确的说法是:

你可以使用电子表格驱动或脚本驱动的工作流程,从Excel、CSV或TXT创建QLab字幕Text提示。

这与QLab自己的Cookbook处理电子表格自动化的方式一致。

最快的结构:每行一条字幕

如果你的来源是Excel或Google Sheets,从每行一条字幕开始。

保持表格简单。简单是好的。简单能经受住技术排练。

用于QLab字幕的简单Excel电子表格结构 在此下载模板:QLab字幕Excel模板(XLSX)

示例 为什么重要
cue_number 10 你要分配的QLab提示编号。
subtitle_text 欢迎观看演出。 观众看到的文本。
operator_note 门铃后 给操作员的提示说明。
language zh 如果你准备多个版本时很有用。
stage 顶幕 可选的QLab视频输出舞台名称。
alignment center 通常是center,但要明确指定。

对于第一遍,只有两列是必需的:

cue_number,subtitle_text
10,Welcome to the show.
11,Please turn off your phones.
12,The performance will begin shortly.

如果字幕来自翻译人员,请要求他们不要合并单元格、用颜色编码含义或在注释中隐藏制作说明。将文本放在列中。脚本可以读取列。操作员可以检查列。

方法1:Excel到QLab Text提示

此方法最接近官方QLab Cookbook模式。

思路很简单:

  1. 在Excel中打开字幕电子表格。
  2. 打开目标QLab 5工作区。
  3. 先在QLab中设置你的Text提示模板。
  4. 运行一个读取每行的AppleScript。
  5. 对于每行,创建一个QLab Text提示。
  6. 设置提示编号、提示名称、文本、对齐、宽度、注释,以及可选的舞台。
  7. 将生成的提示移动或复制到真实的演出时间线中。

官方的Cookbook示例使用Excel创建了一个更复杂的可视化工作区,包含组和每行多个Text提示。对于字幕,你可以简化该模式:一行电子表格变成一个字幕Text提示

一个最小的AppleScript骨架可能如下所示:

-- Official QLab 5 pattern:
-- https://qlab.app/docs/v5/scripting/examples/#create-and-move-a-new-cue
on makeCueInGroup(cueType, destinationContainer)
  tell application id "com.figure53.QLab.5" to tell front workspace
    make type cueType
    set newCue to last item of (selected as list)
    set q number of newCue to ""
    set newCueID to uniqueID of newCue
    set sourceList to parent of newCue
    move cue id newCueID of sourceList to end of destinationContainer
    return cue id newCueID of destinationContainer
  end tell
end makeCueInGroup

你可以在此下载包含此AppleScript、Excel模板和截图的完整配套包:QLab字幕演示资源(ZIP)

这不是一个成品制作导入器。它是一个可读的起点。

对于真实演出,在写入QLab工作区之前添加检查:

  • 如果提示编号为空则停止
  • 如果提示编号已存在则停止
  • 修剪字幕文本中的多余空格
  • 如果一行太长则发出警告
  • 拒绝标记为草稿或未批准的行
  • 首先将生成的提示放入临时组
  • 保留QLab工作区的时间戳备份

最安全的工作流程是先将提示生成到单独的QLab工作区或明确命名的组中,进行审查,然后再粘贴到现场演出文件中。

方法2:CSV到QLab字幕

CSV通常比XLSX更好的交换格式。

Excel便于编辑。CSV便于自动化。

CSV工作流程通常如下所示:

  1. 在Excel、Google Sheets、Numbers或Airtable中编辑字幕。
  2. 导出为CSV。
  3. 运行一个读取CSV并创建QLab Text提示的小型导入器。
  4. 在排练前审查生成的QLab提示。

优点是导入器不需要直接与Excel通信。它可以读取纯CSV文件。这使得工作流程更容易进行版本控制、测试和重复。

CSV也可以放在Git中,因此更改更容易审查。例如,制作经理可以看到提示42从一种翻译更改为另一种,而无需打开QLab工作区。

对于剧场团队来说,这很有用,因为字幕工作不断变化:

  • 翻译被缩短
  • 演员改变了停顿
  • 一个笑话需要不同的换行
  • 后期删减移除了一页
  • 导演要求将字幕提前两个提示

如果你的源数据结构化,重建QLab提示列表就变得可重复,而不是手动操作。

方法3:TXT到QLab字幕

当你还没有电子表格时,纯文本是最快的起点。

使用简单的块格式:

10
Welcome to the show.

11
Please turn off your phones.

12
The performance will begin shortly.

在这种格式中,每个字幕块包含:

  1. 一个提示编号
  2. 一行或多行字幕文本
  3. 下一个块之前的空行

TXT导入器可以在空行处分割文件,将第一行读取为QLab提示编号,并将剩余行视为字幕文本。

这很快,但也脆弱。纯文本适用于小型活动或草稿排练。当你需要多种语言、审批状态、操作员注释、场次编号、说话者姓名或修订历史时,它就会变得不足。

对于严肃的顶幕,一旦结构变得更复杂,尽快将TXT转换为电子表格或专用顶幕编辑器。

投影设置:不要忘记舞台

生成Text提示只是工作的一半。

QLab Text提示必须输出到某个地方。在官方QLab Text提示检查器中,I/O选项卡将提示分配到视频输出舞台。如果提示没有舞台,Text提示可能会损坏或无法出现在预期位置。

QLab Text提示检查器显示I/O选项卡中的视频舞台分配

在导入数百个字幕提示之前,创建并测试舞台:

  • 连接投影仪或显示器
  • 配置QLab视频输出舞台
  • 创建一个手动Text提示
  • 设置字体、大小、颜色、宽度、对齐和位置
  • 确认从后排可读
  • 将该提示保存为模板,或将其设置复制到生成的提示中

在自动化之前执行此操作。自动化会重复你的设置。如果模板错误,自动化会非常快速地重复错误的设置。

DIY QLab字幕工作流程中通常出问题的地方

当问题很简单时,DIY QLab字幕生成效果很好:

我有文本。我需要QLab Text提示。

当问题实际上是以下情况时,它变得更困难:

我有一份翻译好的剧本、后期编辑、多个版本、一个投影屏幕、观众手机、提示跳转,以及一个需要在演出偏离剧本时恢复的现场操作员。

常见的失败点包括:

  • 重复的提示编号
  • 缺少舞台分配
  • 对于屏幕来说太宽的字幕
  • 在Excel中看起来不错但在投影仪上不行的换行
  • 提示已导入后翻译发生变化
  • QLab演出文件成为字幕文本唯一存在的地方
  • 没有干净的方法比较翻译版本3和版本4
  • 投影和移动端字幕交付逐渐脱节
  • 当演员跳过、重复或重新排列台词时操作员压力大

这就是“快速QLab自动化”与真实顶幕制作工作流程之间的界限。

何时SurtitleLive是更好的工作流程

如果你只需要本地投影,QLab Text提示工作流程可能就足够了。

如果你需要翻译审查、稳定的提示键、移动端观看或投影加观众手机,SurtitleLive在字幕到达QLab之前为其提供了一个专用工作区。

SurtitleLive QLab工作流程有两个级别。

QLab投影包

当你希望从QLab进行本地投影时使用此功能。

工作流程是:

SurtitleLive编辑器 → QLab投影包 → QLab Text提示 → 投影仪

你在SurtitleLive中准备剧本和字幕片段,审查翻译和提示顺序,然后导出QLab就绪的提示。QLab仍然是场馆的播放环境。

当QLab已经是技术操作员的核心,但字幕准备工作不应在QLab内部逐个提示进行时,这很有用。

QLab + SurtitleLive云同步

当QLab应继续运行演出时间线,但观众手机应跟随相同的字幕状态时使用此功能。

工作流程是:

QLab → 本地投影 → 投影仪

并且,在同一提示点:

QLab同步提示 → 本地Mac桥接 → SurtitleLive云 → 观众手机

在此设置中,每个SurtitleLive字幕都可以作为时间线组导入QLab。该组包含用于本地投影的Text提示和用于观众手机的同步提示。操作员仍在QLab时间线内工作,而SurtitleLive处理观众移动端字幕状态。

graph TD
    %% Style Definitions
    classDef qlab fill:#1a1c23,stroke:#5856d6,stroke-width:2px,color:#fff;
    classDef hardware fill:#2a2b36,stroke:#8e8e93,stroke-width:2px,color:#fff;
    classDef cloud fill:#0d2d5e,stroke:#007aff,stroke-width:2px,color:#fff;
    classDef audience fill:#103823,stroke:#34c759,stroke-width:2px,color:#fff;
    
    subgraph Venue ["Local Venue (Theatre)"]
        QLab["QLab 5 Workspace
(Show Control Mac)"]:::qlab Projector["Stage Projector"]:::hardware Screen["Subtitle Screen / LED Wall"]:::hardware Bridge["SurtitleLive Local Bridge
(Receives QLab OSC)"]:::qlab end subgraph CloudSpace ["Cloud Service"] Cloud["SurtitleLive Cloud Platform
(Real-time Sync)"]:::cloud end subgraph Viewers ["Audience Devices"] Phone1["Audience Phone A
(Web Browser)"]:::audience Phone2["Audience Phone B
(Web Browser)"]:::audience PhoneN["...Other Phones"]:::audience end %% Connection Logic QLab -->|"1. Video Output (HDMI/SDI)"| Projector Projector --> Screen QLab -->|"2. Local OSC Trigger"| Bridge Bridge -->|"3. Secure WebSocket"| Cloud Cloud -->|"4. Millisecond-level Push"| Phone1 Cloud -->|"4. Millisecond-level Push"| Phone2 Cloud -->|"4. Millisecond-level Push"| PhoneN %% Subgraph Styling style Venue fill:#f9f9fb,stroke:#ccc,stroke-width:1px; style CloudSpace fill:#f0f7ff,stroke:#b3d7ff,stroke-width:1px; style Viewers fill:#f2fff5,stroke:#c2f0cc,stroke-width:1px;

这很重要,因为手机字幕工作流程不应要求观众设备直接与QLab通信。演出计算机、投影仪、本地桥接和观众链接都有不同的工作。

最佳实用建议

对于小型一晚活动:

使用Excel或TXT生成QLab Text提示。保持简单。测试投影仪。保存备份。

对于翻译后的剧场演出:

在QLab外部准备字幕,然后在文本审查后导入QLab。

对于多语言或移动端观众演出:

使用SurtitleLive与QLab导出或QLab同步。保持QLab作为演出时间线,但不要让QLab成为字幕内容的唯一真实来源。

目标不是取代QLab。目标是让QLab做QLab擅长的事:现场演出控制。

字幕准备、翻译审查、移动端观看和提示状态同步需要它们自己的工作流程。

常见问题

QLab能显示字幕吗?

能。QLab Text提示可以以视频输出形式显示样式化文本,因此它们通常用于投影字幕、顶幕、隐藏式字幕、公告和类似的基于文本的视觉效果。

我可以直接将Excel字幕导入QLab吗?

QLab的官方Cookbook演示了使用AppleScript的Excel驱动提示生成,但这与内置的一键式XLSX字幕导入功能不同。实用的方法是使用Excel作为源数据,然后运行创建QLab Text提示的脚本或导入器。

我可以从CSV制作QLab字幕吗?

可以,使用导入器。CSV通常比XLSX更容易,因为它是纯文本且更容易解析。脚本可以读取每行并为每条字幕创建一个Text提示。

我可以从TXT制作QLab字幕吗?

可以,如果TXT文件使用可预测的结构。例如,每个块可以以提示编号开头,后跟字幕文本,提示之间有空行。脚本可以将这些块转换为QLab Text提示。

字幕应该是QLab Text提示还是Video提示?

对于可编辑的实时文本,使用Text提示。当字幕已经嵌入渲染的视频或图形中时,Video提示更好。Text提示更容易从结构化文本进行修订、格式化和生成。

QLab是否将字幕同步到观众手机?

QLab可以在本地投影Text提示,但观众手机交付需要浏览器/移动端工作流程。SurtitleLive QLab Sync就是为此设计的:QLab保持演出时间线,而SurtitleLive更新观众手机字幕状态。

何时应停止使用DIY QLab字幕脚本?

当字幕工作流程需要翻译审查、多种语言、稳定的提示键、移动端观看、排练恢复或导入后重复更新时,停止仅依赖DIY脚本。此时,使用专用顶幕工作流程并导出到QLab,而不是在QLab工作区内部手动维护所有字幕内容。

相关资源

相关资源