go_obs

package module
v0.0.0-...-2920008 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2022 License: BSD-2-Clause Imports: 7 Imported by: 1

README

This project is now deprecated.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddFilterToSourceRequest

type AddFilterToSourceRequest struct {

	// Name of the source on which the filter is added
	SourceName string `json:"sourceName"`
	// Name of the new filter
	FilterName string `json:"filterName"`
	// Filter type
	FilterType string `json:"filterType"`
	// Filter settings
	FilterSettings interface{} `json:"filterSettings"`
	// contains filtered or unexported fields
}

Add a new filter to a source. Available source types along with their settings properties are available from `GetSourceTypesList`.

type AddFilterToSourceResponse

type AddFilterToSourceResponse struct {
	// contains filtered or unexported fields
}

type AddSceneItemRequest

type AddSceneItemRequest struct {

	// Name of the scene to create the scene item in
	SceneName string `json:"sceneName"`
	// Name of the source to be added
	SourceName string `json:"sourceName"`
	// Whether to make the sceneitem visible on creation or not. Default `true`
	SetVisible *bool `json:"setVisible,omitempty"`
	// contains filtered or unexported fields
}

Creates a scene item in a scene. In other words, this is how you add a source into a scene.

type AddSceneItemResponse

type AddSceneItemResponse struct {

	// Numerical ID of the created scene item
	ItemId int `json:"itemId"`
	// contains filtered or unexported fields
}

type AuthenticateRequest

type AuthenticateRequest struct {

	// Response to the auth challenge (see "Authentication" for more information).
	Auth string `json:"auth"`
	// contains filtered or unexported fields
}

Attempt to authenticate the client to the server.

type AuthenticateResponse

type AuthenticateResponse struct {
	// contains filtered or unexported fields
}

type BroadcastCustomMessageEvent

type BroadcastCustomMessageEvent struct {

	// Identifier provided by the sender
	Realm string `json:"realm"`
	// User-defined data
	Data interface{} `json:"data"`
	// contains filtered or unexported fields
}

A custom broadcast message, sent by the server, requested by one of the websocket clients.

type BroadcastCustomMessageRequest

type BroadcastCustomMessageRequest struct {

	// Identifier to be choosen by the client
	Realm string `json:"realm"`
	// User-defined data
	Data interface{} `json:"data"`
	// contains filtered or unexported fields
}

Broadcast custom message to all connected WebSocket clients

type BroadcastCustomMessageResponse

type BroadcastCustomMessageResponse struct {
	// contains filtered or unexported fields
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client maintains and manages a connection to OBS.

func (*Client) AddFilterToSource added in v0.2.0

func (c *Client) AddFilterToSource(SourceName string, FilterName string, FilterType string, FilterSettings interface{}) (*AddFilterToSourceResponse, error)

func (*Client) AddSceneItem added in v0.2.0

func (c *Client) AddSceneItem(SceneName string, SourceName string, SetVisible *bool) (*AddSceneItemResponse, error)

func (*Client) Authenticate

func (c *Client) Authenticate(Auth string) (*AuthenticateResponse, error)

func (*Client) BroadcastCustomMessage added in v0.2.0

func (c *Client) BroadcastCustomMessage(Realm string, Data interface{}) (*BroadcastCustomMessageResponse, error)

func (*Client) Close added in v0.2.0

func (c *Client) Close() error

Function Close closes the Client's connection.

func (*Client) Connect

func (c *Client) Connect(address string) (bool, chan error, error)

Function Connect attempts to connect to an OBS instance at the given address.

func (*Client) CreateScene added in v0.2.0

func (c *Client) CreateScene(SceneName string) (*CreateSceneResponse, error)

func (*Client) CreateSource added in v0.2.0

func (c *Client) CreateSource(SourceName string, SourceKind string, SceneName string, SourceSettings interface{}, SetVisible *bool) (*CreateSourceResponse, error)

func (*Client) DeleteSceneItem added in v0.2.0

func (c *Client) DeleteSceneItem(Scene string, Item DeleteSceneItemItem) (*DeleteSceneItemResponse, error)

func (*Client) DisableStudioMode added in v0.2.0

func (c *Client) DisableStudioMode() (*DisableStudioModeResponse, error)

func (*Client) DuplicateSceneItem added in v0.2.0

func (c *Client) DuplicateSceneItem(FromScene string, ToScene string, Item DuplicateSceneItemItem) (*DuplicateSceneItemResponse, error)

func (*Client) EnableStudioMode added in v0.2.0

func (c *Client) EnableStudioMode() (*EnableStudioModeResponse, error)

func (*Client) ExecuteBatch added in v0.2.0

func (c *Client) ExecuteBatch(Requests []ExecuteBatchRequests, AbortOnFail *bool) (*ExecuteBatchResponse, error)

func (*Client) GetAudioActive added in v0.2.0

func (c *Client) GetAudioActive(SourceName string) (*GetAudioActiveResponse, error)

func (*Client) GetAudioMonitorType added in v0.2.0

func (c *Client) GetAudioMonitorType(SourceName string) (*GetAudioMonitorTypeResponse, error)

func (*Client) GetAudioTracks added in v0.2.0

func (c *Client) GetAudioTracks(SourceName string) (*GetAudioTracksResponse, error)

func (*Client) GetAuthRequired added in v0.2.0

func (c *Client) GetAuthRequired() (*GetAuthRequiredResponse, error)

func (*Client) GetBrowserSourceProperties added in v0.2.0

func (c *Client) GetBrowserSourceProperties(Source string) (*GetBrowserSourcePropertiesResponse, error)

func (*Client) GetCurrentProfile added in v0.2.0

func (c *Client) GetCurrentProfile() (*GetCurrentProfileResponse, error)

func (*Client) GetCurrentScene added in v0.2.0

func (c *Client) GetCurrentScene() (*GetCurrentSceneResponse, error)

func (*Client) GetCurrentSceneCollection added in v0.2.0

func (c *Client) GetCurrentSceneCollection() (*GetCurrentSceneCollectionResponse, error)

func (*Client) GetCurrentTransition added in v0.2.0

func (c *Client) GetCurrentTransition() (*GetCurrentTransitionResponse, error)

func (*Client) GetFilenameFormatting added in v0.2.0

func (c *Client) GetFilenameFormatting() (*GetFilenameFormattingResponse, error)

func (*Client) GetHandler added in v0.1.1

func (c *Client) GetHandler(eventType string) func(any)

Function GetHandler returns the handler for the given event type, if it exists.

func (*Client) GetMediaDuration added in v0.2.0

func (c *Client) GetMediaDuration(SourceName string) (*GetMediaDurationResponse, error)

func (*Client) GetMediaSourcesList added in v0.2.0

func (c *Client) GetMediaSourcesList() (*GetMediaSourcesListResponse, error)

func (*Client) GetMediaState added in v0.2.0

func (c *Client) GetMediaState(SourceName string) (*GetMediaStateResponse, error)

func (*Client) GetMediaTime added in v0.2.0

func (c *Client) GetMediaTime(SourceName string) (*GetMediaTimeResponse, error)

func (*Client) GetMute added in v0.2.0

func (c *Client) GetMute(Source string) (*GetMuteResponse, error)

func (*Client) GetOutputInfo added in v0.2.0

func (c *Client) GetOutputInfo(OutputName string) (*GetOutputInfoResponse, error)

func (*Client) GetPreviewScene added in v0.2.0

func (c *Client) GetPreviewScene() (*GetPreviewSceneResponse, error)

func (*Client) GetRecordingFolder added in v0.2.0

func (c *Client) GetRecordingFolder() (*GetRecordingFolderResponse, error)

func (*Client) GetRecordingStatus added in v0.2.0

func (c *Client) GetRecordingStatus() (*GetRecordingStatusResponse, error)

func (*Client) GetReplayBufferStatus added in v0.2.0

func (c *Client) GetReplayBufferStatus() (*GetReplayBufferStatusResponse, error)

func (*Client) GetSceneItemList added in v0.2.0

func (c *Client) GetSceneItemList(SceneName string) (*GetSceneItemListResponse, error)

func (*Client) GetSceneItemProperties added in v0.2.0

func (c *Client) GetSceneItemProperties(SceneName string, Item GetSceneItemPropertiesItem) (*GetSceneItemPropertiesResponse, error)

func (*Client) GetSceneList added in v0.2.0

func (c *Client) GetSceneList() (*GetSceneListResponse, error)

func (*Client) GetSceneTransitionOverride added in v0.2.0

func (c *Client) GetSceneTransitionOverride(SceneName string) (*GetSceneTransitionOverrideResponse, error)

func (*Client) GetSourceActive added in v0.2.0

func (c *Client) GetSourceActive(SourceName string) (*GetSourceActiveResponse, error)

func (*Client) GetSourceDefaultSettings added in v0.2.0

func (c *Client) GetSourceDefaultSettings(SourceKind string) (*GetSourceDefaultSettingsResponse, error)

func (*Client) GetSourceFilterInfo added in v0.2.0

func (c *Client) GetSourceFilterInfo(SourceName string, FilterName string) (*GetSourceFilterInfoResponse, error)

func (*Client) GetSourceFilters added in v0.2.0

func (c *Client) GetSourceFilters(SourceName string) (*GetSourceFiltersResponse, error)

func (*Client) GetSourceSettings added in v0.2.0

func (c *Client) GetSourceSettings(SourceName string, SourceType string) (*GetSourceSettingsResponse, error)

func (*Client) GetSourceTypesList added in v0.2.0

func (c *Client) GetSourceTypesList() (*GetSourceTypesListResponse, error)

func (*Client) GetSourcesList added in v0.2.0

func (c *Client) GetSourcesList() (*GetSourcesListResponse, error)

func (*Client) GetSpecialSources added in v0.2.0

func (c *Client) GetSpecialSources() (*GetSpecialSourcesResponse, error)

func (*Client) GetStats added in v0.2.0

func (c *Client) GetStats() (*GetStatsResponse, error)

func (*Client) GetStreamSettings added in v0.2.0

func (c *Client) GetStreamSettings() (*GetStreamSettingsResponse, error)

func (*Client) GetStreamingStatus added in v0.2.0

func (c *Client) GetStreamingStatus() (*GetStreamingStatusResponse, error)

func (*Client) GetStudioModeStatus added in v0.2.0

func (c *Client) GetStudioModeStatus() (*GetStudioModeStatusResponse, error)

func (*Client) GetSyncOffset added in v0.2.0

func (c *Client) GetSyncOffset(Source string) (*GetSyncOffsetResponse, error)

func (*Client) GetTextFreetype2Properties added in v0.2.0

func (c *Client) GetTextFreetype2Properties(Source string) (*GetTextFreetype2PropertiesResponse, error)

func (*Client) GetTextGDIPlusProperties added in v0.2.0

func (c *Client) GetTextGDIPlusProperties(Source string) (*GetTextGDIPlusPropertiesResponse, error)

func (*Client) GetTransitionDuration added in v0.2.0

func (c *Client) GetTransitionDuration() (*GetTransitionDurationResponse, error)

func (*Client) GetTransitionList added in v0.2.0

func (c *Client) GetTransitionList() (*GetTransitionListResponse, error)

func (*Client) GetTransitionPosition added in v0.2.0

func (c *Client) GetTransitionPosition() (*GetTransitionPositionResponse, error)

func (*Client) GetTransitionSettings added in v0.2.0

func (c *Client) GetTransitionSettings(TransitionName string) (*GetTransitionSettingsResponse, error)

func (*Client) GetVersion added in v0.2.0

func (c *Client) GetVersion() (*GetVersionResponse, error)

func (*Client) GetVideoInfo added in v0.2.0

func (c *Client) GetVideoInfo() (*GetVideoInfoResponse, error)

func (*Client) GetVirtualCamStatus added in v0.2.0

func (c *Client) GetVirtualCamStatus() (*GetVirtualCamStatusResponse, error)

func (*Client) GetVolume added in v0.2.0

func (c *Client) GetVolume(Source string, UseDecibel *bool) (*GetVolumeResponse, error)

func (*Client) ListOutputs added in v0.2.0

func (c *Client) ListOutputs() (*ListOutputsResponse, error)

func (*Client) ListProfiles added in v0.2.0

func (c *Client) ListProfiles() (*ListProfilesResponse, error)

func (*Client) ListSceneCollections added in v0.2.0

func (c *Client) ListSceneCollections() (*ListSceneCollectionsResponse, error)

func (*Client) Login added in v0.2.0

func (c *Client) Login(password string) error

Function Authenticate will authenticate with OBS using the provided password.

func (*Client) MoveSourceFilter added in v0.2.0

func (c *Client) MoveSourceFilter(SourceName string, FilterName string, MovementType string) (*MoveSourceFilterResponse, error)

func (*Client) NextMedia added in v0.2.0

func (c *Client) NextMedia(SourceName string) (*NextMediaResponse, error)

func (*Client) OpenProjector added in v0.2.0

func (c *Client) OpenProjector(Type string, Monitor *int, Geometry string, Name string) (*OpenProjectorResponse, error)

func (*Client) PauseRecording added in v0.2.0

func (c *Client) PauseRecording() (*PauseRecordingResponse, error)

func (*Client) PlayPauseMedia added in v0.2.0

func (c *Client) PlayPauseMedia(SourceName string, PlayPause bool) (*PlayPauseMediaResponse, error)

func (*Client) PreviousMedia added in v0.2.0

func (c *Client) PreviousMedia(SourceName string) (*PreviousMediaResponse, error)

func (*Client) RefreshBrowserSource added in v0.2.0

func (c *Client) RefreshBrowserSource(SourceName string) (*RefreshBrowserSourceResponse, error)

func (*Client) ReleaseTBar added in v0.2.0

func (c *Client) ReleaseTBar() (*ReleaseTBarResponse, error)

func (*Client) RemoveFilterFromSource added in v0.2.0

func (c *Client) RemoveFilterFromSource(SourceName string, FilterName string) (*RemoveFilterFromSourceResponse, error)

func (*Client) RemoveSceneTransitionOverride added in v0.2.0

func (c *Client) RemoveSceneTransitionOverride(SceneName string) (*RemoveSceneTransitionOverrideResponse, error)

func (*Client) ReorderSceneItems added in v0.2.0

func (c *Client) ReorderSceneItems(Scene string, Items []ReorderSceneItemsItems) (*ReorderSceneItemsResponse, error)

func (*Client) ReorderSourceFilter added in v0.2.0

func (c *Client) ReorderSourceFilter(SourceName string, FilterName string, NewIndex int) (*ReorderSourceFilterResponse, error)

func (*Client) ResetSceneItem added in v0.2.0

func (c *Client) ResetSceneItem(SceneName string, Item ResetSceneItemItem) (*ResetSceneItemResponse, error)

func (*Client) RestartMedia added in v0.2.0

func (c *Client) RestartMedia(SourceName string) (*RestartMediaResponse, error)

func (*Client) ResumeRecording added in v0.2.0

func (c *Client) ResumeRecording() (*ResumeRecordingResponse, error)

func (*Client) SaveReplayBuffer added in v0.2.0

func (c *Client) SaveReplayBuffer() (*SaveReplayBufferResponse, error)

func (*Client) SaveStreamSettings added in v0.2.0

func (c *Client) SaveStreamSettings() (*SaveStreamSettingsResponse, error)

func (*Client) ScrubMedia added in v0.2.0

func (c *Client) ScrubMedia(SourceName string, TimeOffset int) (*ScrubMediaResponse, error)

func (*Client) SendCaptions added in v0.2.0

func (c *Client) SendCaptions(Text string) (*SendCaptionsResponse, error)

func (*Client) SetAudioMonitorType added in v0.2.0

func (c *Client) SetAudioMonitorType(SourceName string, MonitorType string) (*SetAudioMonitorTypeResponse, error)

func (*Client) SetAudioTracks added in v0.2.0

func (c *Client) SetAudioTracks(SourceName string, Track int, Active bool) (*SetAudioTracksResponse, error)

func (*Client) SetBrowserSourceProperties added in v0.2.0

func (c *Client) SetBrowserSourceProperties(Source string, IsLocalFile *bool, LocalFile string, Url string, Css string, Width *int, Height *int, Fps *int, Shutdown *bool, Render *bool) (*SetBrowserSourcePropertiesResponse, error)

func (*Client) SetCurrentProfile added in v0.2.0

func (c *Client) SetCurrentProfile(ProfileName string) (*SetCurrentProfileResponse, error)

func (*Client) SetCurrentScene added in v0.2.0

func (c *Client) SetCurrentScene(SceneName string) (*SetCurrentSceneResponse, error)

func (*Client) SetCurrentSceneCollection added in v0.2.0

func (c *Client) SetCurrentSceneCollection(ScName string) (*SetCurrentSceneCollectionResponse, error)

func (*Client) SetCurrentTransition added in v0.2.0

func (c *Client) SetCurrentTransition(TransitionName string) (*SetCurrentTransitionResponse, error)

func (*Client) SetFilenameFormatting added in v0.2.0

func (c *Client) SetFilenameFormatting(FilenameFormatting string) (*SetFilenameFormattingResponse, error)

func (*Client) SetHandler added in v0.1.1

func (c *Client) SetHandler(eventType string, handler func(any))

Function SetHandler sets the handler for the given event type.

func (*Client) SetHeartbeat added in v0.2.0

func (c *Client) SetHeartbeat(Enable bool) (*SetHeartbeatResponse, error)

func (*Client) SetMediaTime added in v0.2.0

func (c *Client) SetMediaTime(SourceName string, Timestamp int) (*SetMediaTimeResponse, error)

func (*Client) SetMute added in v0.2.0

func (c *Client) SetMute(Source string, Mute bool) (*SetMuteResponse, error)

func (*Client) SetPreviewScene added in v0.2.0

func (c *Client) SetPreviewScene(SceneName string) (*SetPreviewSceneResponse, error)

func (*Client) SetRecordingFolder added in v0.2.0

func (c *Client) SetRecordingFolder(RecFolder string) (*SetRecordingFolderResponse, error)

func (*Client) SetSceneItemCrop added in v0.2.0

func (c *Client) SetSceneItemCrop(SceneName string, Item string, Top int, Bottom int, Left int, Right int) (*SetSceneItemCropResponse, error)

func (*Client) SetSceneItemPosition added in v0.2.0

func (c *Client) SetSceneItemPosition(SceneName string, Item string, X float64, Y float64) (*SetSceneItemPositionResponse, error)

func (*Client) SetSceneItemProperties added in v0.2.0

func (*Client) SetSceneItemRender added in v0.2.0

func (c *Client) SetSceneItemRender(SceneName string, Source string, Item *int, Render bool) (*SetSceneItemRenderResponse, error)

func (*Client) SetSceneItemTransform added in v0.2.0

func (c *Client) SetSceneItemTransform(SceneName string, Item string, XScale float64, YScale float64, Rotation float64) (*SetSceneItemTransformResponse, error)

func (*Client) SetSceneTransitionOverride added in v0.2.0

func (c *Client) SetSceneTransitionOverride(SceneName string, TransitionName string, TransitionDuration *int) (*SetSceneTransitionOverrideResponse, error)

func (*Client) SetSourceFilterSettings added in v0.2.0

func (c *Client) SetSourceFilterSettings(SourceName string, FilterName string, FilterSettings interface{}) (*SetSourceFilterSettingsResponse, error)

func (*Client) SetSourceFilterVisibility added in v0.2.0

func (c *Client) SetSourceFilterVisibility(SourceName string, FilterName string, FilterEnabled bool) (*SetSourceFilterVisibilityResponse, error)

func (*Client) SetSourceName added in v0.2.0

func (c *Client) SetSourceName(SourceName string, NewName string) (*SetSourceNameResponse, error)

func (*Client) SetSourceSettings added in v0.2.0

func (c *Client) SetSourceSettings(SourceName string, SourceType string, SourceSettings interface{}) (*SetSourceSettingsResponse, error)

func (*Client) SetStreamSettings added in v0.2.0

func (c *Client) SetStreamSettings(Type string, Settings SetStreamSettingsSettings, Save bool) (*SetStreamSettingsResponse, error)

func (*Client) SetSyncOffset added in v0.2.0

func (c *Client) SetSyncOffset(Source string, Offset int) (*SetSyncOffsetResponse, error)

func (*Client) SetTBarPosition added in v0.2.0

func (c *Client) SetTBarPosition(Position float64, Release *bool) (*SetTBarPositionResponse, error)

func (*Client) SetTextFreetype2Properties added in v0.2.0

func (c *Client) SetTextFreetype2Properties(Source string, Color1 *int, Color2 *int, CustomWidth *int, DropShadow *bool, Font SetTextFreetype2PropertiesFont, FromFile *bool, LogMode *bool, Outline *bool, Text string, TextFile string, WordWrap *bool) (*SetTextFreetype2PropertiesResponse, error)

func (*Client) SetTextGDIPlusProperties added in v0.2.0

func (c *Client) SetTextGDIPlusProperties(Source string, Align string, BkColor *int, BkOpacity *int, Chatlog *bool, ChatlogLines *int, Color *int, Extents *bool, ExtentsCx *int, ExtentsCy *int, File string, ReadFromFile *bool, Font SetTextGDIPlusPropertiesFont, Gradient *bool, GradientColor *int, GradientDir *float32, GradientOpacity *int, Outline *bool, OutlineColor *int, OutlineSize *int, OutlineOpacity *int, Text string, Valign string, Vertical *bool, Render *bool) (*SetTextGDIPlusPropertiesResponse, error)

func (*Client) SetTransitionDuration added in v0.2.0

func (c *Client) SetTransitionDuration(Duration int) (*SetTransitionDurationResponse, error)

func (*Client) SetTransitionSettings added in v0.2.0

func (c *Client) SetTransitionSettings(TransitionName string, TransitionSettings interface{}) (*SetTransitionSettingsResponse, error)

func (*Client) SetVolume added in v0.2.0

func (c *Client) SetVolume(Source string, Volume float64, UseDecibel *bool) (*SetVolumeResponse, error)

func (*Client) Sleep added in v0.2.0

func (c *Client) Sleep(SleepMillis int) (*SleepResponse, error)

func (*Client) StartOutput added in v0.2.0

func (c *Client) StartOutput(OutputName string) (*StartOutputResponse, error)

func (*Client) StartRecording added in v0.2.0

func (c *Client) StartRecording() (*StartRecordingResponse, error)

func (*Client) StartReplayBuffer added in v0.2.0

func (c *Client) StartReplayBuffer() (*StartReplayBufferResponse, error)

func (*Client) StartStopRecording added in v0.2.0

func (c *Client) StartStopRecording() (*StartStopRecordingResponse, error)

func (*Client) StartStopReplayBuffer added in v0.2.0

func (c *Client) StartStopReplayBuffer() (*StartStopReplayBufferResponse, error)

func (*Client) StartStopStreaming added in v0.2.0

func (c *Client) StartStopStreaming() (*StartStopStreamingResponse, error)

func (*Client) StartStopVirtualCam added in v0.2.0

func (c *Client) StartStopVirtualCam() (*StartStopVirtualCamResponse, error)

func (*Client) StartStreaming added in v0.2.0

func (c *Client) StartStreaming(Stream StartStreamingStream) (*StartStreamingResponse, error)

func (*Client) StartVirtualCam added in v0.2.0

func (c *Client) StartVirtualCam() (*StartVirtualCamResponse, error)

func (*Client) StopMedia added in v0.2.0

func (c *Client) StopMedia(SourceName string) (*StopMediaResponse, error)

func (*Client) StopOutput added in v0.2.0

func (c *Client) StopOutput(OutputName string, Force *bool) (*StopOutputResponse, error)

func (*Client) StopRecording added in v0.2.0

func (c *Client) StopRecording() (*StopRecordingResponse, error)

func (*Client) StopReplayBuffer added in v0.2.0

func (c *Client) StopReplayBuffer() (*StopReplayBufferResponse, error)

func (*Client) StopStreaming added in v0.2.0

func (c *Client) StopStreaming() (*StopStreamingResponse, error)

func (*Client) StopVirtualCam added in v0.2.0

func (c *Client) StopVirtualCam() (*StopVirtualCamResponse, error)

func (*Client) TakeSourceScreenshot added in v0.2.0

func (c *Client) TakeSourceScreenshot(SourceName string, EmbedPictureFormat string, SaveToFilePath string, FileFormat string, CompressionQuality *int, Width *int, Height *int) (*TakeSourceScreenshotResponse, error)

func (*Client) ToggleMute added in v0.2.0

func (c *Client) ToggleMute(Source string) (*ToggleMuteResponse, error)

func (*Client) ToggleStudioMode added in v0.2.0

func (c *Client) ToggleStudioMode() (*ToggleStudioModeResponse, error)

func (*Client) TransitionToProgram added in v0.2.0

func (c *Client) TransitionToProgram(WithTransition TransitionToProgramWithTransition) (*TransitionToProgramResponse, error)

func (*Client) TriggerHotkeyByName added in v0.2.0

func (c *Client) TriggerHotkeyByName(HotkeyName string) (*TriggerHotkeyByNameResponse, error)

func (*Client) TriggerHotkeyBySequence added in v0.2.0

func (c *Client) TriggerHotkeyBySequence(KeyId string, KeyModifiers TriggerHotkeyBySequenceKeyModifiers) (*TriggerHotkeyBySequenceResponse, error)

type CreateSceneRequest

type CreateSceneRequest struct {

	// Name of the scene to create.
	SceneName string `json:"sceneName"`
	// contains filtered or unexported fields
}

Create a new scene scene.

type CreateSceneResponse

type CreateSceneResponse struct {
	// contains filtered or unexported fields
}

type CreateSourceRequest

type CreateSourceRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// Source kind, Eg. `vlc_source`.
	SourceKind string `json:"sourceKind"`
	// Scene to add the new source to.
	SceneName string `json:"sceneName"`
	// Source settings data.
	SourceSettings interface{} `json:"sourceSettings,omitempty"`
	// Set the created SceneItem as visible or not. Defaults to true
	SetVisible *bool `json:"setVisible,omitempty"`
	// contains filtered or unexported fields
}

Create a source and add it as a sceneitem to a scene.

type CreateSourceResponse

type CreateSourceResponse struct {

	// ID of the SceneItem in the scene.
	ItemId int `json:"itemId"`
	// contains filtered or unexported fields
}

type DeleteSceneItemItem added in v0.2.0

type DeleteSceneItemItem struct {
	// Scene Item name (prefer `id`, including both is acceptable).
	Name string `json:"name"`
	// Scene Item ID.
	Id int `json:"id"`
}

type DeleteSceneItemRequest

type DeleteSceneItemRequest struct {

	// Name of the scene the scene item belongs to. Defaults to the current scene.
	Scene string `json:"scene,omitempty"`
	// Scene item to delete (required)
	Item DeleteSceneItemItem `json:"item"`
	// contains filtered or unexported fields
}

Deletes a scene item.

type DeleteSceneItemResponse

type DeleteSceneItemResponse struct {
	// contains filtered or unexported fields
}

type DisableStudioModeRequest

type DisableStudioModeRequest struct {
	// contains filtered or unexported fields
}

Disables Studio Mode.

type DisableStudioModeResponse

type DisableStudioModeResponse struct {
	// contains filtered or unexported fields
}

type DuplicateSceneItemItem added in v0.2.0

type DuplicateSceneItemItem struct {
	// Scene Item name (prefer `id`, including both is acceptable).
	Name string `json:"name"`
	// Scene Item ID.
	Id int `json:"id"`
}

type DuplicateSceneItemRequest

type DuplicateSceneItemRequest struct {

	// Name of the scene to copy the item from. Defaults to the current scene.
	FromScene string `json:"fromScene,omitempty"`
	// Name of the scene to create the item in. Defaults to the current scene.
	ToScene string `json:"toScene,omitempty"`
	// Scene Item to duplicate from the source scene (required)
	Item DuplicateSceneItemItem `json:"item"`
	// contains filtered or unexported fields
}

Duplicates a scene item.

type DuplicateSceneItemResponse

type DuplicateSceneItemResponse struct {

	// Name of the scene where the new item was created
	Scene string `json:"scene"`
	// New item info
	Item struct {
		// New item ID
		Id int `json:"id"`
		// New item name
		Name string `json:"name"`
	} `json:"item"`
	// contains filtered or unexported fields
}

type EnableStudioModeRequest

type EnableStudioModeRequest struct {
	// contains filtered or unexported fields
}

Enables Studio Mode.

type EnableStudioModeResponse

type EnableStudioModeResponse struct {
	// contains filtered or unexported fields
}

type ExecuteBatchRequest

type ExecuteBatchRequest struct {

	// Array of requests to perform. Executed in order.
	Requests []ExecuteBatchRequests `json:"requests"`
	// Stop processing batch requests if one returns a failure.
	AbortOnFail *bool `json:"abortOnFail,omitempty"`
	// contains filtered or unexported fields
}

Executes a list of requests sequentially (one-by-one on the same thread).

type ExecuteBatchRequests added in v0.2.0

type ExecuteBatchRequests struct {
	// Request type. Eg. `GetVersion`.
	RequestType string `json:"request-type"`
	// ID of the individual request. Can be any string and not required to be
	// unique. Defaults to empty string if not specified.
	MessageId string `json:"message-id,omitempty"`
}

type ExecuteBatchResponse

type ExecuteBatchResponse struct {

	// Batch requests results, ordered sequentially.
	Results []struct {
		// ID of the individual request which was originally provided by the client.
		MessageId string `json:"message-id"`
		// Status response as string. Either `ok` or `error`.
		Status string `json:"status"`
		// Error message accompanying an `error` status.
		Error string `json:"error,omitempty"`
	} `json:"results"`
	// contains filtered or unexported fields
}

type ExitingEvent

type ExitingEvent struct {
	// contains filtered or unexported fields
}

OBS is exiting.

type GetAudioActiveRequest

type GetAudioActiveRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Get the audio's active status of a specified source.

type GetAudioActiveResponse

type GetAudioActiveResponse struct {

	// Audio active status of the source.
	AudioActive bool `json:"audioActive"`
	// contains filtered or unexported fields
}

type GetAudioMonitorTypeRequest

type GetAudioMonitorTypeRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Get the audio monitoring type of the specified source.

type GetAudioMonitorTypeResponse

type GetAudioMonitorTypeResponse struct {

	// The monitor type in use. Options: `none`, `monitorOnly`, `monitorAndOutput`.
	MonitorType string `json:"monitorType"`
	// contains filtered or unexported fields
}

type GetAudioTracksRequest

type GetAudioTracksRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Gets whether an audio track is active for a source.

type GetAudioTracksResponse

type GetAudioTracksResponse struct {
	Track1 bool `json:"track1"`
	Track2 bool `json:"track2"`
	Track3 bool `json:"track3"`
	Track4 bool `json:"track4"`
	Track5 bool `json:"track5"`
	Track6 bool `json:"track6"`
	// contains filtered or unexported fields
}

type GetAuthRequiredRequest

type GetAuthRequiredRequest struct {
	// contains filtered or unexported fields
}

Tells the client if authentication is required. If so, returns authentication parameters `challenge` and `salt` (see "Authentication" for more information).

type GetAuthRequiredResponse

type GetAuthRequiredResponse struct {

	// Indicates whether authentication is required.
	AuthRequired bool   `json:"authRequired"`
	Challenge    string `json:"challenge,omitempty"`
	Salt         string `json:"salt,omitempty"`
	// contains filtered or unexported fields
}

type GetBrowserSourcePropertiesRequest deprecated

type GetBrowserSourcePropertiesRequest struct {

	// Source name.
	Source string `json:"source"`
	// contains filtered or unexported fields
}

Get current properties for a Browser Source.

Deprecated: Since 4.8.0. Prefer the use of GetSourceSettings. Will be removed in v5.0.0

type GetBrowserSourcePropertiesResponse

type GetBrowserSourcePropertiesResponse struct {

	// Source name.
	Source string `json:"source"`
	// Indicates that a local file is in use.
	IsLocalFile bool `json:"is_local_file"`
	// file path.
	LocalFile string `json:"local_file"`
	// Url.
	Url string `json:"url"`
	// CSS to inject.
	Css string `json:"css"`
	// Width.
	Width int `json:"width"`
	// Height.
	Height int `json:"height"`
	// Framerate.
	Fps int `json:"fps"`
	// Indicates whether the source should be shutdown when not visible.
	Shutdown bool `json:"shutdown"`
	// contains filtered or unexported fields
}

type GetCurrentProfileRequest

type GetCurrentProfileRequest struct {
	// contains filtered or unexported fields
}

Get the name of the current profile.

type GetCurrentProfileResponse

type GetCurrentProfileResponse struct {

	// Name of the currently active profile.
	ProfileName string `json:"profile-name"`
	// contains filtered or unexported fields
}

type GetCurrentSceneCollectionRequest

type GetCurrentSceneCollectionRequest struct {
	// contains filtered or unexported fields
}

Get the name of the current scene collection.

type GetCurrentSceneCollectionResponse

type GetCurrentSceneCollectionResponse struct {

	// Name of the currently active scene collection.
	ScName string `json:"sc-name"`
	// contains filtered or unexported fields
}

type GetCurrentSceneRequest

type GetCurrentSceneRequest struct {
	// contains filtered or unexported fields
}

Get the current scene's name and source items.

type GetCurrentSceneResponse

type GetCurrentSceneResponse struct {

	// Name of the currently active scene.
	Name string `json:"name"`
	// Ordered list of the current scene's source items.
	Sources []SceneItem `json:"sources"`
	// contains filtered or unexported fields
}

type GetCurrentTransitionRequest

type GetCurrentTransitionRequest struct {
	// contains filtered or unexported fields
}

Get the name of the currently selected transition in the frontend's dropdown menu.

type GetCurrentTransitionResponse

type GetCurrentTransitionResponse struct {

	// Name of the selected transition.
	Name string `json:"name"`
	// Transition duration (in milliseconds) if supported by the transition.
	Duration *int `json:"duration,omitempty"`
	// contains filtered or unexported fields
}

type GetFilenameFormattingRequest

type GetFilenameFormattingRequest struct {
	// contains filtered or unexported fields
}

Get the filename formatting string

type GetFilenameFormattingResponse

type GetFilenameFormattingResponse struct {

	// Current filename formatting string.
	FilenameFormatting string `json:"filename-formatting"`
	// contains filtered or unexported fields
}

type GetMediaDurationRequest

type GetMediaDurationRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Get the length of media in milliseconds. Supports ffmpeg and vlc media sources (as of OBS v25.0.8) Note: For some reason, for the first 5 or so seconds that the media is playing, the total duration can be off by upwards of 50ms.

type GetMediaDurationResponse

type GetMediaDurationResponse struct {

	// The total length of media in milliseconds..
	MediaDuration int `json:"mediaDuration"`
	// contains filtered or unexported fields
}

type GetMediaSourcesListRequest

type GetMediaSourcesListRequest struct {
	// contains filtered or unexported fields
}

List the media state of all media sources (vlc and media source)

type GetMediaSourcesListResponse

type GetMediaSourcesListResponse struct {

	// Array of sources
	MediaSources []struct {
		// Unique source name
		SourceName string `json:"sourceName"`
		// Unique source internal type (a.k.a `ffmpeg_source` or `vlc_source`)
		SourceKind string `json:"sourceKind"`
		// The current state of media for that source. States: `none`, `playing`,
		// `opening`, `buffering`, `paused`, `stopped`, `ended`, `error`, `unknown`
		MediaState string `json:"mediaState"`
	} `json:"mediaSources"`
	// contains filtered or unexported fields
}

type GetMediaStateRequest

type GetMediaStateRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Get the current playing state of a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)

type GetMediaStateResponse

type GetMediaStateResponse struct {

	// The media state of the provided source. States: `none`, `playing`, `opening`,
	// `buffering`, `paused`, `stopped`, `ended`, `error`, `unknown`
	MediaState string `json:"mediaState"`
	// contains filtered or unexported fields
}

type GetMediaTimeRequest

type GetMediaTimeRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Get the current timestamp of media in milliseconds. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)

type GetMediaTimeResponse

type GetMediaTimeResponse struct {

	// The time in milliseconds since the start of the media.
	Timestamp int `json:"timestamp"`
	// contains filtered or unexported fields
}

type GetMuteRequest

type GetMuteRequest struct {

	// Source name.
	Source string `json:"source"`
	// contains filtered or unexported fields
}

Get the mute status of a specified source.

type GetMuteResponse

type GetMuteResponse struct {

	// Source name.
	Name string `json:"name"`
	// Mute status of the source.
	Muted bool `json:"muted"`
	// contains filtered or unexported fields
}

type GetOutputInfoRequest

type GetOutputInfoRequest struct {

	// Output name
	OutputName string `json:"outputName"`
	// contains filtered or unexported fields
}

Get information about a single output

type GetOutputInfoResponse

type GetOutputInfoResponse struct {

	// Output info
	OutputInfo Output `json:"outputInfo"`
	// contains filtered or unexported fields
}

type GetPreviewSceneRequest

type GetPreviewSceneRequest struct {
	// contains filtered or unexported fields
}

Get the name of the currently previewed scene and its list of sources. Will return an `error` if Studio Mode is not enabled.

type GetPreviewSceneResponse

type GetPreviewSceneResponse struct {

	// The name of the active preview scene.
	Name    string      `json:"name"`
	Sources []SceneItem `json:"sources"`
	// contains filtered or unexported fields
}

type GetRecordingFolderRequest

type GetRecordingFolderRequest struct {
	// contains filtered or unexported fields
}

Get the path of the current recording folder.

type GetRecordingFolderResponse

type GetRecordingFolderResponse struct {

	// Path of the recording folder.
	RecFolder string `json:"rec-folder"`
	// contains filtered or unexported fields
}

type GetRecordingStatusRequest

type GetRecordingStatusRequest struct {
	// contains filtered or unexported fields
}

Get current recording status.

type GetRecordingStatusResponse

type GetRecordingStatusResponse struct {

	// Current recording status.
	IsRecording bool `json:"isRecording"`
	// Whether the recording is paused or not.
	IsRecordingPaused bool `json:"isRecordingPaused"`
	// Time elapsed since recording started (only present if currently recording).
	RecordTimecode string `json:"recordTimecode,omitempty"`
	// Absolute path to the recording file (only present if currently recording).
	RecordingFilename string `json:"recordingFilename,omitempty"`
	// contains filtered or unexported fields
}

type GetReplayBufferStatusRequest

type GetReplayBufferStatusRequest struct {
	// contains filtered or unexported fields
}

Get the status of the OBS replay buffer.

type GetReplayBufferStatusResponse

type GetReplayBufferStatusResponse struct {

	// Current recording status.
	IsReplayBufferActive bool `json:"isReplayBufferActive"`
	// contains filtered or unexported fields
}

type GetSceneItemListRequest

type GetSceneItemListRequest struct {

	// Name of the scene to get the list of scene items from. Defaults to the
	// current scene if not specified.
	SceneName string `json:"sceneName,omitempty"`
	// contains filtered or unexported fields
}

Get a list of all scene items in a scene.

type GetSceneItemListResponse

type GetSceneItemListResponse struct {

	// Name of the requested (or current) scene
	SceneName string `json:"sceneName"`
	// Array of scene items
	SceneItems []struct {
		// Unique item id of the source item
		ItemId int `json:"itemId"`
		// ID if the scene item's source. For example `vlc_source` or `image_source`
		SourceKind string `json:"sourceKind"`
		// Name of the scene item's source
		SourceName string `json:"sourceName"`
		// Type of the scene item's source. Either `input`, `group`, or `scene`
		SourceType string `json:"sourceType"`
	} `json:"sceneItems"`
	// contains filtered or unexported fields
}

type GetSceneItemPropertiesItem added in v0.2.0

type GetSceneItemPropertiesItem struct {
	// Scene Item name (if the `item` field is an object)
	Name string `json:"name,omitempty"`
	// Scene Item ID (if the `item` field is an object)
	Id *int `json:"id,omitempty"`
}

type GetSceneItemPropertiesRequest

type GetSceneItemPropertiesRequest struct {

	// Name of the scene the scene item belongs to. Defaults to the current scene.
	SceneName string `json:"scene-name,omitempty"`
	// Scene Item name (if this field is a string) or specification (if it is an
	// object).
	Item GetSceneItemPropertiesItem `json:"item"`
	// contains filtered or unexported fields
}

Gets the scene specific properties of the specified source item. Coordinates are relative to the item's parent (the scene or group it belongs to).

type GetSceneItemPropertiesResponse

type GetSceneItemPropertiesResponse struct {

	// Scene Item name.
	Name string `json:"name"`
	// Scene Item ID.
	ItemId int `json:"itemId"`
	// The x position of the source from the left.
	Position struct {
		// The x position of the source from the left.
		X float64 `json:"x"`
		// The y position of the source from the top.
		Y float64 `json:"y"`
		// The point on the source that the item is manipulated from. The sum of 1=Left
		// or 2=Right, and 4=Top or 8=Bottom, or omit to center on that axis.
		Alignment int `json:"alignment"`
	} `json:"position"`
	// The clockwise rotation of the item in degrees around the point of alignment.
	Rotation float64 `json:"rotation"`
	// The x-scale factor of the source.
	Scale struct {
		// The x-scale factor of the source.
		X float64 `json:"x"`
		// The y-scale factor of the source.
		Y float64 `json:"y"`
		// The scale filter of the source. Can be "OBS_SCALE_DISABLE",
		// "OBS_SCALE_POINT", "OBS_SCALE_BICUBIC", "OBS_SCALE_BILINEAR",
		// "OBS_SCALE_LANCZOS" or "OBS_SCALE_AREA".
		Filter string `json:"filter"`
	} `json:"scale"`
	// The number of pixels cropped off the top of the source before scaling.
	Crop struct {
		// The number of pixels cropped off the top of the source before scaling.
		Top int `json:"top"`
		// The number of pixels cropped off the right of the source before scaling.
		Right int `json:"right"`
		// The number of pixels cropped off the bottom of the source before scaling.
		Bottom int `json:"bottom"`
		// The number of pixels cropped off the left of the source before scaling.
		Left int `json:"left"`
	} `json:"crop"`
	// If the source is visible.
	Visible bool `json:"visible"`
	// If the source is muted.
	Muted bool `json:"muted"`
	// If the source's transform is locked.
	Locked bool `json:"locked"`
	// Type of bounding box. Can be "OBS_BOUNDS_STRETCH", "OBS_BOUNDS_SCALE_INNER",
	// "OBS_BOUNDS_SCALE_OUTER", "OBS_BOUNDS_SCALE_TO_WIDTH",
	// "OBS_BOUNDS_SCALE_TO_HEIGHT", "OBS_BOUNDS_MAX_ONLY" or "OBS_BOUNDS_NONE".
	Bounds struct {
		// Type of bounding box. Can be "OBS_BOUNDS_STRETCH", "OBS_BOUNDS_SCALE_INNER",
		// "OBS_BOUNDS_SCALE_OUTER", "OBS_BOUNDS_SCALE_TO_WIDTH",
		// "OBS_BOUNDS_SCALE_TO_HEIGHT", "OBS_BOUNDS_MAX_ONLY" or "OBS_BOUNDS_NONE".
		Type string `json:"type"`
		// Alignment of the bounding box.
		Alignment int `json:"alignment"`
		// Width of the bounding box.
		X float64 `json:"x"`
		// Height of the bounding box.
		Y float64 `json:"y"`
	} `json:"bounds"`
	// Base width (without scaling) of the source
	SourceWidth int `json:"sourceWidth"`
	// Base source (without scaling) of the source
	SourceHeight int `json:"sourceHeight"`
	// Scene item width (base source width multiplied by the horizontal scaling
	// factor)
	Width float64 `json:"width"`
	// Scene item height (base source height multiplied by the vertical scaling
	// factor)
	Height float64 `json:"height"`
	// Name of the item's parent (if this item belongs to a group)
	ParentGroupName string `json:"parentGroupName,omitempty"`
	// List of children (if this item is a group)
	GroupChildren []SceneItemTransform `json:"groupChildren,omitempty"`
	// contains filtered or unexported fields
}

type GetSceneListRequest

type GetSceneListRequest struct {
	// contains filtered or unexported fields
}

Get a list of scenes in the currently active profile.

type GetSceneListResponse

type GetSceneListResponse struct {

	// Name of the currently active scene.
	CurrentScene string `json:"current-scene"`
	// Ordered list of the current profile's scenes (See
	// [GetCurrentScene](#getcurrentscene) for more information).
	Scenes []Scene `json:"scenes"`
	// contains filtered or unexported fields
}

type GetSceneTransitionOverrideRequest

type GetSceneTransitionOverrideRequest struct {

	// Name of the scene to switch to.
	SceneName string `json:"sceneName"`
	// contains filtered or unexported fields
}

Get the current scene transition override.

type GetSceneTransitionOverrideResponse

type GetSceneTransitionOverrideResponse struct {

	// Name of the current overriding transition. Empty string if no override is
	// set.
	TransitionName string `json:"transitionName"`
	// Transition duration. `-1` if no override is set.
	TransitionDuration int `json:"transitionDuration"`
	// contains filtered or unexported fields
}

type GetSourceActiveRequest

type GetSourceActiveRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Get the source's active status of a specified source (if it is showing in the final mix).

type GetSourceActiveResponse

type GetSourceActiveResponse struct {

	// Source active status of the source.
	SourceActive bool `json:"sourceActive"`
	// contains filtered or unexported fields
}

type GetSourceDefaultSettingsRequest

type GetSourceDefaultSettingsRequest struct {

	// Source kind. Also called "source id" in libobs terminology.
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}

Get the default settings for a given source type.

type GetSourceDefaultSettingsResponse

type GetSourceDefaultSettingsResponse struct {

	// Source kind. Same value as the `sourceKind` parameter.
	SourceKind string `json:"sourceKind"`
	// Settings object for source.
	DefaultSettings interface{} `json:"defaultSettings"`
	// contains filtered or unexported fields
}

type GetSourceFilterInfoRequest

type GetSourceFilterInfoRequest struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Source filter name
	FilterName string `json:"filterName"`
	// contains filtered or unexported fields
}

List filters applied to a source

type GetSourceFilterInfoResponse

type GetSourceFilterInfoResponse struct {

	// Filter status (enabled or not)
	Enabled bool `json:"enabled"`
	// Filter type
	Type string `json:"type"`
	// Filter name
	Name string `json:"name"`
	// Filter settings
	Settings interface{} `json:"settings"`
	// contains filtered or unexported fields
}

type GetSourceFiltersRequest

type GetSourceFiltersRequest struct {

	// Source name
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

List filters applied to a source

type GetSourceFiltersResponse

type GetSourceFiltersResponse struct {

	// List of filters for the specified source
	Filters []struct {
		// Filter status (enabled or not)
		Enabled bool `json:"enabled"`
		// Filter type
		Type string `json:"type"`
		// Filter name
		Name string `json:"name"`
		// Filter settings
		Settings interface{} `json:"settings"`
	} `json:"filters"`
	// contains filtered or unexported fields
}

type GetSourceSettingsRequest

type GetSourceSettingsRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// Type of the specified source. Useful for type-checking if you expect a
	// specific settings schema.
	SourceType string `json:"sourceType,omitempty"`
	// contains filtered or unexported fields
}

Get settings of the specified source

type GetSourceSettingsResponse

type GetSourceSettingsResponse struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Type of the specified source
	SourceType string `json:"sourceType"`
	// Source settings (varies between source types, may require some probing
	// around).
	SourceSettings interface{} `json:"sourceSettings"`
	// contains filtered or unexported fields
}

type GetSourceTypesListRequest

type GetSourceTypesListRequest struct {
	// contains filtered or unexported fields
}

Get a list of all available sources types

type GetSourceTypesListResponse

type GetSourceTypesListResponse struct {

	// Array of source types
	Types []struct {
		// Non-unique internal source type ID
		TypeId string `json:"typeId"`
		// Display name of the source type
		DisplayName string `json:"displayName"`
		// Type. Value is one of the following: "input", "filter", "transition" or
		// "other"
		Type string `json:"type"`
		// Default settings of this source type
		DefaultSettings interface{} `json:"defaultSettings"`
		// Source type capabilities
		Caps struct {
			// True if source of this type provide frames asynchronously
			IsAsync bool `json:"isAsync"`
			// True if sources of this type provide video
			HasVideo bool `json:"hasVideo"`
			// True if sources of this type provide audio
			HasAudio bool `json:"hasAudio"`
			// True if interaction with this sources of this type is possible
			CanInteract bool `json:"canInteract"`
			// True if sources of this type composite one or more sub-sources
			IsComposite bool `json:"isComposite"`
			// True if sources of this type should not be fully duplicated
			DoNotDuplicate bool `json:"doNotDuplicate"`
			// True if sources of this type may cause a feedback loop if it's audio is
			// monitored and shouldn't be
			DoNotSelfMonitor bool `json:"doNotSelfMonitor"`
		} `json:"caps"`
	} `json:"types"`
	// contains filtered or unexported fields
}

type GetSourcesListRequest

type GetSourcesListRequest struct {
	// contains filtered or unexported fields
}

List all sources available in the running OBS instance

type GetSourcesListResponse

type GetSourcesListResponse struct {

	// Array of sources
	Sources []struct {
		// Unique source name
		Name string `json:"name"`
		// Non-unique source internal type (a.k.a kind)
		TypeId string `json:"typeId"`
		// Source type. Value is one of the following: "input", "filter", "transition",
		// "scene" or "unknown"
		Type string `json:"type"`
	} `json:"sources"`
	// contains filtered or unexported fields
}

type GetSpecialSourcesRequest

type GetSpecialSourcesRequest struct {
	// contains filtered or unexported fields
}

Get configured special sources like Desktop Audio and Mic/Aux sources.

type GetSpecialSourcesResponse

type GetSpecialSourcesResponse struct {

	// Name of the first Desktop Audio capture source.
	Desktop1 string `json:"desktop-1,omitempty"`
	// Name of the second Desktop Audio capture source.
	Desktop2 string `json:"desktop-2,omitempty"`
	// Name of the first Mic/Aux input source.
	Mic1 string `json:"mic-1,omitempty"`
	// Name of the second Mic/Aux input source.
	Mic2 string `json:"mic-2,omitempty"`
	// NAme of the third Mic/Aux input source.
	Mic3 string `json:"mic-3,omitempty"`
	// contains filtered or unexported fields
}

type GetStatsRequest

type GetStatsRequest struct {
	// contains filtered or unexported fields
}

Get OBS stats (almost the same info as provided in OBS' stats window)

type GetStatsResponse

type GetStatsResponse struct {

	// [OBS stats](#obsstats)
	Stats OBSStats `json:"stats"`
	// contains filtered or unexported fields
}

type GetStreamSettingsRequest

type GetStreamSettingsRequest struct {
	// contains filtered or unexported fields
}

Get the current streaming server settings.

type GetStreamSettingsResponse

type GetStreamSettingsResponse struct {

	// The type of streaming service configuration. Possible values: 'rtmp_custom'
	// or 'rtmp_common'.
	Type string `json:"type"`
	// Stream settings object.
	Settings struct {
		// The publish URL.
		Server string `json:"server"`
		// The publish key of the stream.
		Key string `json:"key"`
		// Indicates whether authentication should be used when connecting to the
		// streaming server.
		UseAuth bool `json:"use_auth"`
		// The username to use when accessing the streaming server. Only present if
		// `use_auth` is `true`.
		Username string `json:"username"`
		// The password to use when accessing the streaming server. Only present if
		// `use_auth` is `true`.
		Password string `json:"password"`
	} `json:"settings"`
	// contains filtered or unexported fields
}

type GetStreamingStatusRequest

type GetStreamingStatusRequest struct {
	// contains filtered or unexported fields
}

Get current streaming and recording status.

type GetStreamingStatusResponse

type GetStreamingStatusResponse struct {

	// Current streaming status.
	Streaming bool `json:"streaming"`
	// Current recording status.
	Recording bool `json:"recording"`
	// If recording is paused.
	RecordingPaused bool `json:"recording-paused"`
	// Current virtual cam status.
	Virtualcam bool `json:"virtualcam"`
	// Always false. Retrocompatibility with OBSRemote.
	PreviewOnly bool `json:"preview-only"`
	// Time elapsed since streaming started (only present if currently streaming).
	StreamTimecode string `json:"stream-timecode,omitempty"`
	// Time elapsed since recording started (only present if currently recording).
	RecTimecode string `json:"rec-timecode,omitempty"`
	// Time elapsed since virtual cam started (only present if virtual cam currently
	// active).
	VirtualcamTimecode string `json:"virtualcam-timecode,omitempty"`
	// contains filtered or unexported fields
}

type GetStudioModeStatusRequest

type GetStudioModeStatusRequest struct {
	// contains filtered or unexported fields
}

Indicates if Studio Mode is currently enabled.

type GetStudioModeStatusResponse

type GetStudioModeStatusResponse struct {

	// Indicates if Studio Mode is enabled.
	StudioMode bool `json:"studio-mode"`
	// contains filtered or unexported fields
}

type GetSyncOffsetRequest

type GetSyncOffsetRequest struct {

	// Source name.
	Source string `json:"source"`
	// contains filtered or unexported fields
}

Get the audio sync offset of a specified source.

type GetSyncOffsetResponse

type GetSyncOffsetResponse struct {

	// Source name.
	Name string `json:"name"`
	// The audio sync offset (in nanoseconds).
	Offset int `json:"offset"`
	// contains filtered or unexported fields
}

type GetTextFreetype2PropertiesRequest

type GetTextFreetype2PropertiesRequest struct {

	// Source name.
	Source string `json:"source"`
	// contains filtered or unexported fields
}

Get the current properties of a Text Freetype 2 source.

type GetTextFreetype2PropertiesResponse

type GetTextFreetype2PropertiesResponse struct {

	// Source name
	Source string `json:"source"`
	// Gradient top color.
	Color1 int `json:"color1"`
	// Gradient bottom color.
	Color2 int `json:"color2"`
	// Custom width (0 to disable).
	CustomWidth int `json:"custom_width"`
	// Drop shadow.
	DropShadow bool `json:"drop_shadow"`
	// Holds data for the font. Ex: `"font": { "face": "Arial", "flags": 0, "size":
	// 150, "style": "" }`
	Font struct {
		// Font face.
		Face string `json:"face"`
		// Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5,
		// Strikeout=8`
		Flags int `json:"flags"`
		// Font text size.
		Size int `json:"size"`
		// Font Style (unknown function).
		Style string `json:"style"`
	} `json:"font"`
	// Read text from the specified file.
	FromFile bool `json:"from_file"`
	// Chat log.
	LogMode bool `json:"log_mode"`
	// Outline.
	Outline bool `json:"outline"`
	// Text content to be displayed.
	Text string `json:"text"`
	// File path.
	TextFile string `json:"text_file"`
	// Word wrap.
	WordWrap bool `json:"word_wrap"`
	// contains filtered or unexported fields
}

type GetTextGDIPlusPropertiesRequest

type GetTextGDIPlusPropertiesRequest struct {

	// Source name.
	Source string `json:"source"`
	// contains filtered or unexported fields
}

Get the current properties of a Text GDI Plus source.

type GetTextGDIPlusPropertiesResponse

type GetTextGDIPlusPropertiesResponse struct {

	// Source name.
	Source string `json:"source"`
	// Text Alignment ("left", "center", "right").
	Align string `json:"align"`
	// Background color.
	BkColor int `json:"bk_color"`
	// Background opacity (0-100).
	BkOpacity int `json:"bk_opacity"`
	// Chat log.
	Chatlog bool `json:"chatlog"`
	// Chat log lines.
	ChatlogLines int `json:"chatlog_lines"`
	// Text color.
	Color int `json:"color"`
	// Extents wrap.
	Extents bool `json:"extents"`
	// Extents cx.
	ExtentsCx int `json:"extents_cx"`
	// Extents cy.
	ExtentsCy int `json:"extents_cy"`
	// File path name.
	File string `json:"file"`
	// Read text from the specified file.
	ReadFromFile bool `json:"read_from_file"`
	// Holds data for the font. Ex: `"font": { "face": "Arial", "flags": 0, "size":
	// 150, "style": "" }`
	Font struct {
		// Font face.
		Face string `json:"face"`
		// Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5,
		// Strikeout=8`
		Flags int `json:"flags"`
		// Font text size.
		Size int `json:"size"`
		// Font Style (unknown function).
		Style string `json:"style"`
	} `json:"font"`
	// Gradient enabled.
	Gradient bool `json:"gradient"`
	// Gradient color.
	GradientColor int `json:"gradient_color"`
	// Gradient direction.
	GradientDir float32 `json:"gradient_dir"`
	// Gradient opacity (0-100).
	GradientOpacity int `json:"gradient_opacity"`
	// Outline.
	Outline bool `json:"outline"`
	// Outline color.
	OutlineColor int `json:"outline_color"`
	// Outline size.
	OutlineSize int `json:"outline_size"`
	// Outline opacity (0-100).
	OutlineOpacity int `json:"outline_opacity"`
	// Text content to be displayed.
	Text string `json:"text"`
	// Text vertical alignment ("top", "center", "bottom").
	Valign string `json:"valign"`
	// Vertical text enabled.
	Vertical bool `json:"vertical"`
	// contains filtered or unexported fields
}

type GetTransitionDurationRequest

type GetTransitionDurationRequest struct {
	// contains filtered or unexported fields
}

Get the duration of the currently selected transition if supported.

type GetTransitionDurationResponse

type GetTransitionDurationResponse struct {

	// Duration of the current transition (in milliseconds).
	TransitionDuration int `json:"transition-duration"`
	// contains filtered or unexported fields
}

type GetTransitionListRequest

type GetTransitionListRequest struct {
	// contains filtered or unexported fields
}

List of all transitions available in the frontend's dropdown menu.

type GetTransitionListResponse

type GetTransitionListResponse struct {

	// Name of the currently active transition.
	CurrentTransition string `json:"current-transition"`
	// List of transitions.
	Transitions []struct {
		// Name of the transition.
		Name string `json:"name"`
	} `json:"transitions"`
	// contains filtered or unexported fields
}

type GetTransitionPositionRequest

type GetTransitionPositionRequest struct {
	// contains filtered or unexported fields
}

Get the position of the current transition.

type GetTransitionPositionResponse

type GetTransitionPositionResponse struct {

	// current transition position. This value will be between 0.0 and 1.0. Note:
	// Transition returns 1.0 when not active.
	Position float64 `json:"position"`
	// contains filtered or unexported fields
}

type GetTransitionSettingsRequest

type GetTransitionSettingsRequest struct {

	// Transition name
	TransitionName string `json:"transitionName"`
	// contains filtered or unexported fields
}

Get the current settings of a transition

type GetTransitionSettingsResponse

type GetTransitionSettingsResponse struct {

	// Current transition settings
	TransitionSettings interface{} `json:"transitionSettings"`
	// contains filtered or unexported fields
}

type GetVersionRequest

type GetVersionRequest struct {
	// contains filtered or unexported fields
}

Returns the latest version of the plugin and the API.

type GetVersionResponse

type GetVersionResponse struct {

	// OBSRemote compatible API version. Fixed to 1.1 for retrocompatibility.
	Version float64 `json:"version"`
	// obs-websocket plugin version.
	ObsWebsocketVersion string `json:"obs-websocket-version"`
	// OBS Studio program version.
	ObsStudioVersion string `json:"obs-studio-version"`
	// List of available request types, formatted as a comma-separated list string
	// (e.g. : "Method1,Method2,Method3").
	AvailableRequests string `json:"available-requests"`
	// List of supported formats for features that use image export (like the
	// TakeSourceScreenshot request type) formatted as a comma-separated list string
	SupportedImageExportFormats string `json:"supported-image-export-formats"`
	// contains filtered or unexported fields
}

type GetVideoInfoRequest

type GetVideoInfoRequest struct {
	// contains filtered or unexported fields
}

Get basic OBS video information

type GetVideoInfoResponse

type GetVideoInfoResponse struct {

	// Base (canvas) width
	BaseWidth int `json:"baseWidth"`
	// Base (canvas) height
	BaseHeight int `json:"baseHeight"`
	// Output width
	OutputWidth int `json:"outputWidth"`
	// Output height
	OutputHeight int `json:"outputHeight"`
	// Scaling method used if output size differs from base size
	ScaleType string `json:"scaleType"`
	// Frames rendered per second
	Fps float64 `json:"fps"`
	// Video color format
	VideoFormat string `json:"videoFormat"`
	// Color space for YUV
	ColorSpace string `json:"colorSpace"`
	// Color range (full or partial)
	ColorRange string `json:"colorRange"`
	// contains filtered or unexported fields
}

type GetVirtualCamStatusRequest

type GetVirtualCamStatusRequest struct {
	// contains filtered or unexported fields
}

Get current virtual cam status.

type GetVirtualCamStatusResponse

type GetVirtualCamStatusResponse struct {

	// Current virtual camera status.
	IsVirtualCam bool `json:"isVirtualCam"`
	// Time elapsed since virtual cam started (only present if virtual cam currently
	// active).
	VirtualCamTimecode string `json:"virtualCamTimecode,omitempty"`
	// contains filtered or unexported fields
}

type GetVolumeRequest

type GetVolumeRequest struct {

	// Source name.
	Source string `json:"source"`
	// Output volume in decibels of attenuation instead of amplitude/mul.
	UseDecibel *bool `json:"useDecibel,omitempty"`
	// contains filtered or unexported fields
}

Get the volume of the specified source. Default response uses mul format, NOT SLIDER PERCENTAGE.

type GetVolumeResponse

type GetVolumeResponse struct {

	// Source name.
	Name string `json:"name"`
	// Volume of the source. Between `0.0` and `20.0` if using mul, under `26.0` if
	// using dB.
	Volume float64 `json:"volume"`
	// Indicates whether the source is muted.
	Muted bool `json:"muted"`
	// contains filtered or unexported fields
}

type HeartbeatEvent

type HeartbeatEvent struct {

	// Toggles between every JSON message as an "I am alive" indicator.
	Pulse bool `json:"pulse"`
	// Current active profile.
	CurrentProfile string `json:"current-profile,omitempty"`
	// Current active scene.
	CurrentScene string `json:"current-scene,omitempty"`
	// Current streaming state.
	Streaming *bool `json:"streaming,omitempty"`
	// Total time (in seconds) since the stream started.
	TotalStreamTime *int `json:"total-stream-time,omitempty"`
	// Total bytes sent since the stream started.
	TotalStreamBytes *int `json:"total-stream-bytes,omitempty"`
	// Total frames streamed since the stream started.
	TotalStreamFrames *int `json:"total-stream-frames,omitempty"`
	// Current recording state.
	Recording *bool `json:"recording,omitempty"`
	// Total time (in seconds) since recording started.
	TotalRecordTime *int `json:"total-record-time,omitempty"`
	// Total bytes recorded since the recording started.
	TotalRecordBytes *int `json:"total-record-bytes,omitempty"`
	// Total frames recorded since the recording started.
	TotalRecordFrames *int `json:"total-record-frames,omitempty"`
	// OBS Stats
	Stats OBSStats `json:"stats"`
	// contains filtered or unexported fields
}

Emitted every 2 seconds after enabling it by calling SetHeartbeat.

type ListOutputsRequest

type ListOutputsRequest struct {
	// contains filtered or unexported fields
}

List existing outputs

type ListOutputsResponse

type ListOutputsResponse struct {

	// Outputs list
	Outputs []Output `json:"outputs"`
	// contains filtered or unexported fields
}

type ListProfilesRequest

type ListProfilesRequest struct {
	// contains filtered or unexported fields
}

Get a list of available profiles.

type ListProfilesResponse

type ListProfilesResponse struct {

	// List of available profiles.
	Profiles []struct {
		// Filter name
		ProfileName string `json:"profile-name"`
	} `json:"profiles"`
	// contains filtered or unexported fields
}

type ListSceneCollectionsRequest

type ListSceneCollectionsRequest struct {
	// contains filtered or unexported fields
}

List available scene collections

type ListSceneCollectionsResponse

type ListSceneCollectionsResponse struct {

	// Scene collections list
	SceneCollections []ScenesCollection `json:"scene-collections"`
	// contains filtered or unexported fields
}

type MediaEndedEvent

type MediaEndedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}
Note: These events are emitted by the OBS sources themselves. For example

when the media file ends. The behavior depends on the type of media source being used.

type MediaNextEvent

type MediaNextEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}
Note: This event is only emitted when something actively controls the

media/VLC source. In other words, the source will never emit this on its own naturally.

type MediaPausedEvent

type MediaPausedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}
Note: This event is only emitted when something actively controls the

media/VLC source. In other words, the source will never emit this on its own naturally.

type MediaPlayingEvent

type MediaPlayingEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}
Note: This event is only emitted when something actively controls the

media/VLC source. In other words, the source will never emit this on its own naturally.

type MediaPreviousEvent

type MediaPreviousEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}
Note: This event is only emitted when something actively controls the

media/VLC source. In other words, the source will never emit this on its own naturally.

type MediaRestartedEvent

type MediaRestartedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}
Note: This event is only emitted when something actively controls the

media/VLC source. In other words, the source will never emit this on its own naturally.

type MediaStartedEvent

type MediaStartedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}
Note: These events are emitted by the OBS sources themselves. For example

when the media file starts playing. The behavior depends on the type of media source being used.

type MediaStoppedEvent

type MediaStoppedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}
Note: This event is only emitted when something actively controls the

media/VLC source. In other words, the source will never emit this on its own naturally.

type MoveSourceFilterRequest

type MoveSourceFilterRequest struct {

	// Name of the source to which the filter belongs
	SourceName string `json:"sourceName"`
	// Name of the filter to reorder
	FilterName string `json:"filterName"`
	// How to move the filter around in the source's filter chain. Either "up",
	// "down", "top" or "bottom".
	MovementType string `json:"movementType"`
	// contains filtered or unexported fields
}

Move a filter in the chain (relative positioning)

type MoveSourceFilterResponse

type MoveSourceFilterResponse struct {
	// contains filtered or unexported fields
}

type NextMediaRequest

type NextMediaRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Skip to the next media item in the playlist. Supports only vlc media source (as of OBS v25.0.8)

type NextMediaResponse

type NextMediaResponse struct {
	// contains filtered or unexported fields
}

type OBSStats

type OBSStats struct {
	// Current framerate.
	Fps float64
	// Number of frames rendered
	RenderTotalFrames int
	// Number of frames missed due to rendering lag
	RenderMissedFrames int
	// Number of frames outputted
	OutputTotalFrames int
	// Number of frames skipped due to encoding lag
	OutputSkippedFrames int
	// Average frame render time (in milliseconds)
	AverageFrameTime float64
	// Current CPU usage (percentage)
	CpuUsage float64
	// Current RAM usage (in megabytes)
	MemoryUsage float64
	// Free recording disk space (in megabytes)
	FreeDiskSpace float64
}

type OpenProjectorRequest

type OpenProjectorRequest struct {

	// Type of projector: `Preview` (default), `Source`, `Scene`, `StudioProgram`,
	// or `Multiview` (case insensitive).
	Type string `json:"type,omitempty"`
	// Monitor to open the projector on. If -1 or omitted, opens a window.
	Monitor *int `json:"monitor,omitempty"`
	// Size and position of the projector window (only if monitor is -1). Encoded in
	// Base64 using [Qt's geometry
	// encoding](https://doc.qt.io/qt-5/qwidget.html#saveGeometry). Corresponds to
	// OBS's saved projectors.
	Geometry string `json:"geometry,omitempty"`
	// Name of the source or scene to be displayed (ignored for other projector
	// types).
	Name string `json:"name,omitempty"`
	// contains filtered or unexported fields
}

Open a projector window or create a projector on a monitor. Requires OBS v24.0.4 or newer.

type OpenProjectorResponse

type OpenProjectorResponse struct {
	// contains filtered or unexported fields
}

type Output

type Output struct {
	// Output name
	Name string
	// Output type/kind
	Type string
	// Video output width
	Width int
	// Video output height
	Height int
	// Output flags
	Flags struct {
		// Raw flags value
		RawValue int `json:"rawValue"`
		// Output uses audio
		Audio bool `json:"audio"`
		// Output uses video
		Video bool `json:"video"`
		// Output is encoded
		Encoded bool `json:"encoded"`
		// Output uses several audio tracks
		MultiTrack bool `json:"multiTrack"`
		// Output uses a service
		Service bool `json:"service"`
	}
	// Output settings
	Settings interface{}
	// Output status (active or not)
	Active bool
	// Output reconnection status (reconnecting or not)
	Reconnecting bool
	// Output congestion
	Congestion float64
	// Number of frames sent
	TotalFrames int
	// Number of frames dropped
	DroppedFrames int
	// Total bytes sent
	TotalBytes int
}

type PauseRecordingRequest

type PauseRecordingRequest struct {
	// contains filtered or unexported fields
}

Pause the current recording. Returns an error if recording is not active or already paused.

type PauseRecordingResponse

type PauseRecordingResponse struct {
	// contains filtered or unexported fields
}

type PlayPauseMediaRequest

type PlayPauseMediaRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// (optional) Whether to pause or play the source. `false` for play, `true` for
	// pause.
	PlayPause bool `json:"playPause"`
	// contains filtered or unexported fields
}

Pause or play a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8) Note :Leaving out `playPause` toggles the current pause state

type PlayPauseMediaResponse

type PlayPauseMediaResponse struct {
	// contains filtered or unexported fields
}

type PreviewSceneChangedEvent

type PreviewSceneChangedEvent struct {

	// Name of the scene being previewed.
	SceneName string `json:"scene-name"`
	// List of sources composing the scene. Same specification as
	// [`GetCurrentScene`](#getcurrentscene).
	Sources []SceneItem `json:"sources"`
	// contains filtered or unexported fields
}

The selected preview scene has changed (only available in Studio Mode).

type PreviousMediaRequest

type PreviousMediaRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Go to the previous media item in the playlist. Supports only vlc media source (as of OBS v25.0.8)

type PreviousMediaResponse

type PreviousMediaResponse struct {
	// contains filtered or unexported fields
}

type ProfileChangedEvent

type ProfileChangedEvent struct {

	// Name of the new current profile.
	Profile string `json:"profile"`
	// contains filtered or unexported fields
}

Triggered when switching to another profile or when renaming the current profile.

type ProfileListChangedEvent

type ProfileListChangedEvent struct {

	// Profiles list.
	Profiles []struct {
		// Profile name.
		Name string `json:"name"`
	} `json:"profiles"`
	// contains filtered or unexported fields
}

Triggered when a profile is created, added, renamed, or removed.

type RecordingPausedEvent

type RecordingPausedEvent struct {
	// contains filtered or unexported fields
}

Current recording paused

type RecordingResumedEvent

type RecordingResumedEvent struct {
	// contains filtered or unexported fields
}

Current recording resumed

type RecordingStartedEvent

type RecordingStartedEvent struct {

	// Absolute path to the file of the current recording.
	RecordingFilename string `json:"recordingFilename"`
	// contains filtered or unexported fields
}

Recording started successfully.

type RecordingStartingEvent

type RecordingStartingEvent struct {
	// contains filtered or unexported fields
}
Note: `recordingFilename` is not provided in this event because this

information is not available at the time this event is emitted.

type RecordingStoppedEvent

type RecordingStoppedEvent struct {

	// Absolute path to the file of the current recording.
	RecordingFilename string `json:"recordingFilename"`
	// contains filtered or unexported fields
}

Recording stopped successfully.

type RecordingStoppingEvent

type RecordingStoppingEvent struct {

	// Absolute path to the file of the current recording.
	RecordingFilename string `json:"recordingFilename"`
	// contains filtered or unexported fields
}

A request to stop recording has been issued.

type RefreshBrowserSourceRequest

type RefreshBrowserSourceRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Refreshes the specified browser source.

type RefreshBrowserSourceResponse

type RefreshBrowserSourceResponse struct {
	// contains filtered or unexported fields
}

type ReleaseTBarRequest

type ReleaseTBarRequest struct {
	// contains filtered or unexported fields
}

Release the T-Bar (like a user releasing their mouse button after moving it). *YOU MUST CALL THIS if you called `SetTBarPosition` with the `release` parameter set to `false`.*

type ReleaseTBarResponse

type ReleaseTBarResponse struct {
	// contains filtered or unexported fields
}

type RemoveFilterFromSourceRequest

type RemoveFilterFromSourceRequest struct {

	// Name of the source from which the specified filter is removed
	SourceName string `json:"sourceName"`
	// Name of the filter to remove
	FilterName string `json:"filterName"`
	// contains filtered or unexported fields
}

Remove a filter from a source

type RemoveFilterFromSourceResponse

type RemoveFilterFromSourceResponse struct {
	// contains filtered or unexported fields
}

type RemoveSceneTransitionOverrideRequest

type RemoveSceneTransitionOverrideRequest struct {

	// Name of the scene to switch to.
	SceneName string `json:"sceneName"`
	// contains filtered or unexported fields
}

Remove any transition override on a scene.

type RemoveSceneTransitionOverrideResponse

type RemoveSceneTransitionOverrideResponse struct {
	// contains filtered or unexported fields
}

type ReorderSceneItemsItems added in v0.2.0

type ReorderSceneItemsItems struct {
	// Id of a specific scene item. Unique on a scene by scene basis.
	Id *int `json:"id,omitempty"`
	// Name of a scene item. Sufficiently unique if no scene items share sources
	// within the scene.
	Name string `json:"name,omitempty"`
}

type ReorderSceneItemsRequest

type ReorderSceneItemsRequest struct {

	// Name of the scene to reorder (defaults to current).
	Scene string `json:"scene,omitempty"`
	// Ordered list of objects with name and/or id specified. Id preferred due to
	// uniqueness per scene
	Items []ReorderSceneItemsItems `json:"items"`
	// contains filtered or unexported fields
}

Changes the order of scene items in the requested scene.

type ReorderSceneItemsResponse

type ReorderSceneItemsResponse struct {
	// contains filtered or unexported fields
}

type ReorderSourceFilterRequest

type ReorderSourceFilterRequest struct {

	// Name of the source to which the filter belongs
	SourceName string `json:"sourceName"`
	// Name of the filter to reorder
	FilterName string `json:"filterName"`
	// Desired position of the filter in the chain
	NewIndex int `json:"newIndex"`
	// contains filtered or unexported fields
}

Move a filter in the chain (absolute index positioning)

type ReorderSourceFilterResponse

type ReorderSourceFilterResponse struct {
	// contains filtered or unexported fields
}

type ReplayStartedEvent

type ReplayStartedEvent struct {
	// contains filtered or unexported fields
}

Replay Buffer started successfully

type ReplayStartingEvent

type ReplayStartingEvent struct {
	// contains filtered or unexported fields
}

A request to start the replay buffer has been issued.

type ReplayStoppedEvent

type ReplayStoppedEvent struct {
	// contains filtered or unexported fields
}

Replay Buffer stopped successfully

type ReplayStoppingEvent

type ReplayStoppingEvent struct {
	// contains filtered or unexported fields
}

A request to stop the replay buffer has been issued.

type ResetSceneItemItem added in v0.2.0

type ResetSceneItemItem struct {
	// Scene Item name (if the `item` field is an object)
	Name string `json:"name,omitempty"`
	// Scene Item ID (if the `item` field is an object)
	Id *int `json:"id,omitempty"`
}

type ResetSceneItemRequest

type ResetSceneItemRequest struct {

	// Name of the scene the scene item belongs to. Defaults to the current scene.
	SceneName string `json:"scene-name,omitempty"`
	// Scene Item name (if this field is a string) or specification (if it is an
	// object).
	Item ResetSceneItemItem `json:"item"`
	// contains filtered or unexported fields
}

Reset a scene item.

type ResetSceneItemResponse

type ResetSceneItemResponse struct {
	// contains filtered or unexported fields
}

type RestartMediaRequest

type RestartMediaRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Restart a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)

type RestartMediaResponse

type RestartMediaResponse struct {
	// contains filtered or unexported fields
}

type ResumeRecordingRequest

type ResumeRecordingRequest struct {
	// contains filtered or unexported fields
}

Resume/unpause the current recording (if paused). Returns an error if recording is not active or not paused.

type ResumeRecordingResponse

type ResumeRecordingResponse struct {
	// contains filtered or unexported fields
}

type SaveReplayBufferRequest

type SaveReplayBufferRequest struct {
	// contains filtered or unexported fields
}

Flush and save the contents of the Replay Buffer to disk. This is basically the same as triggering the "Save Replay Buffer" hotkey. Will return an `error` if the Replay Buffer is not active.

type SaveReplayBufferResponse

type SaveReplayBufferResponse struct {
	// contains filtered or unexported fields
}

type SaveStreamSettingsRequest

type SaveStreamSettingsRequest struct {
	// contains filtered or unexported fields
}

Save the current streaming server settings to disk.

type SaveStreamSettingsResponse

type SaveStreamSettingsResponse struct {
	// contains filtered or unexported fields
}

type Scene

type Scene struct {
	// Name of the currently active scene.
	Name string
	// Ordered list of the current scene's source items.
	Sources []SceneItem
}

type SceneCollectionChangedEvent

type SceneCollectionChangedEvent struct {

	// Name of the new current scene collection.
	SceneCollection string `json:"sceneCollection"`
	// contains filtered or unexported fields
}

Triggered when switching to another scene collection or when renaming the current scene collection.

type SceneCollectionListChangedEvent

type SceneCollectionListChangedEvent struct {

	// Scene collections list.
	SceneCollections []struct {
		// Scene collection name.
		Name string `json:"name"`
	} `json:"sceneCollections"`
	// contains filtered or unexported fields
}

Triggered when a scene collection is created, added, renamed, or removed.

type SceneItem

type SceneItem struct {
	Cy float64
	Cx float64
	// The point on the source that the item is manipulated from. The sum of 1=Left
	// or 2=Right, and 4=Top or 8=Bottom, or omit to center on that axis.
	Alignment float64
	// The name of this Scene Item.
	Name string
	// Scene item ID
	Id int
	// Whether or not this Scene Item is set to "visible".
	Render bool
	// Whether or not this Scene Item is muted.
	Muted bool
	// Whether or not this Scene Item is locked and can't be moved around
	Locked   bool
	SourceCx float64
	SourceCy float64
	// Source type. Value is one of the following: "input", "filter", "transition",
	// "scene" or "unknown"
	Type   string
	Volume float64
	X      float64
	Y      float64
	// Name of the item's parent (if this item belongs to a group)
	ParentGroupName string
	// List of children (if this item is a group)
	GroupChildren []SceneItem
}

An OBS Scene Item.

type SceneItemAddedEvent

type SceneItemAddedEvent struct {

	// Name of the scene.
	SceneName string `json:"scene-name"`
	// Name of the item added to the scene.
	ItemName string `json:"item-name"`
	// Scene item ID
	ItemId int `json:"item-id"`
	// contains filtered or unexported fields
}

A scene item has been added to a scene.

type SceneItemDeselectedEvent

type SceneItemDeselectedEvent struct {

	// Name of the scene.
	SceneName string `json:"scene-name"`
	// Name of the item in the scene.
	ItemName string `json:"item-name"`
	// Name of the item in the scene.
	ItemId int `json:"item-id"`
	// contains filtered or unexported fields
}

A scene item is deselected.

type SceneItemLockChangedEvent

type SceneItemLockChangedEvent struct {

	// Name of the scene.
	SceneName string `json:"scene-name"`
	// Name of the item in the scene.
	ItemName string `json:"item-name"`
	// Scene item ID
	ItemId int `json:"item-id"`
	// New locked state of the item.
	ItemLocked bool `json:"item-locked"`
	// contains filtered or unexported fields
}

A scene item's locked status has been toggled.

type SceneItemRemovedEvent

type SceneItemRemovedEvent struct {

	// Name of the scene.
	SceneName string `json:"scene-name"`
	// Name of the item removed from the scene.
	ItemName string `json:"item-name"`
	// Scene item ID
	ItemId int `json:"item-id"`
	// contains filtered or unexported fields
}

A scene item has been removed from a scene.

type SceneItemSelectedEvent

type SceneItemSelectedEvent struct {

	// Name of the scene.
	SceneName string `json:"scene-name"`
	// Name of the item in the scene.
	ItemName string `json:"item-name"`
	// Name of the item in the scene.
	ItemId int `json:"item-id"`
	// contains filtered or unexported fields
}

A scene item is selected.

type SceneItemTransform

type SceneItemTransform struct {
	// The x position of the scene item from the left.
	Position struct {
		// The x position of the scene item from the left.
		X float64 `json:"x"`
		// The y position of the scene item from the top.
		Y float64 `json:"y"`
		// The point on the scene item that the item is manipulated from.
		Alignment int `json:"alignment"`
	}
	// The clockwise rotation of the scene item in degrees around the point of
	// alignment.
	Rotation float64
	// The x-scale factor of the scene item.
	Scale struct {
		// The x-scale factor of the scene item.
		X float64 `json:"x"`
		// The y-scale factor of the scene item.
		Y float64 `json:"y"`
		// The scale filter of the source. Can be "OBS_SCALE_DISABLE",
		// "OBS_SCALE_POINT", "OBS_SCALE_BICUBIC", "OBS_SCALE_BILINEAR",
		// "OBS_SCALE_LANCZOS" or "OBS_SCALE_AREA".
		Filter string `json:"filter"`
	}
	// The number of pixels cropped off the top of the scene item before scaling.
	Crop struct {
		// The number of pixels cropped off the top of the scene item before scaling.
		Top int `json:"top"`
		// The number of pixels cropped off the right of the scene item before scaling.
		Right int `json:"right"`
		// The number of pixels cropped off the bottom of the scene item before scaling.
		Bottom int `json:"bottom"`
		// The number of pixels cropped off the left of the scene item before scaling.
		Left int `json:"left"`
	}
	// If the scene item is visible.
	Visible bool
	// If the scene item is locked in position.
	Locked bool
	// Type of bounding box. Can be "OBS_BOUNDS_STRETCH", "OBS_BOUNDS_SCALE_INNER",
	// "OBS_BOUNDS_SCALE_OUTER", "OBS_BOUNDS_SCALE_TO_WIDTH",
	// "OBS_BOUNDS_SCALE_TO_HEIGHT", "OBS_BOUNDS_MAX_ONLY" or "OBS_BOUNDS_NONE".
	Bounds struct {
		// Type of bounding box. Can be "OBS_BOUNDS_STRETCH", "OBS_BOUNDS_SCALE_INNER",
		// "OBS_BOUNDS_SCALE_OUTER", "OBS_BOUNDS_SCALE_TO_WIDTH",
		// "OBS_BOUNDS_SCALE_TO_HEIGHT", "OBS_BOUNDS_MAX_ONLY" or "OBS_BOUNDS_NONE".
		Type string `json:"type"`
		// Alignment of the bounding box.
		Alignment int `json:"alignment"`
		// Width of the bounding box.
		X float64 `json:"x"`
		// Height of the bounding box.
		Y float64 `json:"y"`
	}
	// Base width (without scaling) of the source
	SourceWidth int
	// Base source (without scaling) of the source
	SourceHeight int
	// Scene item width (base source width multiplied by the horizontal scaling
	// factor)
	Width float64
	// Scene item height (base source height multiplied by the vertical scaling
	// factor)
	Height float64
	// Name of the item's parent (if this item belongs to a group)
	ParentGroupName string
	// List of children (if this item is a group)
	GroupChildren []SceneItemTransform
}

type SceneItemTransformChangedEvent

type SceneItemTransformChangedEvent struct {

	// Name of the scene.
	SceneName string `json:"scene-name"`
	// Name of the item in the scene.
	ItemName string `json:"item-name"`
	// Scene item ID
	ItemId int `json:"item-id"`
	// Scene item transform properties
	Transform SceneItemTransform `json:"transform"`
	// contains filtered or unexported fields
}

A scene item's transform has been changed.

type SceneItemVisibilityChangedEvent

type SceneItemVisibilityChangedEvent struct {

	// Name of the scene.
	SceneName string `json:"scene-name"`
	// Name of the item in the scene.
	ItemName string `json:"item-name"`
	// Scene item ID
	ItemId int `json:"item-id"`
	// New visibility state of the item.
	ItemVisible bool `json:"item-visible"`
	// contains filtered or unexported fields
}

A scene item's visibility has been toggled.

type ScenesChangedEvent

type ScenesChangedEvent struct {

	// Scenes list.
	Scenes []Scene `json:"scenes"`
	// contains filtered or unexported fields
}

Note: This event is not fired when the scenes are reordered.

type ScenesCollection

type ScenesCollection struct {
	// Name of the scene collection
	ScName string
}

type ScrubMediaRequest

type ScrubMediaRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// Millisecond offset (positive or negative) to offset the current media
	// position.
	TimeOffset int `json:"timeOffset"`
	// contains filtered or unexported fields
}

Scrub media using a supplied offset. Supports ffmpeg and vlc media sources (as of OBS v25.0.8) Note: Due to processing/network delays, this request is not perfect. The processing rate of this request has also not been tested.

type ScrubMediaResponse

type ScrubMediaResponse struct {
	// contains filtered or unexported fields
}

type SendCaptionsRequest

type SendCaptionsRequest struct {

	// Captions text
	Text string `json:"text"`
	// contains filtered or unexported fields
}

Send the provided text as embedded CEA-608 caption data.

type SendCaptionsResponse

type SendCaptionsResponse struct {
	// contains filtered or unexported fields
}

type SetAudioMonitorTypeRequest

type SetAudioMonitorTypeRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// The monitor type to use. Options: `none`, `monitorOnly`, `monitorAndOutput`.
	MonitorType string `json:"monitorType"`
	// contains filtered or unexported fields
}

Set the audio monitoring type of the specified source.

type SetAudioMonitorTypeResponse

type SetAudioMonitorTypeResponse struct {
	// contains filtered or unexported fields
}

type SetAudioTracksRequest

type SetAudioTracksRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// Audio tracks 1-6.
	Track int `json:"track"`
	// Whether audio track is active or not.
	Active bool `json:"active"`
	// contains filtered or unexported fields
}

Changes whether an audio track is active for a source.

type SetAudioTracksResponse

type SetAudioTracksResponse struct {
	// contains filtered or unexported fields
}

type SetBrowserSourcePropertiesRequest deprecated

type SetBrowserSourcePropertiesRequest struct {

	// Name of the source.
	Source string `json:"source"`
	// Indicates that a local file is in use.
	IsLocalFile *bool `json:"is_local_file,omitempty"`
	// file path.
	LocalFile string `json:"local_file,omitempty"`
	// Url.
	Url string `json:"url,omitempty"`
	// CSS to inject.
	Css string `json:"css,omitempty"`
	// Width.
	Width *int `json:"width,omitempty"`
	// Height.
	Height *int `json:"height,omitempty"`
	// Framerate.
	Fps *int `json:"fps,omitempty"`
	// Indicates whether the source should be shutdown when not visible.
	Shutdown *bool `json:"shutdown,omitempty"`
	// Visibility of the scene item.
	Render *bool `json:"render,omitempty"`
	// contains filtered or unexported fields
}

Set current properties for a Browser Source.

Deprecated: Since 4.8.0. Prefer the use of SetSourceSettings. Will be removed in v5.0.0

type SetBrowserSourcePropertiesResponse

type SetBrowserSourcePropertiesResponse struct {
	// contains filtered or unexported fields
}

type SetCurrentProfileRequest

type SetCurrentProfileRequest struct {

	// Name of the desired profile.
	ProfileName string `json:"profile-name"`
	// contains filtered or unexported fields
}

Set the currently active profile.

type SetCurrentProfileResponse

type SetCurrentProfileResponse struct {
	// contains filtered or unexported fields
}

type SetCurrentSceneCollectionRequest

type SetCurrentSceneCollectionRequest struct {

	// Name of the desired scene collection.
	ScName string `json:"sc-name"`
	// contains filtered or unexported fields
}

Change the active scene collection.

type SetCurrentSceneCollectionResponse

type SetCurrentSceneCollectionResponse struct {
	// contains filtered or unexported fields
}

type SetCurrentSceneRequest

type SetCurrentSceneRequest struct {

	// Name of the scene to switch to.
	SceneName string `json:"scene-name"`
	// contains filtered or unexported fields
}

Switch to the specified scene.

type SetCurrentSceneResponse

type SetCurrentSceneResponse struct {
	// contains filtered or unexported fields
}

type SetCurrentTransitionRequest

type SetCurrentTransitionRequest struct {

	// The name of the transition.
	TransitionName string `json:"transition-name"`
	// contains filtered or unexported fields
}

Set the active transition.

type SetCurrentTransitionResponse

type SetCurrentTransitionResponse struct {
	// contains filtered or unexported fields
}

type SetFilenameFormattingRequest

type SetFilenameFormattingRequest struct {

	// Filename formatting string to set.
	FilenameFormatting string `json:"filename-formatting"`
	// contains filtered or unexported fields
}

Set the filename formatting string

type SetFilenameFormattingResponse

type SetFilenameFormattingResponse struct {
	// contains filtered or unexported fields
}

type SetHeartbeatRequest deprecated

type SetHeartbeatRequest struct {

	// Starts/Stops emitting heartbeat messages
	Enable bool `json:"enable"`
	// contains filtered or unexported fields
}

Enable/disable sending of the Heartbeat event

Deprecated: Since 4.9.0. Please poll the appropriate data using requests. Will be removed in v5.0.0.

type SetHeartbeatResponse

type SetHeartbeatResponse struct {
	// contains filtered or unexported fields
}

type SetMediaTimeRequest

type SetMediaTimeRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// Milliseconds to set the timestamp to.
	Timestamp int `json:"timestamp"`
	// contains filtered or unexported fields
}

Set the timestamp of a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)

type SetMediaTimeResponse

type SetMediaTimeResponse struct {
	// contains filtered or unexported fields
}

type SetMuteRequest

type SetMuteRequest struct {

	// Source name.
	Source string `json:"source"`
	// Desired mute status.
	Mute bool `json:"mute"`
	// contains filtered or unexported fields
}

Sets the mute status of a specified source.

type SetMuteResponse

type SetMuteResponse struct {
	// contains filtered or unexported fields
}

type SetPreviewSceneRequest

type SetPreviewSceneRequest struct {

	// The name of the scene to preview.
	SceneName string `json:"scene-name"`
	// contains filtered or unexported fields
}

Set the active preview scene. Will return an `error` if Studio Mode is not enabled.

type SetPreviewSceneResponse

type SetPreviewSceneResponse struct {
	// contains filtered or unexported fields
}

type SetRecordingFolderRequest

type SetRecordingFolderRequest struct {

	// Path of the recording folder.
	RecFolder string `json:"rec-folder"`
	// contains filtered or unexported fields
}
Note: If `SetRecordingFolder` is called while a recording is in progress,

the change won't be applied immediately and will be effective on the next recording.

type SetRecordingFolderResponse

type SetRecordingFolderResponse struct {
	// contains filtered or unexported fields
}

type SetSceneItemCropRequest deprecated

type SetSceneItemCropRequest struct {

	// Name of the scene the scene item belongs to. Defaults to the current scene.
	SceneName string `json:"scene-name,omitempty"`
	// Scene Item name.
	Item string `json:"item"`
	// Pixel position of the top of the source item.
	Top int `json:"top"`
	// Pixel position of the bottom of the source item.
	Bottom int `json:"bottom"`
	// Pixel position of the left of the source item.
	Left int `json:"left"`
	// Pixel position of the right of the source item.
	Right int `json:"right"`
	// contains filtered or unexported fields
}

Sets the crop coordinates of the specified source item.

Deprecated: Since 4.3.0. Prefer the use of SetSceneItemProperties.

type SetSceneItemCropResponse

type SetSceneItemCropResponse struct {
	// contains filtered or unexported fields
}

type SetSceneItemPositionRequest deprecated

type SetSceneItemPositionRequest struct {

	// Name of the scene the scene item belongs to. Defaults to the current scene.
	SceneName string `json:"scene-name,omitempty"`
	// Scene Item name.
	Item string `json:"item"`
	// X coordinate.
	X float64 `json:"x"`
	// Y coordinate.
	Y float64 `json:"y"`
	// contains filtered or unexported fields
}

Sets the coordinates of a specified source item.

Deprecated: Since 4.3.0. Prefer the use of SetSceneItemProperties.

type SetSceneItemPositionResponse

type SetSceneItemPositionResponse struct {
	// contains filtered or unexported fields
}

type SetSceneItemPropertiesBounds added in v0.2.0

type SetSceneItemPropertiesBounds struct {
	// The new bounds type of the source. Can be "OBS_BOUNDS_STRETCH",
	// "OBS_BOUNDS_SCALE_INNER", "OBS_BOUNDS_SCALE_OUTER",
	// "OBS_BOUNDS_SCALE_TO_WIDTH", "OBS_BOUNDS_SCALE_TO_HEIGHT",
	// "OBS_BOUNDS_MAX_ONLY" or "OBS_BOUNDS_NONE".
	Type string `json:"type,omitempty"`
	// The new alignment of the bounding box. (0-2, 4-6, 8-10)
	Alignment *int `json:"alignment,omitempty"`
	// The new width of the bounding box.
	X *float64 `json:"x,omitempty"`
	// The new height of the bounding box.
	Y *float64 `json:"y,omitempty"`
}

type SetSceneItemPropertiesCrop added in v0.2.0

type SetSceneItemPropertiesCrop struct {
	// The new amount of pixels cropped off the top of the source before scaling.
	Top *int `json:"top,omitempty"`
	// The new amount of pixels cropped off the bottom of the source before scaling.
	Bottom *int `json:"bottom,omitempty"`
	// The new amount of pixels cropped off the left of the source before scaling.
	Left *int `json:"left,omitempty"`
	// The new amount of pixels cropped off the right of the source before scaling.
	Right *int `json:"right,omitempty"`
}

type SetSceneItemPropertiesItem added in v0.2.0

type SetSceneItemPropertiesItem struct {
	// Scene Item name (if the `item` field is an object)
	Name string `json:"name,omitempty"`
	// Scene Item ID (if the `item` field is an object)
	Id *int `json:"id,omitempty"`
}

type SetSceneItemPropertiesPosition added in v0.2.0

type SetSceneItemPropertiesPosition struct {
	// The new x position of the source.
	X *float64 `json:"x,omitempty"`
	// The new y position of the source.
	Y *float64 `json:"y,omitempty"`
	// The new alignment of the source.
	Alignment *int `json:"alignment,omitempty"`
}

type SetSceneItemPropertiesRequest

type SetSceneItemPropertiesRequest struct {

	// Name of the scene the source item belongs to. Defaults to the current scene.
	SceneName string `json:"scene-name,omitempty"`
	// Scene Item name (if this field is a string) or specification (if it is an
	// object).
	Item SetSceneItemPropertiesItem `json:"item"`
	// The new x position of the source.
	Position SetSceneItemPropertiesPosition `json:"position"`
	// The new clockwise rotation of the item in degrees.
	Rotation *float64 `json:"rotation,omitempty"`
	// The new x scale of the item.
	Scale SetSceneItemPropertiesScale `json:"scale"`
	// The new amount of pixels cropped off the top of the source before scaling.
	Crop SetSceneItemPropertiesCrop `json:"crop"`
	// The new visibility of the source. 'true' shows source, 'false' hides source.
	Visible *bool `json:"visible,omitempty"`
	// The new locked status of the source. 'true' keeps it in its current position,
	// 'false' allows movement.
	Locked *bool `json:"locked,omitempty"`
	// The new bounds type of the source. Can be "OBS_BOUNDS_STRETCH",
	// "OBS_BOUNDS_SCALE_INNER", "OBS_BOUNDS_SCALE_OUTER",
	// "OBS_BOUNDS_SCALE_TO_WIDTH", "OBS_BOUNDS_SCALE_TO_HEIGHT",
	// "OBS_BOUNDS_MAX_ONLY" or "OBS_BOUNDS_NONE".
	Bounds SetSceneItemPropertiesBounds `json:"bounds"`
	// contains filtered or unexported fields
}

Sets the scene specific properties of a source. Unspecified properties will remain unchanged. Coordinates are relative to the item's parent (the scene or group it belongs to).

type SetSceneItemPropertiesResponse

type SetSceneItemPropertiesResponse struct {
	// contains filtered or unexported fields
}

type SetSceneItemPropertiesScale added in v0.2.0

type SetSceneItemPropertiesScale struct {
	// The new x scale of the item.
	X *float64 `json:"x,omitempty"`
	// The new y scale of the item.
	Y *float64 `json:"y,omitempty"`
	// The new scale filter of the source. Can be "OBS_SCALE_DISABLE",
	// "OBS_SCALE_POINT", "OBS_SCALE_BICUBIC", "OBS_SCALE_BILINEAR",
	// "OBS_SCALE_LANCZOS" or "OBS_SCALE_AREA".
	Filter string `json:"filter,omitempty"`
}

type SetSceneItemRenderRequest

type SetSceneItemRenderRequest struct {

	// Name of the scene the scene item belongs to. Defaults to the currently active
	// scene.
	SceneName string `json:"scene-name,omitempty"`
	// Scene Item name.
	Source string `json:"source,omitempty"`
	// Scene Item id
	Item *int `json:"item,omitempty"`
	// true = shown ; false = hidden
	Render bool `json:"render"`
	// contains filtered or unexported fields
}

Show or hide a specified source item in a specified scene.

type SetSceneItemRenderResponse

type SetSceneItemRenderResponse struct {
	// contains filtered or unexported fields
}

type SetSceneItemTransformRequest deprecated

type SetSceneItemTransformRequest struct {

	// Name of the scene the scene item belongs to. Defaults to the current scene.
	SceneName string `json:"scene-name,omitempty"`
	// Scene Item name.
	Item string `json:"item"`
	// Width scale factor.
	XScale float64 `json:"x-scale"`
	// Height scale factor.
	YScale float64 `json:"y-scale"`
	// Source item rotation (in degrees).
	Rotation float64 `json:"rotation"`
	// contains filtered or unexported fields
}

Set the transform of the specified source item.

Deprecated: Since 4.3.0. Prefer the use of SetSceneItemProperties.

type SetSceneItemTransformResponse

type SetSceneItemTransformResponse struct {
	// contains filtered or unexported fields
}

type SetSceneTransitionOverrideRequest

type SetSceneTransitionOverrideRequest struct {

	// Name of the scene to switch to.
	SceneName string `json:"sceneName"`
	// Name of the transition to use.
	TransitionName string `json:"transitionName"`
	// Duration in milliseconds of the transition if transition is not fixed.
	// Defaults to the current duration specified in the UI if there is no current
	// override and this value is not given.
	TransitionDuration *int `json:"transitionDuration,omitempty"`
	// contains filtered or unexported fields
}

Set a scene to use a specific transition override.

type SetSceneTransitionOverrideResponse

type SetSceneTransitionOverrideResponse struct {
	// contains filtered or unexported fields
}

type SetSourceFilterSettingsRequest

type SetSourceFilterSettingsRequest struct {

	// Name of the source to which the filter belongs
	SourceName string `json:"sourceName"`
	// Name of the filter to reconfigure
	FilterName string `json:"filterName"`
	// New settings. These will be merged to the current filter settings.
	FilterSettings interface{} `json:"filterSettings"`
	// contains filtered or unexported fields
}

Update settings of a filter

type SetSourceFilterSettingsResponse

type SetSourceFilterSettingsResponse struct {
	// contains filtered or unexported fields
}

type SetSourceFilterVisibilityRequest

type SetSourceFilterVisibilityRequest struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Source filter name
	FilterName string `json:"filterName"`
	// New filter state
	FilterEnabled bool `json:"filterEnabled"`
	// contains filtered or unexported fields
}

Change the visibility/enabled state of a filter

type SetSourceFilterVisibilityResponse

type SetSourceFilterVisibilityResponse struct {
	// contains filtered or unexported fields
}

type SetSourceNameRequest

type SetSourceNameRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// New source name.
	NewName string `json:"newName"`
	// contains filtered or unexported fields
}
Note: If the new name already exists as a source, obs-websocket will return

an error.

type SetSourceNameResponse

type SetSourceNameResponse struct {
	// contains filtered or unexported fields
}

type SetSourceSettingsRequest

type SetSourceSettingsRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// Type of the specified source. Useful for type-checking to avoid settings a
	// set of settings incompatible with the actual source's type.
	SourceType string `json:"sourceType,omitempty"`
	// Source settings (varies between source types, may require some probing
	// around).
	SourceSettings interface{} `json:"sourceSettings"`
	// contains filtered or unexported fields
}

Set settings of the specified source.

type SetSourceSettingsResponse

type SetSourceSettingsResponse struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Type of the specified source
	SourceType string `json:"sourceType"`
	// Updated source settings
	SourceSettings interface{} `json:"sourceSettings"`
	// contains filtered or unexported fields
}

type SetStreamSettingsRequest

type SetStreamSettingsRequest struct {

	// The type of streaming service configuration, usually `rtmp_custom` or
	// `rtmp_common`.
	Type string `json:"type"`
	// The actual settings of the stream.
	Settings SetStreamSettingsSettings `json:"settings"`
	// Persist the settings to disk.
	Save bool `json:"save"`
	// contains filtered or unexported fields
}

Sets one or more attributes of the current streaming server settings. Any options not passed will remain unchanged. Returns the updated settings in response. If 'type' is different than the current streaming service type, all settings are required. Returns the full settings of the stream (the same as GetStreamSettings).

type SetStreamSettingsResponse

type SetStreamSettingsResponse struct {
	// contains filtered or unexported fields
}

type SetStreamSettingsSettings added in v0.2.0

type SetStreamSettingsSettings struct {
	// The publish URL.
	Server string `json:"server,omitempty"`
	// The publish key.
	Key string `json:"key,omitempty"`
	// Indicates whether authentication should be used when connecting to the
	// streaming server.
	UseAuth *bool `json:"use_auth,omitempty"`
	// The username for the streaming service.
	Username string `json:"username,omitempty"`
	// The password for the streaming service.
	Password string `json:"password,omitempty"`
}

type SetSyncOffsetRequest

type SetSyncOffsetRequest struct {

	// Source name.
	Source string `json:"source"`
	// The desired audio sync offset (in nanoseconds).
	Offset int `json:"offset"`
	// contains filtered or unexported fields
}

Set the audio sync offset of a specified source.

type SetSyncOffsetResponse

type SetSyncOffsetResponse struct {
	// contains filtered or unexported fields
}

type SetTBarPositionRequest

type SetTBarPositionRequest struct {

	// T-Bar position. This value must be between 0.0 and 1.0.
	Position float64 `json:"position"`
	// Whether or not the T-Bar gets released automatically after setting its new
	// position (like a user releasing their mouse button after moving the T-Bar).
	// Call `ReleaseTBar` manually if you set `release` to false. Defaults to true.
	Release *bool `json:"release,omitempty"`
	// contains filtered or unexported fields
}
If your code needs to perform multiple successive T-Bar moves (e.g. : in an

animation, or in response to a user moving a T-Bar control in your User Interface), set `release` to false and call `ReleaseTBar` later once the animation/interaction is over.

type SetTBarPositionResponse

type SetTBarPositionResponse struct {
	// contains filtered or unexported fields
}

type SetTextFreetype2PropertiesFont added in v0.2.0

type SetTextFreetype2PropertiesFont struct {
	// Font face.
	Face string `json:"face,omitempty"`
	// Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5,
	// Strikeout=8`
	Flags *int `json:"flags,omitempty"`
	// Font text size.
	Size *int `json:"size,omitempty"`
	// Font Style (unknown function).
	Style string `json:"style,omitempty"`
}

type SetTextFreetype2PropertiesRequest

type SetTextFreetype2PropertiesRequest struct {

	// Source name.
	Source string `json:"source"`
	// Gradient top color.
	Color1 *int `json:"color1,omitempty"`
	// Gradient bottom color.
	Color2 *int `json:"color2,omitempty"`
	// Custom width (0 to disable).
	CustomWidth *int `json:"custom_width,omitempty"`
	// Drop shadow.
	DropShadow *bool `json:"drop_shadow,omitempty"`
	// Holds data for the font. Ex: `"font": { "face": "Arial", "flags": 0, "size":
	// 150, "style": "" }`
	Font SetTextFreetype2PropertiesFont `json:"font"`
	// Read text from the specified file.
	FromFile *bool `json:"from_file,omitempty"`
	// Chat log.
	LogMode *bool `json:"log_mode,omitempty"`
	// Outline.
	Outline *bool `json:"outline,omitempty"`
	// Text content to be displayed.
	Text string `json:"text,omitempty"`
	// File path.
	TextFile string `json:"text_file,omitempty"`
	// Word wrap.
	WordWrap *bool `json:"word_wrap,omitempty"`
	// contains filtered or unexported fields
}

Set the current properties of a Text Freetype 2 source.

type SetTextFreetype2PropertiesResponse

type SetTextFreetype2PropertiesResponse struct {
	// contains filtered or unexported fields
}

type SetTextGDIPlusPropertiesFont added in v0.2.0

type SetTextGDIPlusPropertiesFont struct {
	// Font face.
	Face string `json:"face,omitempty"`
	// Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5,
	// Strikeout=8`
	Flags *int `json:"flags,omitempty"`
	// Font text size.
	Size *int `json:"size,omitempty"`
	// Font Style (unknown function).
	Style string `json:"style,omitempty"`
}

type SetTextGDIPlusPropertiesRequest

type SetTextGDIPlusPropertiesRequest struct {

	// Name of the source.
	Source string `json:"source"`
	// Text Alignment ("left", "center", "right").
	Align string `json:"align,omitempty"`
	// Background color.
	BkColor *int `json:"bk_color,omitempty"`
	// Background opacity (0-100).
	BkOpacity *int `json:"bk_opacity,omitempty"`
	// Chat log.
	Chatlog *bool `json:"chatlog,omitempty"`
	// Chat log lines.
	ChatlogLines *int `json:"chatlog_lines,omitempty"`
	// Text color.
	Color *int `json:"color,omitempty"`
	// Extents wrap.
	Extents *bool `json:"extents,omitempty"`
	// Extents cx.
	ExtentsCx *int `json:"extents_cx,omitempty"`
	// Extents cy.
	ExtentsCy *int `json:"extents_cy,omitempty"`
	// File path name.
	File string `json:"file,omitempty"`
	// Read text from the specified file.
	ReadFromFile *bool `json:"read_from_file,omitempty"`
	// Holds data for the font. Ex: `"font": { "face": "Arial", "flags": 0, "size":
	// 150, "style": "" }`
	Font SetTextGDIPlusPropertiesFont `json:"font"`
	// Gradient enabled.
	Gradient *bool `json:"gradient,omitempty"`
	// Gradient color.
	GradientColor *int `json:"gradient_color,omitempty"`
	// Gradient direction.
	GradientDir *float32 `json:"gradient_dir,omitempty"`
	// Gradient opacity (0-100).
	GradientOpacity *int `json:"gradient_opacity,omitempty"`
	// Outline.
	Outline *bool `json:"outline,omitempty"`
	// Outline color.
	OutlineColor *int `json:"outline_color,omitempty"`
	// Outline size.
	OutlineSize *int `json:"outline_size,omitempty"`
	// Outline opacity (0-100).
	OutlineOpacity *int `json:"outline_opacity,omitempty"`
	// Text content to be displayed.
	Text string `json:"text,omitempty"`
	// Text vertical alignment ("top", "center", "bottom").
	Valign string `json:"valign,omitempty"`
	// Vertical text enabled.
	Vertical *bool `json:"vertical,omitempty"`
	// Visibility of the scene item.
	Render *bool `json:"render,omitempty"`
	// contains filtered or unexported fields
}

Set the current properties of a Text GDI Plus source.

type SetTextGDIPlusPropertiesResponse

type SetTextGDIPlusPropertiesResponse struct {
	// contains filtered or unexported fields
}

type SetTransitionDurationRequest

type SetTransitionDurationRequest struct {

	// Desired duration of the transition (in milliseconds).
	Duration int `json:"duration"`
	// contains filtered or unexported fields
}

Set the duration of the currently selected transition if supported.

type SetTransitionDurationResponse

type SetTransitionDurationResponse struct {
	// contains filtered or unexported fields
}

type SetTransitionSettingsRequest

type SetTransitionSettingsRequest struct {

	// Transition name
	TransitionName string `json:"transitionName"`
	// Transition settings (they can be partial)
	TransitionSettings interface{} `json:"transitionSettings"`
	// contains filtered or unexported fields
}

Change the current settings of a transition

type SetTransitionSettingsResponse

type SetTransitionSettingsResponse struct {

	// Updated transition settings
	TransitionSettings interface{} `json:"transitionSettings"`
	// contains filtered or unexported fields
}

type SetVolumeRequest

type SetVolumeRequest struct {

	// Source name.
	Source string `json:"source"`
	// Desired volume. Must be between `0.0` and `20.0` for mul, and under 26.0 for
	// dB. OBS will interpret dB values under -100.0 as Inf. Note: The OBS volume
	// sliders only reach a maximum of 1.0mul/0.0dB, however OBS actually supports
	// larger values.
	Volume float64 `json:"volume"`
	// Interperet `volume` data as decibels instead of amplitude/mul.
	UseDecibel *bool `json:"useDecibel,omitempty"`
	// contains filtered or unexported fields
}

Set the volume of the specified source. Default request format uses mul, NOT SLIDER PERCENTAGE.

type SetVolumeResponse

type SetVolumeResponse struct {
	// contains filtered or unexported fields
}

type SleepRequest

type SleepRequest struct {

	// Delay in milliseconds to wait before continuing.
	SleepMillis int `json:"sleepMillis"`
	// contains filtered or unexported fields
}

Waits for the specified duration. Designed to be used in `ExecuteBatch` operations.

type SleepResponse

type SleepResponse struct {
	// contains filtered or unexported fields
}

type SourceAudioActivatedEvent

type SourceAudioActivatedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

A source has added audio.

type SourceAudioDeactivatedEvent

type SourceAudioDeactivatedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

A source has removed audio.

type SourceAudioMixersChangedEvent

type SourceAudioMixersChangedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Routing status of the source for each audio mixer (array of 6 values)
	Mixers []struct {
		// Mixer number
		Id int `json:"id"`
		// Routing status
		Enabled bool `json:"enabled"`
	} `json:"mixers"`
	// Raw mixer flags (little-endian, one bit per mixer) as an hexadecimal value
	HexMixersValue string `json:"hexMixersValue"`
	// contains filtered or unexported fields
}

Audio mixer routing changed on a source.

type SourceAudioSyncOffsetChangedEvent

type SourceAudioSyncOffsetChangedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Audio sync offset of the source (in nanoseconds)
	SyncOffset int `json:"syncOffset"`
	// contains filtered or unexported fields
}

The audio sync offset of a source has changed.

type SourceCreatedEvent

type SourceCreatedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Source type. Can be "input", "scene", "transition" or "filter".
	SourceType string `json:"sourceType"`
	// Source kind.
	SourceKind string `json:"sourceKind"`
	// Source settings
	SourceSettings interface{} `json:"sourceSettings"`
	// contains filtered or unexported fields
}

A source has been created. A source can be an input, a scene or a transition.

type SourceDestroyedEvent

type SourceDestroyedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Source type. Can be "input", "scene", "transition" or "filter".
	SourceType string `json:"sourceType"`
	// Source kind.
	SourceKind string `json:"sourceKind"`
	// contains filtered or unexported fields
}

A source has been destroyed/removed. A source can be an input, a scene or a transition.

type SourceFilterAddedEvent

type SourceFilterAddedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Filter name
	FilterName string `json:"filterName"`
	// Filter type
	FilterType string `json:"filterType"`
	// Filter settings
	FilterSettings interface{} `json:"filterSettings"`
	// contains filtered or unexported fields
}

A filter was added to a source.

type SourceFilterRemovedEvent

type SourceFilterRemovedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Filter name
	FilterName string `json:"filterName"`
	// Filter type
	FilterType string `json:"filterType"`
	// contains filtered or unexported fields
}

A filter was removed from a source.

type SourceFilterVisibilityChangedEvent

type SourceFilterVisibilityChangedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Filter name
	FilterName string `json:"filterName"`
	// New filter state
	FilterEnabled bool `json:"filterEnabled"`
	// contains filtered or unexported fields
}

The visibility/enabled state of a filter changed

type SourceFiltersReorderedEvent

type SourceFiltersReorderedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Ordered Filters list
	Filters []struct {
		// Filter name
		Name string `json:"name"`
		// Filter type
		Type string `json:"type"`
		// Filter visibility status
		Enabled bool `json:"enabled"`
	} `json:"filters"`
	// contains filtered or unexported fields
}

Filters in a source have been reordered.

type SourceMuteStateChangedEvent

type SourceMuteStateChangedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Mute status of the source
	Muted bool `json:"muted"`
	// contains filtered or unexported fields
}

A source has been muted or unmuted.

type SourceOrderChangedEvent

type SourceOrderChangedEvent struct {

	// Name of the scene where items have been reordered.
	SceneName string `json:"scene-name"`
	// Ordered list of scene items
	SceneItems []struct {
		// Item source name
		SourceName string `json:"source-name"`
		// Scene item unique ID
		ItemId int `json:"item-id"`
	} `json:"scene-items"`
	// contains filtered or unexported fields
}

Scene items within a scene have been reordered.

type SourceRenamedEvent

type SourceRenamedEvent struct {

	// Previous source name
	PreviousName string `json:"previousName"`
	// New source name
	NewName string `json:"newName"`
	// Type of source (input, scene, filter, transition)
	SourceType string `json:"sourceType"`
	// contains filtered or unexported fields
}

A source has been renamed.

type SourceVolumeChangedEvent

type SourceVolumeChangedEvent struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Source volume
	Volume float32 `json:"volume"`
	// Source volume in Decibel
	VolumeDb float32 `json:"volumeDb"`
	// contains filtered or unexported fields
}

The volume of a source has changed.

type StartOutputRequest

type StartOutputRequest struct {

	// Output name
	OutputName string `json:"outputName"`
	// contains filtered or unexported fields
}
Note: Controlling outputs is an experimental feature of obs-websocket. Some

plugins which add outputs to OBS may not function properly when they are controlled in this way.

type StartOutputResponse

type StartOutputResponse struct {
	// contains filtered or unexported fields
}

type StartRecordingRequest

type StartRecordingRequest struct {
	// contains filtered or unexported fields
}

Start recording. Will return an `error` if recording is already active.

type StartRecordingResponse

type StartRecordingResponse struct {
	// contains filtered or unexported fields
}

type StartReplayBufferRequest

type StartReplayBufferRequest struct {
	// contains filtered or unexported fields
}

Start recording into the Replay Buffer. Will return an `error` if the Replay Buffer is already active or if the "Save Replay Buffer" hotkey is not set in OBS' settings. Setting this hotkey is mandatory, even when triggering saves only through obs-websocket.

type StartReplayBufferResponse

type StartReplayBufferResponse struct {
	// contains filtered or unexported fields
}

type StartStopRecordingRequest

type StartStopRecordingRequest struct {
	// contains filtered or unexported fields
}

Toggle recording on or off (depending on the current recording state).

type StartStopRecordingResponse

type StartStopRecordingResponse struct {
	// contains filtered or unexported fields
}

type StartStopReplayBufferRequest

type StartStopReplayBufferRequest struct {
	// contains filtered or unexported fields
}

Toggle the Replay Buffer on/off (depending on the current state of the replay buffer).

type StartStopReplayBufferResponse

type StartStopReplayBufferResponse struct {
	// contains filtered or unexported fields
}

type StartStopStreamingRequest

type StartStopStreamingRequest struct {
	// contains filtered or unexported fields
}

Toggle streaming on or off (depending on the current stream state).

type StartStopStreamingResponse

type StartStopStreamingResponse struct {
	// contains filtered or unexported fields
}

type StartStopVirtualCamRequest

type StartStopVirtualCamRequest struct {
	// contains filtered or unexported fields
}

Toggle virtual cam on or off (depending on the current virtual cam state).

type StartStopVirtualCamResponse

type StartStopVirtualCamResponse struct {
	// contains filtered or unexported fields
}

type StartStreamingRequest

type StartStreamingRequest struct {

	// Special stream configuration. Note: these won't be saved to OBS'
	// configuration.
	Stream StartStreamingStream `json:"stream"`
	// contains filtered or unexported fields
}

Start streaming. Will return an `error` if streaming is already active.

type StartStreamingResponse

type StartStreamingResponse struct {
	// contains filtered or unexported fields
}

type StartStreamingStream added in v0.2.0

type StartStreamingStream struct {
	// If specified ensures the type of stream matches the given type (usually
	// 'rtmp_custom' or 'rtmp_common'). If the currently configured stream type does
	// not match the given stream type, all settings must be specified in the
	// `settings` object or an error will occur when starting the stream.
	Type string `json:"type,omitempty"`
	// Adds the given object parameters as encoded query string parameters to the
	// 'key' of the RTMP stream. Used to pass data to the RTMP service about the
	// streaming. May be any String, Numeric, or Boolean field.
	Metadata interface{} `json:"metadata,omitempty"`
	// Settings for the stream.
	Settings interface{} `json:"settings,omitempty"`
	// The publish URL.
	Server string `json:"server,omitempty"`
	// The publish key of the stream.
	Key string `json:"key,omitempty"`
	// Indicates whether authentication should be used when connecting to the
	// streaming server.
	UseAuth *bool `json:"use_auth,omitempty"`
	// If authentication is enabled, the username for the streaming server. Ignored
	// if `use_auth` is not set to `true`.
	Username string `json:"username,omitempty"`
	// If authentication is enabled, the password for the streaming server. Ignored
	// if `use_auth` is not set to `true`.
	Password string `json:"password,omitempty"`
}

type StartVirtualCamRequest

type StartVirtualCamRequest struct {
	// contains filtered or unexported fields
}

Start virtual cam. Will return an `error` if virtual cam is already active.

type StartVirtualCamResponse

type StartVirtualCamResponse struct {
	// contains filtered or unexported fields
}

type StopMediaRequest

type StopMediaRequest struct {

	// Source name.
	SourceName string `json:"sourceName"`
	// contains filtered or unexported fields
}

Stop a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)

type StopMediaResponse

type StopMediaResponse struct {
	// contains filtered or unexported fields
}

type StopOutputRequest

type StopOutputRequest struct {

	// Output name
	OutputName string `json:"outputName"`
	// Force stop (default: false)
	Force *bool `json:"force,omitempty"`
	// contains filtered or unexported fields
}
Note: Controlling outputs is an experimental feature of obs-websocket. Some

plugins which add outputs to OBS may not function properly when they are controlled in this way.

type StopOutputResponse

type StopOutputResponse struct {
	// contains filtered or unexported fields
}

type StopRecordingRequest

type StopRecordingRequest struct {
	// contains filtered or unexported fields
}

Stop recording. Will return an `error` if recording is not active.

type StopRecordingResponse

type StopRecordingResponse struct {
	// contains filtered or unexported fields
}

type StopReplayBufferRequest

type StopReplayBufferRequest struct {
	// contains filtered or unexported fields
}

Stop recording into the Replay Buffer. Will return an `error` if the Replay Buffer is not active.

type StopReplayBufferResponse

type StopReplayBufferResponse struct {
	// contains filtered or unexported fields
}

type StopStreamingRequest

type StopStreamingRequest struct {
	// contains filtered or unexported fields
}

Stop streaming. Will return an `error` if streaming is not active.

type StopStreamingResponse

type StopStreamingResponse struct {
	// contains filtered or unexported fields
}

type StopVirtualCamRequest

type StopVirtualCamRequest struct {
	// contains filtered or unexported fields
}

Stop virtual cam. Will return an `error` if virtual cam is not active.

type StopVirtualCamResponse

type StopVirtualCamResponse struct {
	// contains filtered or unexported fields
}

type StreamStartedEvent

type StreamStartedEvent struct {
	// contains filtered or unexported fields
}

Streaming started successfully.

type StreamStartingEvent

type StreamStartingEvent struct {

	// Always false (retrocompatibility).
	PreviewOnly bool `json:"preview-only"`
	// contains filtered or unexported fields
}

A request to start streaming has been issued.

type StreamStatusEvent

type StreamStatusEvent struct {

	// Current streaming state.
	Streaming bool `json:"streaming"`
	// Current recording state.
	Recording bool `json:"recording"`
	// Replay Buffer status
	ReplayBufferActive bool `json:"replay-buffer-active"`
	// Amount of data per second (in bytes) transmitted by the stream encoder.
	BytesPerSec int `json:"bytes-per-sec"`
	// Amount of data per second (in kilobits) transmitted by the stream encoder.
	KbitsPerSec int `json:"kbits-per-sec"`
	// Percentage of dropped frames.
	Strain float64 `json:"strain"`
	// Total time (in seconds) since the stream started.
	TotalStreamTime int `json:"total-stream-time"`
	// Total number of frames transmitted since the stream started.
	NumTotalFrames int `json:"num-total-frames"`
	// Number of frames dropped by the encoder since the stream started.
	NumDroppedFrames int `json:"num-dropped-frames"`
	// Current framerate.
	Fps float64 `json:"fps"`
	// Number of frames rendered
	RenderTotalFrames int `json:"render-total-frames"`
	// Number of frames missed due to rendering lag
	RenderMissedFrames int `json:"render-missed-frames"`
	// Number of frames outputted
	OutputTotalFrames int `json:"output-total-frames"`
	// Number of frames skipped due to encoding lag
	OutputSkippedFrames int `json:"output-skipped-frames"`
	// Average frame time (in milliseconds)
	AverageFrameTime float64 `json:"average-frame-time"`
	// Current CPU usage (percentage)
	CpuUsage float64 `json:"cpu-usage"`
	// Current RAM usage (in megabytes)
	MemoryUsage float64 `json:"memory-usage"`
	// Free recording disk space (in megabytes)
	FreeDiskSpace float64 `json:"free-disk-space"`
	// Always false (retrocompatibility).
	PreviewOnly bool `json:"preview-only"`
	// contains filtered or unexported fields
}

Emitted every 2 seconds when stream is active.

type StreamStoppedEvent

type StreamStoppedEvent struct {
	// contains filtered or unexported fields
}

Streaming stopped successfully.

type StreamStoppingEvent

type StreamStoppingEvent struct {

	// Always false (retrocompatibility).
	PreviewOnly bool `json:"preview-only"`
	// contains filtered or unexported fields
}

A request to stop streaming has been issued.

type StudioModeSwitchedEvent

type StudioModeSwitchedEvent struct {

	// The new enabled state of Studio Mode.
	NewState bool `json:"new-state"`
	// contains filtered or unexported fields
}

Studio Mode has been enabled or disabled.

type SwitchScenesEvent

type SwitchScenesEvent struct {

	// The new scene.
	SceneName string `json:"scene-name"`
	// List of scene items in the new scene. Same specification as
	// [`GetCurrentScene`](#getcurrentscene).
	Sources []SceneItem `json:"sources"`
	// contains filtered or unexported fields
}

Indicates a scene change.

type SwitchTransitionEvent

type SwitchTransitionEvent struct {

	// The name of the new active transition.
	TransitionName string `json:"transition-name"`
	// contains filtered or unexported fields
}

The active transition has been changed.

type TakeSourceScreenshotRequest

type TakeSourceScreenshotRequest struct {

	// Source name. Note: Since scenes are also sources, you can also provide a
	// scene name. If not provided, the currently active scene is used.
	SourceName string `json:"sourceName,omitempty"`
	// Format of the Data URI encoded picture. Can be "png", "jpg", "jpeg" or "bmp"
	// (or any other value supported by Qt's Image module)
	EmbedPictureFormat string `json:"embedPictureFormat,omitempty"`
	// Full file path (file extension included) where the captured image is to be
	// saved. Can be in a format different from `pictureFormat`. Can be a relative
	// path.
	SaveToFilePath string `json:"saveToFilePath,omitempty"`
	// Format to save the image file as (one of the values provided in the
	// `supported-image-export-formats` response field of `GetVersion`). If not
	// specified, tries to guess based on file extension.
	FileFormat string `json:"fileFormat,omitempty"`
	// Compression ratio between -1 and 100 to write the image with. -1 is
	// automatic, 1 is smallest file/most compression, 100 is largest file/least
	// compression. Varies with image type.
	CompressionQuality *int `json:"compressionQuality,omitempty"`
	// Screenshot width. Defaults to the source's base width.
	Width *int `json:"width,omitempty"`
	// Screenshot height. Defaults to the source's base height.
	Height *int `json:"height,omitempty"`
	// contains filtered or unexported fields
}
At least `embedPictureFormat` or `saveToFilePath` must be specified.

Clients can specify `width` and `height` parameters to receive scaled pictures. Aspect ratio is preserved if only one of these two parameters is specified.

type TakeSourceScreenshotResponse

type TakeSourceScreenshotResponse struct {

	// Source name
	SourceName string `json:"sourceName"`
	// Image Data URI (if `embedPictureFormat` was specified in the request)
	Img string `json:"img"`
	// Absolute path to the saved image file (if `saveToFilePath` was specified in
	// the request)
	ImageFile string `json:"imageFile"`
	// contains filtered or unexported fields
}

type ToggleMuteRequest

type ToggleMuteRequest struct {

	// Source name.
	Source string `json:"source"`
	// contains filtered or unexported fields
}

Inverts the mute status of a specified source.

type ToggleMuteResponse

type ToggleMuteResponse struct {
	// contains filtered or unexported fields
}

type ToggleStudioModeRequest

type ToggleStudioModeRequest struct {
	// contains filtered or unexported fields
}

Toggles Studio Mode (depending on the current state of studio mode).

type ToggleStudioModeResponse

type ToggleStudioModeResponse struct {
	// contains filtered or unexported fields
}

type TransitionBeginEvent

type TransitionBeginEvent struct {

	// Transition name.
	Name string `json:"name"`
	// Transition type.
	Type string `json:"type"`
	// Transition duration (in milliseconds). Will be -1 for any transition with a
	// fixed duration, such as a Stinger, due to limitations of the OBS API.
	Duration int `json:"duration"`
	// Source scene of the transition
	FromScene string `json:"from-scene,omitempty"`
	// Destination scene of the transition
	ToScene string `json:"to-scene"`
	// contains filtered or unexported fields
}

A transition (other than "cut") has begun.

type TransitionDurationChangedEvent

type TransitionDurationChangedEvent struct {

	// New transition duration.
	NewDuration int `json:"new-duration"`
	// contains filtered or unexported fields
}

The active transition duration has been changed.

type TransitionEndEvent

type TransitionEndEvent struct {

	// Transition name.
	Name string `json:"name"`
	// Transition type.
	Type string `json:"type"`
	// Transition duration (in milliseconds).
	Duration int `json:"duration"`
	// Destination scene of the transition
	ToScene string `json:"to-scene"`
	// contains filtered or unexported fields
}

A transition (other than "cut") has ended. Note: The `from-scene` field is not available in TransitionEnd.

type TransitionListChangedEvent

type TransitionListChangedEvent struct {

	// Transitions list.
	Transitions []struct {
		// Transition name.
		Name string `json:"name"`
	} `json:"transitions"`
	// contains filtered or unexported fields
}

The list of available transitions has been modified. Transitions have been added, removed, or renamed.

type TransitionToProgramRequest

type TransitionToProgramRequest struct {

	// Change the active transition before switching scenes. Defaults to the active
	// transition.
	WithTransition TransitionToProgramWithTransition `json:"with-transition"`
	// contains filtered or unexported fields
}

Transitions the currently previewed scene to the main output. Will return an `error` if Studio Mode is not enabled.

type TransitionToProgramResponse

type TransitionToProgramResponse struct {
	// contains filtered or unexported fields
}

type TransitionToProgramWithTransition added in v0.2.0

type TransitionToProgramWithTransition struct {
	// Name of the transition.
	Name string `json:"name"`
	// Transition duration (in milliseconds).
	Duration *int `json:"duration,omitempty"`
}

type TransitionVideoEndEvent

type TransitionVideoEndEvent struct {

	// Transition name.
	Name string `json:"name"`
	// Transition type.
	Type string `json:"type"`
	// Transition duration (in milliseconds).
	Duration int `json:"duration"`
	// Source scene of the transition
	FromScene string `json:"from-scene,omitempty"`
	// Destination scene of the transition
	ToScene string `json:"to-scene"`
	// contains filtered or unexported fields
}

A stinger transition has finished playing its video.

type TriggerHotkeyByNameRequest

type TriggerHotkeyByNameRequest struct {

	// Unique name of the hotkey, as defined when registering the hotkey (e.g.
	// "ReplayBuffer.Save")
	HotkeyName string `json:"hotkeyName"`
	// contains filtered or unexported fields
}

Executes hotkey routine, identified by hotkey unique name

type TriggerHotkeyByNameResponse

type TriggerHotkeyByNameResponse struct {
	// contains filtered or unexported fields
}

type TriggerHotkeyBySequenceKeyModifiers added in v0.2.0

type TriggerHotkeyBySequenceKeyModifiers struct {
	// Trigger Shift Key
	Shift bool `json:"shift"`
	// Trigger Alt Key
	Alt bool `json:"alt"`
	// Trigger Control (Ctrl) Key
	Control bool `json:"control"`
	// Trigger Command Key (Mac)
	Command bool `json:"command"`
}

type TriggerHotkeyBySequenceRequest

type TriggerHotkeyBySequenceRequest struct {

	// Main key identifier (e.g. `OBS_KEY_A` for key "A"). Available identifiers
	// [here](https://github.com/obsproject/obs-studio/blob/master/libobs/obs-hotkeys.h)
	KeyId string `json:"keyId"`
	// Optional key modifiers object. False entries can be ommitted
	KeyModifiers TriggerHotkeyBySequenceKeyModifiers `json:"keyModifiers"`
	// contains filtered or unexported fields
}

Executes hotkey routine, identified by bound combination of keys. A single key combination might trigger multiple hotkey routines depending on user settings

type TriggerHotkeyBySequenceResponse

type TriggerHotkeyBySequenceResponse struct {
	// contains filtered or unexported fields
}

type VirtualCamStartedEvent

type VirtualCamStartedEvent struct {
	// contains filtered or unexported fields
}

Virtual cam started successfully.

type VirtualCamStoppedEvent

type VirtualCamStoppedEvent struct {
	// contains filtered or unexported fields
}

Virtual cam stopped successfully.

Directories

Path Synopsis
internal
gen

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL