Skip to content

Desuq Cafe

문서 메뉴

이 번역은 최신 영어 원문보다 늦을 수 있습니다. 영어 버전 보기

Struct 레퍼런스

이 페이지는 플러그인에 포함된 모든 공개 USTRUCT (BlueprintType)를 설명합니다. 열거형 필드는 Enum 레퍼런스에서 확인할 수 있으며, 이 struct를 전달하는 이벤트 목록은 이벤트에서 확인할 수 있습니다.

일부 struct에는 C++ 전용 헬퍼 멤버도 포함됩니다(예: JSON 문자열 필드를 미러링하는 TSharedPtr<FJsonObject>, 또는 InitFromJson/ToJson 헬퍼). 이러한 멤버는 별도로 명시되어 있으나 Blueprint에는 노출되지 않습니다.

핵심: 요청 및 배치

FOBSRequestResult

단일 OBS WebSocket 요청의 결과입니다.

필드타입설명
bSuccessbool요청 성공 여부.
StatusCodeint32OBS 요청 상태 코드.
CommentFStringOBS에서 반환된 상태 코멘트 또는 오류 텍스트.

FOBSBatchRequest

OBS에 전송하기 위해 구성 중인 배치 내의 단일 요청입니다.

필드타입설명
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저장된 Replay Buffer 파일 경로.

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장면 내 z 순서 인덱스.
bSceneItemEnabledbool항목 표시 여부.
bSceneItemLockedbool항목 잠금 여부.
InputKindFString입력/소스의 입력 종류.
BlendModeEOBSBlendMode합성 블렌드 모드.

FOBSSceneWithItems

장면과 해당 장면의 모든 장면 항목을 함께 담는 struct입니다.

필드타입설명
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

소스가 프로그램 또는 UI에 표시 중인지 여부입니다.

필드타입설명
bVideoActivebool프로그램에 표시 중.
bVideoShowingboolUI(미리보기, 프로젝터, 속성)에 표시 중.

FOBSSceneTransitionOverride

장면별 전환 재정의입니다.

필드타입설명
TransitionNameFString재정의된 전환 이름(없으면 빈 문자열).
TransitionDurationint32재정의된 전환 시간(밀리초, 없으면 -1).
bHasOverridebool재정의 설정 여부.

FOBSSceneItemSource

장면 항목의 기반 소스를 식별합니다.

필드타입설명
SourceNameFString소스 이름.
SourceUuidFString소스 UUID.

오디오

FOBSAudioTracks

고급 오디오 라우팅을 위한 트랙별(1~6) 활성화 상태입니다. C++에서 InitFromJson, ToJson, IsTrackEnabled, SetTrackEnabled 헬퍼를 제공합니다.

필드타입설명
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)을 전송하며, dB 필드는 이 값에서 파생됩니다.

필드타입설명
MagnitudeMulfloat평활화된 크기, 선형 배율 (0~1).
PeakMulfloat감쇠 피크, 선형 배율 (0~1).
InputPeakMulfloat순간 입력 피크, 선형 배율 (0~1).
MagnitudeDbfloat데시벨 단위 크기 (MagnitudeMul에서 파생).
PeakDbfloat데시벨 단위 피크 (PeakMul에서 파생).

FOBSInputVolumeMeter

InputVolumeMeters 이벤트 내 단일 입력의 볼륨 미터 판독값입니다. PeakDb/MagnitudeDb는 가장 큰 채널을 요약합니다.

필드타입설명
InputNameFString입력 이름.
InputUuidFString입력 UUID.
ChannelsTArray<FOBSAudioChannelLevel>채널별 레벨.
PeakDbfloat가장 큰 채널 피크(데시벨).
MagnitudeDbfloat가장 큰 채널 크기(데시벨).

설정

FOBSVideoSettings

OBS 캔버스 및 출력 해상도/프레임 레이트 설정입니다. GetFPS() 헬퍼를 제공합니다.

필드타입설명
FpsNumeratorint32FPS 분자 (예: 60, 또는 29.97의 경우 30000).
FpsDenominatorint32FPS 분모 (예: 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고정 시간 여부 (Cut 등).

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이미지 형식 (png, jpg, bmp, webp 등, 기본값 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현재 렌더 스레드 FPS.
AverageFrameRenderTimedouble평균 프레임 렌더링 시간(밀리초).
RenderSkippedFramesdouble렌더 스레드에서 건너뛴 프레임 수.
RenderTotalFramesdouble렌더 스레드가 처리한 총 프레임 수.
OutputSkippedFramesdouble출력 스레드에서 건너뛴 프레임 수.
OutputTotalFramesdouble출력 스레드가 전달한 총 프레임 수.
WebSocketSessionIncomingMessagesdouble이번 세션의 총 수신 메시지 수.
WebSocketSessionOutgoingMessagesdouble이번 세션의 총 송신 메시지 수.

FOBSPropertyItem

GetInputPropertiesListPropertyItems에서 반환되는 OBS “목록” 속성의 항목 하나(예: 캡처 소스의 장치 드롭다운)입니다.

필드타입설명
ItemNameFString드롭다운에 표시되는 사람이 읽을 수 있는 레이블.
bItemEnabledbool항목 선택 가능 여부.
ItemValueFString항목의 값(장치 id/경로, 숫자 및 불리언은 문자열로 변환됨).

미디어 입력

FOBSMediaInputStatus

미디어 입력(미디어 소스, VLC 소스 등)의 상태입니다.

필드타입설명
InputNameFString미디어 입력 이름.
MediaStateEOBSMediaState현재 재생 상태.
MediaDurationint64총 재생 시간(밀리초).
MediaCursorint64현재 커서 위치(밀리초).

Trigger Volume (게임플레이)

이 struct들은 Trigger Volume 액터를 설정합니다.

FOBSTriggerAction

트리거 발생 시 실행되는 단일 동작입니다. 대부분의 필드는 특정 ActionType 값에만 해당됩니다(에디터에서 편집 조건으로 제어됨).

필드타입설명
ActionTypeEOBSTriggerActionType수행할 동작.
SceneNameFString장면 이름 (SwitchScene, 또는 SetSceneItemEnabled에서 소스를 포함하는 장면).
InputNameFString오디오 및 미디어 동작에 사용되는 입력 이름.
SourceNameFStringSetSceneItemEnabled / SetSourceFilterEnabled의 소스.
FilterNameFStringSetSourceFilterEnabled의 필터 이름.
HotkeyNameFStringTriggerHotkeyByName의 단축키 이름 (예: "OBSBasic.StartRecording").
MediaActionEOBSMediaInputActionTriggerMediaInputAction의 미디어 동작 동사.
bMutedboolSetInputMute에서 음소거(true) / 음소거 해제(false).
bEnabledboolSetSceneItemEnabled / SetSourceFilterEnabled의 활성화 상태.
VolumeDbfloatSetInputVolume의 볼륨(dB, -100~26으로 제한).
DelaySecondsfloat동작 실행 전 선택적 지연 시간(초).

FOBSAudioThresholdCondition

조건: OBS 입력이 현재 발화 중/대기 상태인지 여부(디바운스된 마이크 활동).

필드타입설명
InputNameFString테스트할 입력 (비어 있으면 조건 무시).
ModeEOBSAudioConditionMode발화 중 또는 대기 상태 요구.
ThresholdDbfloat자동 등록된 감지기의 피크-dB 임계값 (-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, 볼륨 dB, 전환 시간 ms 등).
NumericValue2float보조 숫자 값 (Y 등).
NumericValue3float3차 숫자 값 (오른쪽 자르기 등).
NumericValue4float4차 숫자 값 (아래 자르기 등).
BoolValuebool불리언 값 (활성화/표시 여부).

헬퍼 메서드: GetCategory(), GetTriggerType(), GetDisplayName(), IsValid(FText& OutError). 모두 동작 레지스트리를 조회합니다.

FOBSSequencerActionMetadata

하나의 동작에 대한 파라미터, 레이블, 범위, 트리거 유형, 대상 선택기 유형을 설명하는 에디터 전용 메타데이터입니다. FOBSSequencerActionRegistry::GetMetadata에 의해 반환됩니다. BlueprintType이 아니므로 Sequencer UI 및 유효성 검사에서만 사용됩니다. 주요 필드로는 Action, Category, TriggerType, DisplayName, Description, TargetPickerType, 파라미터별 bRequires* 플래그와 해당 *Label 텍스트, 그리고 숫자 *Min/*Max 범위가 있습니다.