Skip to content

Desuq Cafe

문서 메뉴

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

녹화 및 방송

이 가이드는 모든 OBS 출력을 다룹니다. 녹화(파일 분할 및 챕터 마커 포함), 방송, 가상 카메라, Replay Buffer(파일명 충돌 방지 포함), 일반 출력 제어, 방송 자막이 포함됩니다.

녹화

함수설명
StartRecord()녹화 시작
StopRecord()녹화 중지
PauseRecord()녹화 일시 정지
ResumeRecord()녹화 재개
ToggleRecord()녹화 상태 토글
ToggleRecordPause()녹화 일시 정지 상태 토글
GetRecordStatus()현재 녹화 상태 가져오기
IsRecording()현재 녹화 중인지 확인

녹화 디렉터리

함수설명
GetRecordDirectory()현재 녹화 디렉터리 가져오기 (비동기)
SetRecordDirectory(Directory)녹화 디렉터리 설정 (다음 녹화 시작 시 적용)
GetCachedRecordDirectory()캐시된 디렉터리 값 가져오기

참고: SetRecordDirectory로 변경한 내용은 즉시 적용되지 않고 다음 녹화 시작 시 적용됩니다.

녹화 파일 분할 및 챕터 (OBS 30.2+ / obs-websocket 5.5.0+)

함수설명
SplitRecordFile()현재 녹화를 새 파일로 분할
CreateRecordChapter(ChapterName)녹화에 챕터 마커 추가 (이름 선택 사항)

요구 사항:

  • OBS 30.2.0 이상
  • obs-websocket 5.5.0 이상
  • 녹화 중이어야 합니다
  • 챕터 마커는 Hybrid MP4 녹화 형식에서만 동작합니다

방송

함수설명
StartStream()방송 시작
StopStream()방송 중지
ToggleStream()방송 상태 토글
GetStreamStatus()현재 방송 상태 가져오기
IsStreaming()현재 방송 중인지 확인

가상 카메라

함수설명
StartVirtualCam()가상 카메라 시작
StopVirtualCam()가상 카메라 중지
ToggleVirtualCam()가상 카메라 토글
GetVirtualCamStatus()현재 가상 카메라 상태 가져오기
IsVirtualCamActive()활성 상태인지 확인

Replay Buffer

함수설명
StartReplayBuffer()Replay Buffer 시작
StopReplayBuffer()Replay Buffer 중지
ToggleReplayBuffer()Replay Buffer 상태 토글
SaveReplayBuffer()현재 버퍼를 파일로 저장
GetReplayBufferStatus()현재 Replay Buffer 상태 가져오기
IsReplayBufferActive()활성 상태인지 확인
GetLastReplayPath()마지막으로 저장된 리플레이 파일 경로 가져오기

참고: OBS 설정 → 출력 → Replay Buffer에서 먼저 Replay Buffer를 활성화하세요!

파일명 충돌 방지 (선택 적용)

OBS는 리플레이 파일명을 타임스탬프로 지정하므로, 빠르게 연속 저장하면 파일이 덮어써질 수 있습니다. Outputs 핸들러를 사용하면 저장된 각 파일을 자동으로 이름을 변경하고 엔진 내부 레이블을 태그로 붙일 수 있습니다. 이 기능들은 GetClient()->GetOutputs()를 통해 접근합니다.

함수설명
SetReplayCollisionProofing(bEnable)저장된 각 리플레이 파일명에 밀리초 단위의 고유 접미사를 추가하여 파일 충돌 방지
SetNextReplayContextLabel(Label)다음 저장 시 파일명에 정제된 레이블(예: "BossKill")을 삽입하여 태그 지정
SaveReplayBufferWithContext(Label)일회성 컨텍스트 레이블과 함께 버퍼를 즉시 저장

GetLastReplayPath()는 최종(이름 변경된) 경로를 반환합니다. OBS가 다른 기기에서 파일을 저장한 경우에는 이름 변경이 생략되고 원본 경로가 유지됩니다.

일반 출력 제어

커스텀 및 플러그인 출력을 포함하여 이름으로 모든 OBS 출력을 제어합니다.

함수설명
GetOutputList()사용 가능한 모든 출력 목록 가져오기 (비동기)
GetOutputStatus(OutputName)특정 출력의 상태 가져오기
GetOutputSettings(OutputName)출력의 설정 가져오기
SetOutputSettings(OutputName, Settings)출력 설정 지정 (C++ 버전)
SetOutputSettingsFromString(OutputName, JsonSettings)출력 설정 지정 (Blueprint 친화적)
StartOutput(OutputName)특정 출력 시작
StopOutput(OutputName)특정 출력 중지
ToggleOutput(OutputName)출력 켜기/끄기 토글
GetCachedOutputs()캐시된 출력 목록 가져오기

참고: 출력 이름은 OBS 내부 이름으로, 표시 이름과 다를 수 있습니다. GetOutputList()를 사용하여 사용 가능한 출력을 확인하세요.

방송 자막

함수설명
SendStreamCaption(CaptionText)방송에 CEA-608 자막 텍스트 전송

요구 사항:

  • 방송이 활성 상태이어야 합니다
  • CEA-608 형식의 자막(closed captions)을 전송합니다

출력 이벤트

  • OnStreamStateChanged(bActive, State): 방송 상태가 변경될 때 발생합니다.
  • OnRecordStateChanged(bActive, State): 녹화 상태가 변경될 때 발생합니다.
  • OnVirtualCamStateChanged(bActive, State): 가상 카메라 상태가 변경될 때 발생합니다.
  • OnReplayBufferStateChanged(bActive, State): Replay Buffer 상태가 변경될 때 발생합니다.
  • OnReplayBufferSaved(FilePath): 리플레이가 파일로 저장될 때 발생합니다.
  • OnRecordFileChanged(NewOutputPath): 파일 분할 후 녹화가 새 파일에 기록되기 시작할 때 발생합니다.
  • OnRecordDirectoryReceived(RecordDirectory): 녹화 디렉터리가 조회될 때 발생합니다.
  • OnOutputListReceived(Outputs): 출력 목록이 조회될 때 발생합니다.
  • OnOutputStatusReceived(Status): 출력 상태가 조회될 때 발생합니다.

모든 OBS 도메인의 이벤트 전체 목록은 이벤트 참조를 확인하세요.