Skip to content

Desuq Cafe

문서 메뉴

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

필터

OBS의 필터는 장면이나 입력 등 모든 소스에 연결되어 해당 소스의 모양이나 소리를 변경합니다. 색상 보정, 크로마 키, 노이즈 억제 등이 그 예입니다. 이 플러그인은 OBS 필터 API 전체를 제공합니다. 사용 가능한 필터 종류 목록 조회, 소스별 필터 체인 읽기 및 쓰기, 그리고 이벤트를 통한 필터 변경 반응이 모두 지원됩니다.

함수

함수설명
GetSourceFilterKindList()사용 가능한 필터 종류 목록 새로 고침
GetCachedFilterKinds()로컬에 캐시된 필터 종류 목록 가져오기
GetSourceFilterList(SourceName)소스에 있는 모든 필터 가져오기
GetCachedFiltersForSource(SourceName)소스의 로컬 캐시된 필터 가져오기
HasCachedFiltersForSource(SourceName)소스의 필터 데이터가 캐시되어 있는지 확인
CreateSourceFilter(Source, Name, Kind, Settings)소스에 새 필터 추가
RemoveSourceFilter(Source, FilterName)소스에서 필터 제거
SetSourceFilterEnabled(Source, Filter, Enabled)필터 활성화 또는 비활성화
SetSourceFilterName(Source, OldName, NewName)필터 이름 변경
SetSourceFilterIndex(Source, Filter, Index)체인에서 필터 위치 변경 (0 = 맨 위)
SetSourceFilterSettings(Source, Filter, Settings, Overlay)필터 구성 업데이트
GetSourceFilter(Source, Filter)특정 필터 세부 정보 가져오기
GetSourceFilterDefaultSettings(Kind)필터 종류의 기본 설정 가져오기

참고: 필터는 SourceName + FilterName 쌍으로 식별됩니다 (UUID 없음). 필터 인덱스 0은 처리 체인에서 맨 위에 있는 필터입니다.

이벤트

필터 변경에 반응하려면 다음 이벤트를 구독하세요.

  • OnSourceFilterCreated(SourceName, FilterName, FilterKind, FilterIndex, bEnabled): 소스에 필터가 추가됨
  • OnSourceFilterRemoved(SourceName, FilterName): 소스에서 필터가 제거됨
  • OnSourceFilterNameChanged(SourceName, OldName, NewName): 필터 이름이 변경됨
  • OnSourceFilterSettingsChanged(SourceName, FilterName): 필터 설정이 수정됨
  • OnSourceFilterEnableStateChanged(SourceName, FilterName, bEnabled): 필터가 활성화/비활성화됨
  • OnSourceFilterListReindexed(SourceName): 소스의 필터 순서가 변경됨

예제

// Add a color correction filter to a source, then disable it.
Subsystem->CreateSourceFilter(
    TEXT("Webcam"),
    TEXT("Warmth"),
    TEXT("color_filter_v2"),
    Settings);

Subsystem->SetSourceFilterEnabled(TEXT("Webcam"), TEXT("Warmth"), false);

// Move a filter to the top of the chain.
Subsystem->SetSourceFilterIndex(TEXT("Webcam"), TEXT("Warmth"), 0);

참고 항목