Skip to content

Desuq Cafe

文档菜单

此翻译可能落后于最新的英文版本。 查看英文版

Take Recorder 同步

自动将 OBS 录制与 Unreal Engine 的 Take Recorder 同步,用于虚拟制片工作流程。

实验性 / 可选功能。 这是一个独立的可选编辑器模块,默认情况下处于禁用状态。仅当 Takes 插件启用时才会加载,若插件不可用则会优雅地退出发现流程。

启用 Take Recorder 同步

  1. 启用 Takes 插件(Edit > Plugins > Virtual Production > Takes)。
  2. 前往 Edit > Project Settings > Plugins > OBS Take Recorder Sync
  3. 勾选 Enabled
  4. 根据需要配置同步选项。

同步设置

设置默认值说明
Auto Start RecordtrueTake Recorder 开始时启动 OBS 录制
Auto Stop RecordtrueTake Recorder 停止时停止 OBS 录制
Post-Roll Seconds0.0镜次结束后继续 OBS 录制 X 秒(0 至 60)
Auto Start Virtual Camfalse将虚拟摄像头与镜次同步
Auto Start Streamfalse将推流与镜次同步(请谨慎使用!)
Switch Scene On Startfalse镜次开始时切换到指定场景
Create Chapters On Marked FramestrueTake Recorder 中的 M 键创建 OBS 章节标记
Add Start Chapter With Metadatatrue在开始处嵌入场记板名称、镜次编号和时间码
Log File Correlationtrue将 OBS 文件路径与镜次资产路径一同记录

Blueprint API

// Get the sync object
Get OBS Take Recorder Sync -> UInhyeongOBSTakeRecorderSync

// Enable/disable at runtime
Set OBS Take Recorder Sync Enabled (Enabled: Boolean)

// Check status
Is OBS Take Recorder Sync Enabled -> Boolean
Is OBS Syncing Take -> Boolean

C++ API

#include "InhyeongOBSTakeRecorderModule.h"
#include "InhyeongOBSTakeRecorderSync.h"

// Check availability and get sync object
if (FInhyeongOBSTakeRecorderModule::IsAvailable())
{
    UInhyeongOBSTakeRecorderSync* Sync =
        FInhyeongOBSTakeRecorderModule::Get().GetTakeRecorderSync();

    if (Sync)
    {
        Sync->bEnabled = true;
        Sync->bAutoStartRecord = true;
        Sync->bSwitchSceneOnStart = true;
        Sync->StartSceneName = TEXT("Recording");
        Sync->SaveConfig();
    }
}

章节标记要求

OBS 章节标记需要满足以下条件:

  • OBS 版本 30.2.0 或更高
  • OBS Settings > Output 中将录制格式设置为 Hybrid MP4 (HLS)

文件关联

由于无法通过 WebSocket 设置 OBS 文件名,请启用 Log File Correlation 以匹配录制文件:

LogOBSTakeRecorder: === Take/OBS File Correlation ===
LogOBSTakeRecorder:   Take Name:  MySlate_Take3
LogOBSTakeRecorder:   Take Asset: /Game/Cinematics/Takes/MySlate/MySlate_003
LogOBSTakeRecorder:   OBS File:   C:/Videos/2024-01-15_14-32-15.mp4
LogOBSTakeRecorder: =================================

故障排查

问题解决方案
镜次开始时出现”OBS is not connected”警告请在开始镜次前先连接到 OBS
镜次开始时 OBS 录制未启动检查 Project Settings 中是否已启用同步,并确认 Auto Start Record 已开启
章节标记未显示确认 OBS 版本为 30.2.0 或更高,并将录制格式设置为 Hybrid MP4
Take Recorder 同步设置缺失启用 Takes 插件(Edit > Plugins),然后重启编辑器
设置未持久保存检查 Config/DefaultInhyeongOBS.ini 是否被设为只读