Skip to content

Desuq Cafe

문서 메뉴

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

입력 및 미디어

입력은 OBS의 소스(Browser Source, 텍스트, 미디어, 캡처 장치 등)입니다. 이 가이드에서는 입력의 생성 및 관리, 미디어 재생 제어, 입력 설정 편집, 하드웨어 캡처 장치 속성 작업을 다룹니다.

입력 관리 (CRUD)

함수설명
CreateInput(Scene, Name, Kind, Settings, Enabled)새 입력을 생성하고 장면에 추가
CreateInputFromString(Scene, Name, Kind, JsonSettings, Enabled)Blueprint 친화적 버전
RemoveInput(Name)입력 제거 (어떤 장면에도 포함되어 있으면 안 됩니다!)
SetInputName(Name, NewName)입력 이름 변경
GetInputKindList(bUnversioned)사용 가능한 입력 종류(소스 유형) 가져오기
GetCachedInputKinds()로컬에 캐시된 입력 종류 가져오기

주요 입력 종류

종류설명
browser_source웹 브라우저
text_gdiplus_v3텍스트 (GDI+, Windows)
text_ft2_source_v2텍스트 (FreeType2)
ffmpeg_source미디어 소스
image_source이미지
color_source_v3단색
vlc_sourceVLC 비디오
window_capture창 캡처
game_capture게임 캡처
dshow_input비디오 캡처 장치
wasapi_input_capture오디오 입력
wasapi_output_capture오디오 출력 캡처

참고:

  • CreateInput은 입력을 생성하는 동시에 지정된 장면에 원자적으로 추가합니다.
  • RemoveInput은 입력이 아직 어떤 장면에서 참조되고 있으면 실패합니다. 먼저 모든 장면 항목을 제거하세요.
  • 입력 이름은 OBS 내에서 전역적으로 고유해야 합니다.
  • 버전 없는 이름을 사용하려면 GetInputKindList(true)를 사용하세요 (더 간단하며 권장됩니다).

미디어 재생

함수설명
PlayMedia(Name)재생 시작
PauseMedia(Name)재생 일시 정지
StopMedia(Name)재생 중지
RestartMedia(Name)처음부터 다시 시작
NextMedia(Name)재생 목록의 다음 항목으로 이동
PreviousMedia(Name)재생 목록의 이전 항목으로 이동
SetMediaInputCursor(Name, Ms)밀리초 단위 위치로 탐색
OffsetMediaInputCursor(Name, OffsetMs)현재 위치를 기준으로 상대 탐색
SeekToPercent(Name, Percent)전체 재생 시간의 비율로 탐색 (0.0 ~ 1.0)
GetMediaInputStatus(Name)미디어 상태 가져오기 (상태, 재생 시간, 커서)
GetCachedMediaInputStatus(Name)로컬에 캐시된 미디어 상태 가져오기

미디어 이벤트

  • OnMediaInputPlaybackStarted(InputName): 미디어 재생 시작됨
  • OnMediaInputPlaybackEnded(InputName): 미디어 재생 완료됨
  • OnMediaInputActionTriggered(InputName, Action): 미디어 동작이 트리거됨
  • OnMediaInputStatusReceived(Status): 미디어 상태를 수신함

입력 설정

함수설명
GetInputSettings(Name)입력의 현재 설정 가져오기 (비동기)
GetInputSettingsByUuid(Uuid)입력 UUID로 설정 가져오기
SetInputSettings(Name, Settings, Overlay)입력 설정 지정 (JSON 오브젝트)
SetInputSettingsFromString(Name, JsonStr, Overlay)입력 설정 지정 (JSON 문자열)
GetInputDefaultSettings(Kind)입력 유형의 기본 설정 가져오기
SetTextSourceText(Name, Text)텍스트 소스의 텍스트 내용 설정
SetBrowserSourceUrl(Name, Url)Browser Source의 URL 설정
SetImageSourceFile(Name, Path)Image Source의 파일 경로 설정
SetMediaSourceFile(Name, Path, Loop)미디어 소스의 파일 경로 설정
SetColorSourceColor(Name, Color)색상 설정 (ABGR int64 형식)
GetCachedInputSettings(Name)로컬에 캐시된 설정 가져오기 (JSON 오브젝트)
GetCachedInputSettingsString(Name)로컬에 캐시된 설정 가져오기 (JSON 문자열)
HasCachedSettings(Name)입력에 대한 설정이 캐시되어 있는지 확인

지원되는 입력 유형

입력 종류편의 메서드설정 키
text_gdiplus_v3SetTextSourceText()text
text_ft2_source_v2SetTextSourceText()text
browser_sourceSetBrowserSourceUrl()url
image_sourceSetImageSourceFile()file
ffmpeg_sourceSetMediaSourceFile()local_file, looping
color_source_v3SetColorSourceColor()color (ABGR)

참고: bOverlay=true(기본값)를 사용하면 기존 설정과 병합되고, false를 사용하면 모든 설정이 교체됩니다.

장치 속성 (캡처 장치)

하드웨어(캡처 카드, 웹캠, 오디오 장치)로 지원되는 입력의 경우, InputSettings 핸들러를 통해 장치 목록 속성의 옵션을 열거하거나 속성 버튼을 “누를” 수 있습니다. GetClient()->GetInputSettings()를 통해 접근합니다.

함수설명
GetInputPropertiesListPropertyItems(Input, Property)목록 속성의 항목 열거 (예: video_device_id). 비동기 방식으로 FOBSPropertyItems와 함께 OnInputPropertyItemsReceived를 발생시킵니다.
PressInputPropertiesButton(Input, Property)속성 버튼 “누르기” (예: 활성화/새로 고침 버튼). 중단된 캡처 장치를 복구할 때 유용합니다.

엔진 내 장치 선택기를 만들거나, 연결이 끊긴 캡처 장치를 다시 활성화하는 데 유용합니다.

// Enumerate the available cameras for a video capture device input.
Subsystem->GetClient()->GetInputSettings()
    ->GetInputPropertiesListPropertyItems(TEXT("Webcam"), TEXT("video_device_id"));

// Re-activate a stalled capture device.
Subsystem->GetClient()->GetInputSettings()
    ->PressInputPropertiesButton(TEXT("Webcam"), TEXT("activate"));

참고 항목