Skip to content

Desuq Cafe

文档菜单

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

结构体参考

本页记录了插件中所有公开的 USTRUCTBlueprintType)。枚举类型字段在枚举参考中有详细说明。传递这些结构体的事件列于事件页面。

部分结构体还包含仅 C++ 可用的辅助成员(例如 JSON 字符串字段对应的 TSharedPtr<FJsonObject> 镜像,或 InitFromJson/ToJson 辅助方法)。这些内容会在文中注明,但在 Blueprint 中不可见。

核心:请求与批处理

FOBSRequestResult

单次 OBS WebSocket 请求的结果。

字段类型描述
bSuccessbool请求是否成功。
StatusCodeint32OBS 请求状态码。
CommentFString来自 OBS 的状态说明或错误文本。

FOBSBatchRequest

批处理请求中的单个请求项。

字段类型描述
RequestTypeFString请求类型(例如 "SetCurrentProgramScene")。
RequestIdFString批处理中每个请求的可选 ID。
RequestDataJsonFStringJSON 字符串格式的请求数据(适合 Blueprint 使用)。
RequestDataTSharedPtr<FJsonObject>仅 C++ 可用的已解析请求数据。

FOBSBatchRequestResult

批处理响应中单个请求的结果。

字段类型描述
RequestTypeFString请求类型。
RequestIdFString请求 ID(若已提供)。
RequestStatusFOBSRequestResult单个请求的成功状态、状态码与说明。
ResponseDataTSharedPtr<FJsonObject>仅 C++ 可用的响应数据。

FOBSBatchResult

整个批处理操作的结果。

字段类型描述
RequestIdFString批处理请求 ID。
bAllSucceededbool批处理中所有请求是否均成功。
ResultsTArray<FOBSBatchRequestResult>每个请求的结果。

输出

FOBSStreamStatus

推流输出的状态。

字段类型描述
bOutputActivebool推流是否处于活动状态。
bOutputReconnectingbool推流是否正在重连。
OutputTimecodeFString当前推流时间码。
OutputBytesint64已发送的总字节数。
OutputSkippedFramesint32输出跳过的帧数。
OutputTotalFramesint32已传输的总帧数。

FOBSRecordStatus

录制输出的状态。

字段类型描述
bOutputActivebool录制是否处于活动状态。
bOutputPausedbool录制是否已暂停。
OutputTimecodeFString当前录制时间码。
OutputBytesint64已写入的总字节数。

FOBSVirtualCamStatus

虚拟摄像头输出的状态。

字段类型描述
bOutputActivebool虚拟摄像头是否处于活动状态。

FOBSReplayBufferStatus

Replay Buffer 的状态。

字段类型描述
bOutputActiveboolReplay Buffer 是否处于活动状态。

FOBSReplayBufferSavedInfo

已保存的 Replay Buffer 片段信息。

字段类型描述
SavedReplayPathFString已保存回放文件的路径。

FOBSOutput

通用 OBS 输出的描述信息。

字段类型描述
OutputNameFString输出名称。
OutputKindFString输出类型。
OutputWidthint32输出宽度(像素)。
OutputHeightint32输出高度(像素)。
bOutputActivebool输出是否处于活动状态。
OutputFlagsFString输出能力标志。

FOBSOutputStatus

通用 OBS 输出的详细状态。

字段类型描述
OutputNameFString输出名称。
bOutputActivebool输出是否处于活动状态。
bOutputReconnectingbool输出是否正在重连。
OutputTimecodeFString当前时间码。
OutputDurationint64持续时长(毫秒)。
OutputCongestionfloat拥塞系数(0 到 1)。
OutputBytesint64总字节数。
OutputSkippedFramesint64跳过的帧数。
OutputTotalFramesint64总帧数。

场景与场景项目

FOBSScene

单个 OBS 场景。

字段类型描述
SceneNameFString场景名称。
SceneUuidFString场景 UUID。
SceneIndexint32该场景在场景列表中的位置。

FOBSSceneItem

场景项目(放置在场景中的来源实例)。

字段类型描述
SourceNameFString底层来源的名称。
SourceUuidFString来源的 UUID。
SceneItemIdint32场景项目的数字 ID(OBS 用于标识该项目)。
SceneItemIndexint32场景内的层级顺序索引。
bSceneItemEnabledbool该项目是否可见。
bSceneItemLockedbool该项目是否已锁定。
InputKindFString输入类型。
BlendModeEOBSBlendMode合成混合模式。

FOBSSceneWithItems

场景及其所有场景项目的集合。

字段类型描述
SceneNameFString场景名称。
SceneUuidFString场景 UUID。
SceneIndexint32场景列表中的位置。
SceneItemsTArray<FOBSSceneItem>该场景的项目列表。

FOBSSceneItemTransform

场景项目的完整变换信息,包括位置、旋转、缩放、对齐方式、边界框和裁剪。只读的计算字段由 GetSceneItemTransform 填充。

字段类型描述
PositionXfloatX 轴位置(像素)。
PositionYfloatY 轴位置(像素)。
Rotationfloat旋转角度(0 到 360 度)。
ScaleXfloat水平缩放倍数(1.0 = 100%)。
ScaleYfloat垂直缩放倍数(1.0 = 100%)。
Alignmentint32对齐位标志(0=居中,1=左,2=右,4=上,8=下)。
BoundsTypeEOBSBoundsType边界框行为模式。
BoundsWidthfloat边界框宽度。
BoundsHeightfloat边界框高度。
BoundsAlignmentint32在边界框内的对齐方式(与上方位标志相同)。
CropLeftint32从左侧裁剪的像素数。
CropRightint32从右侧裁剪的像素数。
CropTopint32从顶部裁剪的像素数。
CropBottomint32从底部裁剪的像素数。
SourceWidthfloat来源的原始宽度(只读)。
SourceHeightfloat来源的原始高度(只读)。
Widthfloat缩放后的计算宽度(只读)。
Heightfloat缩放后的计算高度(只读)。

FOBSCreateSceneResult

创建场景的结果。

字段类型描述
bSuccessbool场景是否已成功创建。
SceneUuidFString新场景的 UUID。
ErrorMessageFString失败时的错误文本。

FOBSSourceActiveState

来源是否在直播画面中显示以及是否在界面中显示。

字段类型描述
bVideoActivebool是否在直播画面中显示。
bVideoShowingbool是否在界面中显示(预览、投射窗口、属性面板)。

FOBSSceneTransitionOverride

逐场景转场覆盖设置。

字段类型描述
TransitionNameFString覆盖的转场名称(若无则为空)。
TransitionDurationint32覆盖的时长(毫秒),若无则为 -1。
bHasOverridebool是否已设置覆盖。

FOBSSceneItemSource

标识场景项目底层来源的信息。

字段类型描述
SourceNameFString来源名称。
SourceUuidFString来源 UUID。

音频

FOBSAudioTracks

高级音频路由中各轨道的启用状态(轨道 1 至 6)。在 C++ 中提供 InitFromJsonToJsonIsTrackEnabledSetTrackEnabled 辅助方法。

字段类型描述
bTrack1bool轨道 1 已启用(默认为 true)。
bTrack2bool轨道 2 已启用。
bTrack3bool轨道 3 已启用。
bTrack4bool轨道 4 已启用。
bTrack5bool轨道 5 已启用。
bTrack6bool轨道 6 已启用。

FOBSInput

OBS 输入(音频输入)及其音频属性。

字段类型描述
InputNameFString输入名称。
InputUuidFString输入 UUID。
InputKindFString输入类型。
VolumeDbfloat音量(分贝,0 = 单位增益)。
VolumeMulfloat音量倍数(1.0 = 单位增益)。
bMutedbool输入是否已静音。
bAudioInfoLoadedbool音量与静音信息是否已获取。
Balancefloat立体声平衡(0 = 左,0.5 = 居中,1 = 右)。
SyncOffsetMsint32音频同步偏移(毫秒,可为负值)。
MonitorTypeEOBSMonitorType音频监听类型。
AudioTracksFOBSAudioTracks轨道路由(1 至 6)。
bAdvancedAudioInfoLoadedbool高级音频信息是否已获取。

FOBSSpecialInputs

OBS 中配置的默认音频设备名称(任意字段均可能为空)。

字段类型描述
Desktop1FString桌面音频输入。
Desktop2FString桌面音频 2 输入。
Mic1FString麦克风/辅助音频输入。
Mic2FString麦克风/辅助音频 2 输入。
Mic3FString麦克风/辅助音频 3 输入。
Mic4FString麦克风/辅助音频 4 输入。

FOBSAudioChannelLevel

来自高频率 InputVolumeMeters 事件的单声道音频电平。OBS 发送的是线性倍数(0 到 1),分贝字段由此推导得出。

字段类型描述
MagnitudeMulfloat平滑后的强度,线性倍数(0 到 1)。
PeakMulfloat衰减峰值,线性倍数(0 到 1)。
InputPeakMulfloat瞬时输入峰值,线性倍数(0 到 1)。
MagnitudeDbfloat强度(分贝,由 MagnitudeMul 推导)。
PeakDbfloat峰值(分贝,由 PeakMul 推导)。

FOBSInputVolumeMeter

InputVolumeMeters 事件中单个输入的音量表读数。PeakDbMagnitudeDb 反映最响声道的数值。

字段类型描述
InputNameFString输入名称。
InputUuidFString输入 UUID。
ChannelsTArray<FOBSAudioChannelLevel>各声道电平。
PeakDbfloat最响声道峰值(分贝)。
MagnitudeDbfloat最响声道强度(分贝)。

配置

FOBSVideoSettings

OBS 画布及输出的分辨率与帧率设置。提供 GetFPS() 辅助方法。

字段类型描述
FpsNumeratorint32帧率分子(例如 60,或 29.97 对应的 30000)。
FpsDenominatorint32帧率分母(例如 1,或 29.97 对应的 1001)。
BaseWidthint32基础(画布)宽度(像素)。
BaseHeightint32基础(画布)高度(像素)。
OutputWidthint32输出(缩放后)宽度(像素)。
OutputHeightint32输出(缩放后)高度(像素)。

FOBSProfileParameter

配置文件参数值及其默认值。

字段类型描述
ParameterValueFString当前值。
DefaultParameterValueFString默认值。

FOBSStreamServiceSettings

推流目的地设置。提供 InitFromJson/ToJson 方法,以及仅 C++ 可用的 RawSettings 镜像。

字段类型描述
StreamServiceTypeFString推流服务类型("rtmp_custom""rtmp_common")。
ServerFString服务器 URL(用于 rtmp_custom)。
KeyFString推流密钥。
ServiceFStringrtmp_common 的服务名称(例如 “Twitch”)。
bUseAuthbool是否使用身份验证。
UsernameFString身份验证用户名。
PasswordFString密码。
RawSettingsTSharedPtr<FJsonObject>仅 C++ 可用的原始设置,用于高级场景。

转场

FOBSTransition

OBS 场景转场。

字段类型描述
TransitionNameFString转场名称。
TransitionUuidFString转场 UUID。
TransitionKindFString转场类型(例如 "fade_transition""cut_transition")。
bTransitionConfigurablebool是否支持设置。
bTransitionFixedbool是否为固定时长(如切割转场)。

FOBSCurrentTransitionInfo

当前场景转场的详细信息。

字段类型描述
TransitionNameFString当前转场名称。
TransitionUuidFString当前转场 UUID。
TransitionKindFString转场类型。
TransitionDurationint32时长(毫秒,非固定时长时有效)。
bTransitionConfigurablebool是否支持设置。
bTransitionFixedbool是否为固定时长。
TransitionSettingsJsonFStringJSON 字符串格式的设置(适合 Blueprint 使用)。
TransitionSettingsTSharedPtr<FJsonObject>仅 C++ 可用的已解析设置。

滤镜

FOBSSourceFilter

来源上的滤镜。

字段类型描述
FilterNameFString滤镜名称。
FilterIndexint32在来源滤镜链中的位置。
FilterKindFString滤镜类型(例如 "color_filter""chroma_key_filter")。
bFilterEnabledbool滤镜是否已启用。
FilterSettingsJsonFStringJSON 字符串格式的设置(适合 Blueprint 使用)。
FilterSettingsTSharedPtr<FJsonObject>仅 C++ 可用的已解析设置。

FOBSFilterKind

可用的滤镜类型。

字段类型描述
FilterKindFString滤镜类型的内部名称或标识符。

截图

FOBSScreenshotRequest

GetSourceScreenshot / SaveSourceScreenshot 的参数。

字段类型描述
SourceNameFString要截图的来源(输入或场景)。
SourceUuidFString来源 UUID(可替代名称使用)。
ImageFormatFString图像格式(pngjpgbmpwebp 等,默认为 png)。
ImageWidthint32缩放宽度(-1 = 原始尺寸)。
ImageHeightint32缩放高度(-1 = 原始尺寸)。
ImageCompressionQualityint32有损格式的质量(0 到 100,-1 = OBS 默认值)。
ImageFilePathFStringOBS 机器上的绝对路径(仅保存时使用)。

FOBSScreenshotResult

GetSourceScreenshot 的结果(Base64 图像数据)。

字段类型描述
bSuccessbool截图是否成功。
ErrorMessageFString失败时的错误文本。
SourceNameFString已截图的来源。
ImageDataFStringBase64 编码的图像数据(包含 data-URI 前缀,可能较大)。

FOBSScreenshotSavedResult

SaveSourceScreenshot 的结果。

字段类型描述
bSuccessbool保存是否成功。
ErrorMessageFString失败时的错误文本。
SourceNameFString已截图的来源。
FilePathFString截图保存的绝对路径。

通用

FOBSStats

来自 GetStats 的 OBS 性能与运行时统计信息。帧计数器使用 double 类型,因为 OBS 以 JSON 数字形式报告这些值,在长时间运行的会话中可能超出 int32 范围。

字段类型描述
CpuUsagedoubleCPU 使用率百分比(0 到 100)。
MemoryUsagedoubleOBS 使用的内存(MB)。
AvailableDiskSpacedouble录制设备上的可用磁盘空间(MB)。
ActiveFpsdouble当前渲染线程帧率。
AverageFrameRenderTimedouble平均帧渲染时间(毫秒)。
RenderSkippedFramesdouble渲染线程跳过的帧数。
RenderTotalFramesdouble渲染线程处理的总帧数。
OutputSkippedFramesdouble输出线程跳过的帧数。
OutputTotalFramesdouble输出线程传输的总帧数。
WebSocketSessionIncomingMessagesdouble本次会话收到的消息总数。
WebSocketSessionOutgoingMessagesdouble本次会话发出的消息总数。

FOBSPropertyItem

OBS”列表”属性的单个条目(例如采集设备来源的设备下拉菜单),来自 GetInputPropertiesListPropertyItems

字段类型描述
ItemNameFString下拉菜单中显示的可读标签。
bItemEnabledbool该条目是否可选。
ItemValueFString条目的值(设备 ID 或路径,数字和布尔值均以字符串形式表示)。

媒体输入

FOBSMediaInputStatus

媒体输入(媒体源、VLC 源等)的状态。

字段类型描述
InputNameFString媒体输入名称。
MediaStateEOBSMediaState当前播放状态。
MediaDurationint64总时长(毫秒)。
MediaCursorint64当前游标位置(毫秒)。

Trigger Volume(游戏玩法)

以下结构体用于配置 Trigger Volume Actor。

FOBSTriggerAction

触发器触发时执行的单个动作。大多数字段仅与特定的 ActionType 值相关(在编辑器中通过编辑条件控制)。

字段类型描述
ActionTypeEOBSTriggerActionType要执行的动作类型。
SceneNameFString场景名称(用于 SwitchScene,或包含 SetSceneItemEnabled 来源的场景)。
InputNameFString音频与媒体动作的输入名称。
SourceNameFStringSetSceneItemEnabled / SetSourceFilterEnabled 的来源。
FilterNameFStringSetSourceFilterEnabled 的滤镜名称。
HotkeyNameFStringTriggerHotkeyByName 的热键名称(例如 "OBSBasic.StartRecording")。
MediaActionEOBSMediaInputActionTriggerMediaInputAction 的媒体操作动词。
bMutedboolSetInputMute 的静音(true)或取消静音(false)状态。
bEnabledboolSetSceneItemEnabled / SetSourceFilterEnabled 的启用状态。
VolumeDbfloatSetInputVolume 的音量(分贝,范围限制为 -100 到 26)。
DelaySecondsfloat执行动作前的可选延迟时间(秒)。

FOBSAudioThresholdCondition

条件:OBS 输入当前正在说话或处于静默状态(经过防抖处理的麦克风活动检测)。

字段类型描述
InputNameFString要检测的输入(空值 = 忽略该条件)。
ModeEOBSAudioConditionMode要求说话或静默状态。
ThresholdDbfloat自动注册检测器的峰值分贝阈值(范围限制为 -100 到 0,默认 -40)。

FOBSSourceVisibleCondition

条件:指定名称的场景项目(来源)当前是否可见/隐藏。读取实时 bSceneItemEnabled 缓存。缓存未命中时条件判定失败。

字段类型描述
SceneNameFString包含该来源的场景(空值 = 忽略该条件)。
SourceNameFString要检测可见性的来源(空值 = 忽略该条件)。
ModeEOBSVisibilityConditionMode要求可见或隐藏状态。

FOBSTriggerConditions

触发器执行所需的所有条件(AND 逻辑)。与 OBS 的连接始终是必要条件,并在内部进行检查。

字段类型描述
RecordingRequirementEOBSOutputStateRequirement以录制状态为门控条件。
StreamingRequirementEOBSOutputStateRequirement以推流状态为门控条件。
RequiredCurrentSceneFString仅在当前场景匹配时触发(空值 = 任意场景)。
ExcludedCurrentSceneFString仅在当前场景不匹配时触发(空值 = 禁用)。
AudioConditionsTArray<FOBSAudioThresholdCondition>音频阈值条件,所有条件均须满足(空值 = 不设门控)。
SourceVisibleConditionsTArray<FOBSSourceVisibleCondition>来源可见性条件,所有条件均须满足(空值 = 不设门控)。

Sequencer

FOBSSequencerActionParams

OBS Sequencer 动作的参数。所需字段取决于具体动作,详见 Sequencer 动作

字段类型描述
ActionEOBSSequencerAction要执行的动作。
TargetNameFString主要目标(场景/输入/来源名称)。
SecondaryTargetFString次要目标(滤镜名称、场景项目 ID 等)。
StringValueFString字符串值(文本、URL、文件路径、字幕、设置名称等)。
NumericValuefloat主要数值(X 坐标、音量分贝、时长毫秒等)。
NumericValue2float次要数值(Y 坐标等)。
NumericValue3float第三数值(右侧裁剪等)。
NumericValue4float第四数值(底部裁剪等)。
BoolValuebool布尔值(启用/可见性)。

辅助方法:GetCategory()GetTriggerType()GetDisplayName()IsValid(FText& OutError),均查询动作注册表。

FOBSSequencerActionMetadata

编辑器端的元数据,描述某一动作的参数、标签、范围、触发类型及目标选择器类型,由 FOBSSequencerActionRegistry::GetMetadata 返回。非 BlueprintType,因此仅供 Sequencer UI 和验证逻辑使用。关键字段包括 ActionCategoryTriggerTypeDisplayNameDescriptionTargetPickerType、各参数的 bRequires* 标志及对应的 *Label 文本,以及数值类型的 *Min/*Max 范围。