# README
obsws
obsws
provides client functionality for obs-websocket
.
Currently, the target version is 4.4
.
Installation
go get github.com/FlowingSPDG/go-obs-websocket
Usage
package main
import (
"log"
"time"
"github.com/FlowingSPDG/go-obs-websocket"
)
func main() {
// Connect a client.
c := obsws.Client{Host: "localhost", Port: 4444}
if err := c.Connect(); err != nil {
log.Fatal(err)
}
defer c.Disconnect()
// Send and receive a request asynchronously.
req := obsws.NewGetStreamingStatusRequest()
if err := req.Send(c); err != nil {
log.Fatal(err)
}
// This will block until the response comes (potentially forever).
resp, err := req.Receive()
if err != nil {
log.Fatal(err)
}
log.Println("streaming:", resp.Streaming)
// Set the amount of time we can wait for a response.
obsws.SetReceiveTimeout(time.Second * 2)
// Send and receive a request synchronously.
req = obsws.NewGetStreamingStatusRequest()
// Note that we create a new request,
// because requests have IDs that must be unique.
// This will block for up to two seconds, since we set a timeout.
resp, err = req.SendReceive(c)
if err != nil {
log.Fatal(err)
}
log.Println("streaming:", resp.Streaming)
// Respond to events by registering handlers.
c.AddEventHandler("SwitchScenes", func(e obsws.Event) {
// Make sure to assert the actual event type.
log.Println("new scene:", e.(obsws.SwitchScenesEvent).SceneName)
})
time.Sleep(time.Second * 10)
}
# Functions
GetMessageID generates a string that the client has not yet used.
NewAddFilterToSourceRequest returns a new AddFilterToSourceRequest.
NewAddSceneItemRequest returns a new AddSceneItemRequest.
NewAuthenticateRequest returns a new AuthenticateRequest.
NewBroadcastCustomMessageRequest returns a new BroadcastCustomMessageRequest.
NewCreateSceneRequest returns a new CreateSceneRequest.
NewCreateSourceRequest returns a new CreateSourceRequest.
NewDeleteSceneItemRequest returns a new DeleteSceneItemRequest.
NewDisableStudioModeRequest returns a new DisableStudioModeRequest.
NewDuplicateSceneItemRequest returns a new DuplicateSceneItemRequest.
NewEnableStudioModeRequest returns a new EnableStudioModeRequest.
NewExecuteBatchRequest returns a new ExecuteBatchRequest.
NewGetAudioActiveRequest returns a new GetAudioActiveRequest.
NewGetAudioMonitorTypeRequest returns a new GetAudioMonitorTypeRequest.
NewGetAudioTracksRequest returns a new GetAudioTracksRequest.
NewGetAuthRequiredRequest returns a new GetAuthRequiredRequest.
NewGetBrowserSourcePropertiesRequest returns a new GetBrowserSourcePropertiesRequest.
NewGetCurrentProfileRequest returns a new GetCurrentProfileRequest.
NewGetCurrentSceneCollectionRequest returns a new GetCurrentSceneCollectionRequest.
NewGetCurrentSceneRequest returns a new GetCurrentSceneRequest.
NewGetCurrentTransitionRequest returns a new GetCurrentTransitionRequest.
NewGetFilenameFormattingRequest returns a new GetFilenameFormattingRequest.
NewGetMediaDurationRequest returns a new GetMediaDurationRequest.
NewGetMediaSourcesListRequest returns a new GetMediaSourcesListRequest.
NewGetMediaStateRequest returns a new GetMediaStateRequest.
NewGetMediaTimeRequest returns a new GetMediaTimeRequest.
NewGetMuteRequest returns a new GetMuteRequest.
NewGetOutputInfoRequest returns a new GetOutputInfoRequest.
NewGetPreviewSceneRequest returns a new GetPreviewSceneRequest.
NewGetRecordingFolderRequest returns a new GetRecordingFolderRequest.
NewGetRecordingStatusRequest returns a new GetRecordingStatusRequest.
NewGetReplayBufferStatusRequest returns a new GetReplayBufferStatusRequest.
NewGetSceneItemListRequest returns a new GetSceneItemListRequest.
NewGetSceneItemPropertiesRequest returns a new GetSceneItemPropertiesRequest.
NewGetSceneListRequest returns a new GetSceneListRequest.
NewGetSceneTransitionOverrideRequest returns a new GetSceneTransitionOverrideRequest.
NewGetSourceActiveRequest returns a new GetSourceActiveRequest.
NewGetSourceDefaultSettingsRequest returns a new GetSourceDefaultSettingsRequest.
NewGetSourceFilterInfoRequest returns a new GetSourceFilterInfoRequest.
NewGetSourceFiltersRequest returns a new GetSourceFiltersRequest.
NewGetSourceSettingsRequest returns a new GetSourceSettingsRequest.
NewGetSourcesListRequest returns a new GetSourcesListRequest.
NewGetSourceTypesListRequest returns a new GetSourceTypesListRequest.
NewGetSpecialSourcesRequest returns a new GetSpecialSourcesRequest.
NewGetStatsRequest returns a new GetStatsRequest.
NewGetStreamingStatusRequest returns a new GetStreamingStatusRequest.
NewGetStreamSettingsRequest returns a new GetStreamSettingsRequest.
NewGetStudioModeStatusRequest returns a new GetStudioModeStatusRequest.
NewGetSyncOffsetRequest returns a new GetSyncOffsetRequest.
NewGetTextFreetype2PropertiesRequest returns a new GetTextFreetype2PropertiesRequest.
NewGetTextGDIPlusPropertiesRequest returns a new GetTextGDIPlusPropertiesRequest.
NewGetTransitionDurationRequest returns a new GetTransitionDurationRequest.
NewGetTransitionListRequest returns a new GetTransitionListRequest.
NewGetTransitionPositionRequest returns a new GetTransitionPositionRequest.
NewGetTransitionSettingsRequest returns a new GetTransitionSettingsRequest.
NewGetVersionRequest returns a new GetVersionRequest.
NewGetVideoInfoRequest returns a new GetVideoInfoRequest.
NewGetVirtualCamStatusRequest returns a new GetVirtualCamStatusRequest.
NewGetVolumeRequest returns a new GetVolumeRequest.
NewListOutputsRequest returns a new ListOutputsRequest.
NewListProfilesRequest returns a new ListProfilesRequest.
NewListSceneCollectionsRequest returns a new ListSceneCollectionsRequest.
NewMoveSourceFilterRequest returns a new MoveSourceFilterRequest.
NewNextMediaRequest returns a new NextMediaRequest.
NewOpenProjectorRequest returns a new OpenProjectorRequest.
NewPauseRecordingRequest returns a new PauseRecordingRequest.
NewPlayPauseMediaRequest returns a new PlayPauseMediaRequest.
NewPreviousMediaRequest returns a new PreviousMediaRequest.
NewRefreshBrowserSourceRequest returns a new RefreshBrowserSourceRequest.
NewReleaseTBarRequest returns a new ReleaseTBarRequest.
NewRemoveFilterFromSourceRequest returns a new RemoveFilterFromSourceRequest.
NewRemoveSceneTransitionOverrideRequest returns a new RemoveSceneTransitionOverrideRequest.
NewReorderSceneItemsRequest returns a new ReorderSceneItemsRequest.
NewReorderSourceFilterRequest returns a new ReorderSourceFilterRequest.
NewResetSceneItemRequest returns a new ResetSceneItemRequest.
NewRestartMediaRequest returns a new RestartMediaRequest.
NewResumeRecordingRequest returns a new ResumeRecordingRequest.
NewSaveReplayBufferRequest returns a new SaveReplayBufferRequest.
NewSaveStreamSettingsRequest returns a new SaveStreamSettingsRequest.
NewScrubMediaRequest returns a new ScrubMediaRequest.
NewSendCaptionsRequest returns a new SendCaptionsRequest.
NewSetAudioMonitorTypeRequest returns a new SetAudioMonitorTypeRequest.
NewSetAudioTracksRequest returns a new SetAudioTracksRequest.
NewSetBrowserSourcePropertiesRequest returns a new SetBrowserSourcePropertiesRequest.
NewSetCurrentProfileRequest returns a new SetCurrentProfileRequest.
NewSetCurrentSceneCollectionRequest returns a new SetCurrentSceneCollectionRequest.
NewSetCurrentSceneRequest returns a new SetCurrentSceneRequest.
NewSetCurrentTransitionRequest returns a new SetCurrentTransitionRequest.
NewSetFilenameFormattingRequest returns a new SetFilenameFormattingRequest.
NewSetHeartbeatRequest returns a new SetHeartbeatRequest.
NewSetMediaTimeRequest returns a new SetMediaTimeRequest.
NewSetMuteRequest returns a new SetMuteRequest.
NewSetPreviewSceneRequest returns a new SetPreviewSceneRequest.
NewSetRecordingFolderRequest returns a new SetRecordingFolderRequest.
NewSetSceneItemCropRequest returns a new SetSceneItemCropRequest.
NewSetSceneItemPositionRequest returns a new SetSceneItemPositionRequest.
NewSetSceneItemPropertiesRequest returns a new SetSceneItemPropertiesRequest.
NewSetSceneItemRenderRequest returns a new SetSceneItemRenderRequest.
NewSetSceneItemTransformRequest returns a new SetSceneItemTransformRequest.
NewSetSceneTransitionOverrideRequest returns a new SetSceneTransitionOverrideRequest.
NewSetSourceFilterSettingsRequest returns a new SetSourceFilterSettingsRequest.
NewSetSourceFilterVisibilityRequest returns a new SetSourceFilterVisibilityRequest.
NewSetSourceNameRequest returns a new SetSourceNameRequest.
NewSetSourceSettingsRequest returns a new SetSourceSettingsRequest.
NewSetStreamSettingsRequest returns a new SetStreamSettingsRequest.
NewSetSyncOffsetRequest returns a new SetSyncOffsetRequest.
NewSetTBarPositionRequest returns a new SetTBarPositionRequest.
NewSetTextFreetype2PropertiesRequest returns a new SetTextFreetype2PropertiesRequest.
NewSetTextGDIPlusPropertiesRequest returns a new SetTextGDIPlusPropertiesRequest.
NewSetTransitionDurationRequest returns a new SetTransitionDurationRequest.
NewSetTransitionSettingsRequest returns a new SetTransitionSettingsRequest.
NewSetVolumeRequest returns a new SetVolumeRequest.
NewSleepRequest returns a new SleepRequest.
NewStartOutputRequest returns a new StartOutputRequest.
NewStartRecordingRequest returns a new StartRecordingRequest.
NewStartReplayBufferRequest returns a new StartReplayBufferRequest.
NewStartStopRecordingRequest returns a new StartStopRecordingRequest.
NewStartStopReplayBufferRequest returns a new StartStopReplayBufferRequest.
NewStartStopStreamingRequest returns a new StartStopStreamingRequest.
NewStartStopVirtualCamRequest returns a new StartStopVirtualCamRequest.
NewStartStreamingRequest returns a new StartStreamingRequest.
NewStartVirtualCamRequest returns a new StartVirtualCamRequest.
NewStopMediaRequest returns a new StopMediaRequest.
NewStopOutputRequest returns a new StopOutputRequest.
NewStopRecordingRequest returns a new StopRecordingRequest.
NewStopReplayBufferRequest returns a new StopReplayBufferRequest.
NewStopStreamingRequest returns a new StopStreamingRequest.
NewStopVirtualCamRequest returns a new StopVirtualCamRequest.
NewTakeSourceScreenshotRequest returns a new TakeSourceScreenshotRequest.
NewToggleMuteRequest returns a new ToggleMuteRequest.
NewToggleStudioModeRequest returns a new ToggleStudioModeRequest.
NewTransitionToProgramRequest returns a new TransitionToProgramRequest.
NewTriggerHotkeyByNameRequest returns a new TriggerHotkeyByNameRequest.
NewTriggerHotkeyBySequenceRequest returns a new TriggerHotkeyBySequenceRequest.
SetReceiveTimeout sets the maximum blocking time for receiving request responses.
# Constants
StatusError indicates that the request was unsuccessful.
StatusOK indicates that the request was successful.
# Variables
ErrAlreadySent is returned when a request has already been sent.
ErrNotConnected is returned when a request is sent by a client which is not connected.
ErrNotSent is returned when you call Receive on a request that has not been sent.
ErrReceiveTimeout is returned when a response takes too long to arrive.
ErrUnknownEventType is returned when a handler is added for an unknown event.
No description provided by the author
# Structs
AddFilterToSourceRequest : Add a new filter to a source Available source types along with their settings properties are available from `GetSourceTypesList`.
AddFilterToSourceResponse : Response for AddFilterToSourceRequest.
AddSceneItemRequest : Creates a scene item in a scene In other words, this is how you add a source into a scene.
AddSceneItemResponse : Response for AddSceneItemRequest.
AuthenticateRequest : Attempt to authenticate the client to the server.
AuthenticateResponse : Response for AuthenticateRequest.
BroadcastCustomMessageEvent : A custom broadcast message, sent by the server, requested by one of the websocket clients.
BroadcastCustomMessageRequest : Broadcast custom message to all connected WebSocket clients.
BroadcastCustomMessageResponse : Response for BroadcastCustomMessageRequest.
Client is the interface to obs-websocket.
CreateSceneRequest : Create a new scene scene.
CreateSceneResponse : Response for CreateSceneRequest.
CreateSourceRequest : Create a source and add it as a sceneitem to a scene.
CreateSourceResponse : Response for CreateSourceRequest.
DeleteSceneItemRequest : Deletes a scene item.
DeleteSceneItemResponse : Response for DeleteSceneItemRequest.
DisableStudioModeRequest : Disables Studio Mode.
DisableStudioModeResponse : Response for DisableStudioModeRequest.
DuplicateSceneItemRequest : Duplicates a scene item.
DuplicateSceneItemResponse : Response for DuplicateSceneItemRequest.
EnableStudioModeRequest : Enables Studio Mode.
EnableStudioModeResponse : Response for EnableStudioModeRequest.
ExecuteBatchRequest : Executes a list of requests sequentially (one-by-one on the same thread).
ExecuteBatchResponse : Response for ExecuteBatchRequest.
ExitingEvent : OBS is exiting.
GetAudioActiveRequest : Get the audio's active status of a specified source.
GetAudioActiveResponse : Response for GetAudioActiveRequest.
GetAudioMonitorTypeRequest : Get the audio monitoring type of the specified source.
GetAudioMonitorTypeResponse : Response for GetAudioMonitorTypeRequest.
GetAudioTracksRequest : Gets whether an audio track is active for a source.
GetAudioTracksResponse : Response for GetAudioTracksRequest.
GetAuthRequiredRequest : Tells the client if authentication is required If so, returns authentication parameters `challenge` and `salt` (see "Authentication" for more information).
GetAuthRequiredResponse : Response for GetAuthRequiredRequest.
GetBrowserSourcePropertiesRequest : Get current properties for a Browser Source.
GetBrowserSourcePropertiesResponse : Response for GetBrowserSourcePropertiesRequest.
GetCurrentProfileRequest : Get the name of the current profile.
GetCurrentProfileResponse : Response for GetCurrentProfileRequest.
GetCurrentSceneCollectionRequest : Get the name of the current scene collection.
GetCurrentSceneCollectionResponse : Response for GetCurrentSceneCollectionRequest.
GetCurrentSceneRequest : Get the current scene's name and source items.
GetCurrentSceneResponse : Response for GetCurrentSceneRequest.
GetCurrentTransitionRequest : Get the name of the currently selected transition in the frontend's dropdown menu.
GetCurrentTransitionResponse : Response for GetCurrentTransitionRequest.
GetFilenameFormattingRequest : Get the filename formatting string.
GetFilenameFormattingResponse : Response for GetFilenameFormattingRequest.
GetMediaDurationRequest : 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.
GetMediaDurationResponse : Response for GetMediaDurationRequest.
GetMediaSourcesListRequest : List the media state of all media sources (vlc and media source).
GetMediaSourcesListResponse : Response for GetMediaSourcesListRequest.
GetMediaStateRequest : Get the current playing state of a media source Supports ffmpeg and vlc media sources (as of OBS v25.0.8).
GetMediaStateResponse : Response for GetMediaStateRequest.
GetMediaTimeRequest : Get the current timestamp of media in milliseconds Supports ffmpeg and vlc media sources (as of OBS v25.0.8).
GetMediaTimeResponse : Response for GetMediaTimeRequest.
GetMuteRequest : Get the mute status of a specified source.
GetMuteResponse : Response for GetMuteRequest.
GetOutputInfoRequest : Get information about a single output.
GetOutputInfoResponse : Response for GetOutputInfoRequest.
GetPreviewSceneRequest : Get the name of the currently previewed scene and its list of sources.
GetPreviewSceneResponse : Response for GetPreviewSceneRequest.
GetRecordingFolderRequest : Get the path of the current recording folder.
GetRecordingFolderResponse : Response for GetRecordingFolderRequest.
GetRecordingStatusRequest : Get current recording status.
GetRecordingStatusResponse : Response for GetRecordingStatusRequest.
GetReplayBufferStatusRequest : Get the status of the OBS replay buffer.
GetReplayBufferStatusResponse : Response for GetReplayBufferStatusRequest.
GetSceneItemListRequest : Get a list of all scene items in a scene.
GetSceneItemListResponse : Response for GetSceneItemListRequest.
GetSceneItemPropertiesRequest : Gets the scene specific properties of the specified source item.
GetSceneItemPropertiesResponse : Response for GetSceneItemPropertiesRequest.
GetSceneListRequest : Get a list of scenes in the currently active profile.
GetSceneListResponse : Response for GetSceneListRequest.
GetSceneTransitionOverrideRequest : Get the current scene transition override.
GetSceneTransitionOverrideResponse : Response for GetSceneTransitionOverrideRequest.
GetSourceActiveRequest : Get the source's active status of a specified source (if it is showing in the final mix).
GetSourceActiveResponse : Response for GetSourceActiveRequest.
GetSourceDefaultSettingsRequest : Get the default settings for a given source type.
GetSourceDefaultSettingsResponse : Response for GetSourceDefaultSettingsRequest.
GetSourceFilterInfoRequest : List filters applied to a source.
GetSourceFilterInfoResponse : Response for GetSourceFilterInfoRequest.
GetSourceFiltersRequest : List filters applied to a source.
GetSourceFiltersResponse : Response for GetSourceFiltersRequest.
GetSourceSettingsRequest : Get settings of the specified source.
GetSourceSettingsResponse : Response for GetSourceSettingsRequest.
GetSourcesListRequest : List all sources available in the running OBS instance.
GetSourcesListResponse : Response for GetSourcesListRequest.
GetSourceTypesListRequest : Get a list of all available sources types.
GetSourceTypesListResponse : Response for GetSourceTypesListRequest.
GetSpecialSourcesRequest : Get configured special sources like Desktop Audio and Mic/Aux sources.
GetSpecialSourcesResponse : Response for GetSpecialSourcesRequest.
GetStatsRequest : Get OBS stats (almost the same info as provided in OBS' stats window).
GetStatsResponse : Response for GetStatsRequest.
GetStreamingStatusRequest : Get current streaming and recording status.
GetStreamingStatusResponse : Response for GetStreamingStatusRequest.
GetStreamSettingsRequest : Get the current streaming server settings.
GetStreamSettingsResponse : Response for GetStreamSettingsRequest.
GetStudioModeStatusRequest : Indicates if Studio Mode is currently enabled.
GetStudioModeStatusResponse : Response for GetStudioModeStatusRequest.
GetSyncOffsetRequest : Get the audio sync offset of a specified source.
GetSyncOffsetResponse : Response for GetSyncOffsetRequest.
GetTextFreetype2PropertiesRequest : Get the current properties of a Text Freetype 2 source.
GetTextFreetype2PropertiesResponse : Response for GetTextFreetype2PropertiesRequest.
GetTextGDIPlusPropertiesRequest : Get the current properties of a Text GDI Plus source.
GetTextGDIPlusPropertiesResponse : Response for GetTextGDIPlusPropertiesRequest.
GetTransitionDurationRequest : Get the duration of the currently selected transition if supported.
GetTransitionDurationResponse : Response for GetTransitionDurationRequest.
GetTransitionListRequest : List of all transitions available in the frontend's dropdown menu.
GetTransitionListResponse : Response for GetTransitionListRequest.
GetTransitionPositionRequest : Get the position of the current transition.
GetTransitionPositionResponse : Response for GetTransitionPositionRequest.
GetTransitionSettingsRequest : Get the current settings of a transition.
GetTransitionSettingsResponse : Response for GetTransitionSettingsRequest.
GetVersionRequest : Returns the latest version of the plugin and the API.
GetVersionResponse : Response for GetVersionRequest.
GetVideoInfoRequest : Get basic OBS video information.
GetVideoInfoResponse : Response for GetVideoInfoRequest.
GetVirtualCamStatusRequest : Get current virtual cam status.
GetVirtualCamStatusResponse : Response for GetVirtualCamStatusRequest.
GetVolumeRequest : Get the volume of the specified source Default response uses mul format, NOT SLIDER PERCENTAGE.
GetVolumeResponse : Response for GetVolumeRequest.
HeartbeatEvent : Emitted every 2 seconds after enabling it by calling SetHeartbeat.
ListOutputsRequest : List existing outputs.
ListOutputsResponse : Response for ListOutputsRequest.
ListProfilesRequest : Get a list of available profiles.
ListProfilesResponse : Response for ListProfilesRequest.
ListSceneCollectionsRequest : List available scene collections.
ListSceneCollectionsResponse : Response for ListSceneCollectionsRequest.
MediaEndedEvent :
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.
MediaNextEvent :
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.
MediaPausedEvent :
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.
MediaPlayingEvent :
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.
MediaPreviousEvent :
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.
MediaRestartedEvent :
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.
MediaStartedEvent :
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.
MediaStoppedEvent :
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.
MoveSourceFilterRequest : Move a filter in the chain (relative positioning).
MoveSourceFilterResponse : Response for MoveSourceFilterRequest.
NextMediaRequest : Skip to the next media item in the playlist Supports only vlc media source (as of OBS v25.0.8).
NextMediaResponse : Response for NextMediaRequest.
No description provided by the author
OpenProjectorRequest : Open a projector window or create a projector on a monitor Requires OBS v24.0.4 or newer.
OpenProjectorResponse : Response for OpenProjectorRequest.
PauseRecordingRequest : Pause the current recording.
PauseRecordingResponse : Response for PauseRecordingRequest.
PlayPauseMediaRequest : 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.
PlayPauseMediaResponse : Response for PlayPauseMediaRequest.
PreviewSceneChangedEvent : The selected preview scene has changed (only available in Studio Mode).
PreviousMediaRequest : Go to the previous media item in the playlist Supports only vlc media source (as of OBS v25.0.8).
PreviousMediaResponse : Response for PreviousMediaRequest.
ProfileChangedEvent : Triggered when switching to another profile or when renaming the current profile.
ProfileListChangedEvent : Triggered when a profile is created, added, renamed, or removed.
RecordingPausedEvent : Current recording paused.
RecordingResumedEvent : Current recording resumed.
RecordingStartedEvent : Recording started successfully.
RecordingStartingEvent :
Note: `recordingFilename` is not provided in this event because this information is not available at the time this event is emitted.
RecordingStoppedEvent : Recording stopped successfully.
RecordingStoppingEvent : A request to stop recording has been issued.
RefreshBrowserSourceRequest : Refreshes the specified browser source.
RefreshBrowserSourceResponse : Response for RefreshBrowserSourceRequest.
ReleaseTBarRequest : Release the T-Bar (like a user releasing their mouse button after moving it).
ReleaseTBarResponse : Response for ReleaseTBarRequest.
RemoveFilterFromSourceRequest : Remove a filter from a source.
RemoveFilterFromSourceResponse : Response for RemoveFilterFromSourceRequest.
RemoveSceneTransitionOverrideRequest : Remove any transition override on a scene.
RemoveSceneTransitionOverrideResponse : Response for RemoveSceneTransitionOverrideRequest.
ReorderSceneItemsRequest : Changes the order of scene items in the requested scene.
ReorderSceneItemsResponse : Response for ReorderSceneItemsRequest.
ReorderSourceFilterRequest : Move a filter in the chain (absolute index positioning).
ReorderSourceFilterResponse : Response for ReorderSourceFilterRequest.
ReplayStartedEvent : Replay Buffer started successfully.
ReplayStartingEvent : A request to start the replay buffer has been issued.
ReplayStoppedEvent : Replay Buffer stopped successfully.
ReplayStoppingEvent : A request to stop the replay buffer has been issued.
ResetSceneItemRequest : Reset a scene item.
ResetSceneItemResponse : Response for ResetSceneItemRequest.
RestartMediaRequest : Restart a media source Supports ffmpeg and vlc media sources (as of OBS v25.0.8).
RestartMediaResponse : Response for RestartMediaRequest.
ResumeRecordingRequest : Resume/unpause the current recording (if paused).
ResumeRecordingResponse : Response for ResumeRecordingRequest.
SaveReplayBufferRequest : Flush and save the contents of the Replay Buffer to disk This is basically the same as triggering the "Save Replay Buffer" hotkey.
SaveReplayBufferResponse : Response for SaveReplayBufferRequest.
SaveStreamSettingsRequest : Save the current streaming server settings to disk.
SaveStreamSettingsResponse : Response for SaveStreamSettingsRequest.
No description provided by the author
No description provided by the author
SceneCollectionChangedEvent : Triggered when switching to another scene collection or when renaming the current scene collection.
SceneCollectionListChangedEvent : Triggered when a scene collection is created, added, renamed, or removed.
No description provided by the author
SceneItemAddedEvent : A scene item has been added to a scene.
SceneItemDeselectedEvent : A scene item is deselected.
SceneItemLockChangedEvent : A scene item's locked status has been toggled.
SceneItemRemovedEvent : A scene item has been removed from a scene.
SceneItemSelectedEvent : A scene item is selected.
No description provided by the author
SceneItemTransformChangedEvent : A scene item's transform has been changed.
SceneItemVisibilityChangedEvent : A scene item's visibility has been toggled.
ScenesChangedEvent :
Note: This event is not fired when the scenes are reordered.
ScrubMediaRequest : 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.
ScrubMediaResponse : Response for ScrubMediaRequest.
SendCaptionsRequest : Send the provided text as embedded CEA-608 caption data.
SendCaptionsResponse : Response for SendCaptionsRequest.
SetAudioMonitorTypeRequest : Set the audio monitoring type of the specified source.
SetAudioMonitorTypeResponse : Response for SetAudioMonitorTypeRequest.
SetAudioTracksRequest : Changes whether an audio track is active for a source.
SetAudioTracksResponse : Response for SetAudioTracksRequest.
SetBrowserSourcePropertiesRequest : Set current properties for a Browser Source.
SetBrowserSourcePropertiesResponse : Response for SetBrowserSourcePropertiesRequest.
SetCurrentProfileRequest : Set the currently active profile.
SetCurrentProfileResponse : Response for SetCurrentProfileRequest.
SetCurrentSceneCollectionRequest : Change the active scene collection.
SetCurrentSceneCollectionResponse : Response for SetCurrentSceneCollectionRequest.
SetCurrentSceneRequest : Switch to the specified scene.
SetCurrentSceneResponse : Response for SetCurrentSceneRequest.
SetCurrentTransitionRequest : Set the active transition.
SetCurrentTransitionResponse : Response for SetCurrentTransitionRequest.
SetFilenameFormattingRequest : Set the filename formatting string.
SetFilenameFormattingResponse : Response for SetFilenameFormattingRequest.
SetHeartbeatRequest : Enable/disable sending of the Heartbeat event.
SetHeartbeatResponse : Response for SetHeartbeatRequest.
SetMediaTimeRequest : Set the timestamp of a media source Supports ffmpeg and vlc media sources (as of OBS v25.0.8).
SetMediaTimeResponse : Response for SetMediaTimeRequest.
SetMuteRequest : Sets the mute status of a specified source.
SetMuteResponse : Response for SetMuteRequest.
SetPreviewSceneRequest : Set the active preview scene.
SetPreviewSceneResponse : Response for SetPreviewSceneRequest.
SetRecordingFolderRequest :
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.
SetRecordingFolderResponse : Response for SetRecordingFolderRequest.
SetSceneItemCropRequest : Sets the crop coordinates of the specified source item.
SetSceneItemCropResponse : Response for SetSceneItemCropRequest.
SetSceneItemPositionRequest : Sets the coordinates of a specified source item.
SetSceneItemPositionResponse : Response for SetSceneItemPositionRequest.
SetSceneItemPropertiesRequest : Sets the scene specific properties of a source Unspecified properties will remain unchanged.
SetSceneItemPropertiesResponse : Response for SetSceneItemPropertiesRequest.
SetSceneItemRenderRequest : Show or hide a specified source item in a specified scene.
SetSceneItemRenderResponse : Response for SetSceneItemRenderRequest.
SetSceneItemTransformRequest : Set the transform of the specified source item.
SetSceneItemTransformResponse : Response for SetSceneItemTransformRequest.
SetSceneTransitionOverrideRequest : Set a scene to use a specific transition override.
SetSceneTransitionOverrideResponse : Response for SetSceneTransitionOverrideRequest.
SetSourceFilterSettingsRequest : Update settings of a filter.
SetSourceFilterSettingsResponse : Response for SetSourceFilterSettingsRequest.
SetSourceFilterVisibilityRequest : Change the visibility/enabled state of a filter.
SetSourceFilterVisibilityResponse : Response for SetSourceFilterVisibilityRequest.
SetSourceNameRequest :
Note: If the new name already exists as a source, obs-websocket will return an error.
SetSourceNameResponse : Response for SetSourceNameRequest.
SetSourceSettingsRequest : Set settings of the specified source.
SetSourceSettingsResponse : Response for SetSourceSettingsRequest.
SetStreamSettingsRequest : 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).
SetStreamSettingsResponse : Response for SetStreamSettingsRequest.
SetSyncOffsetRequest : Set the audio sync offset of a specified source.
SetSyncOffsetResponse : Response for SetSyncOffsetRequest.
SetTBarPositionRequest :
If your code needs to perform multiple successive T-Bar moves (e.g.
SetTBarPositionResponse : Response for SetTBarPositionRequest.
SetTextFreetype2PropertiesRequest : Set the current properties of a Text Freetype 2 source.
SetTextFreetype2PropertiesResponse : Response for SetTextFreetype2PropertiesRequest.
SetTextGDIPlusPropertiesRequest : Set the current properties of a Text GDI Plus source.
SetTextGDIPlusPropertiesResponse : Response for SetTextGDIPlusPropertiesRequest.
SetTransitionDurationRequest : Set the duration of the currently selected transition if supported.
SetTransitionDurationResponse : Response for SetTransitionDurationRequest.
SetTransitionSettingsRequest : Change the current settings of a transition.
SetTransitionSettingsResponse : Response for SetTransitionSettingsRequest.
SetVolumeRequest : Set the volume of the specified source Default request format uses mul, NOT SLIDER PERCENTAGE.
SetVolumeResponse : Response for SetVolumeRequest.
SleepRequest : Waits for the specified duration Designed to be used in `ExecuteBatch` operations.
SleepResponse : Response for SleepRequest.
SourceAudioActivatedEvent : A source has added audio.
SourceAudioDeactivatedEvent : A source has removed audio.
SourceAudioMixersChangedEvent : Audio mixer routing changed on a source.
SourceAudioSyncOffsetChangedEvent : The audio sync offset of a source has changed.
SourceCreatedEvent : A source has been created A source can be an input, a scene or a transition.
SourceDestroyedEvent : A source has been destroyed/removed A source can be an input, a scene or a transition.
SourceFilterAddedEvent : A filter was added to a source.
SourceFilterRemovedEvent : A filter was removed from a source.
SourceFiltersReorderedEvent : Filters in a source have been reordered.
SourceFilterVisibilityChangedEvent : The visibility/enabled state of a filter changed.
SourceMuteStateChangedEvent : A source has been muted or unmuted.
SourceOrderChangedEvent : Scene items within a scene have been reordered.
SourceRenamedEvent : A source has been renamed.
SourceVolumeChangedEvent : The volume of a source has changed.
StartOutputRequest :
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.
StartOutputResponse : Response for StartOutputRequest.
StartRecordingRequest : Start recording.
StartRecordingResponse : Response for StartRecordingRequest.
StartReplayBufferRequest : Start recording into the Replay Buffer.
StartReplayBufferResponse : Response for StartReplayBufferRequest.
StartStopRecordingRequest : Toggle recording on or off (depending on the current recording state).
StartStopRecordingResponse : Response for StartStopRecordingRequest.
StartStopReplayBufferRequest : Toggle the Replay Buffer on/off (depending on the current state of the replay buffer).
StartStopReplayBufferResponse : Response for StartStopReplayBufferRequest.
StartStopStreamingRequest : Toggle streaming on or off (depending on the current stream state).
StartStopStreamingResponse : Response for StartStopStreamingRequest.
StartStopVirtualCamRequest : Toggle virtual cam on or off (depending on the current virtual cam state).
StartStopVirtualCamResponse : Response for StartStopVirtualCamRequest.
StartStreamingRequest : Start streaming.
StartStreamingResponse : Response for StartStreamingRequest.
StartVirtualCamRequest : Start virtual cam.
StartVirtualCamResponse : Response for StartVirtualCamRequest.
StopMediaRequest : Stop a media source Supports ffmpeg and vlc media sources (as of OBS v25.0.8).
StopMediaResponse : Response for StopMediaRequest.
StopOutputRequest :
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.
StopOutputResponse : Response for StopOutputRequest.
StopRecordingRequest : Stop recording.
StopRecordingResponse : Response for StopRecordingRequest.
StopReplayBufferRequest : Stop recording into the Replay Buffer.
StopReplayBufferResponse : Response for StopReplayBufferRequest.
StopStreamingRequest : Stop streaming.
StopStreamingResponse : Response for StopStreamingRequest.
StopVirtualCamRequest : Stop virtual cam.
StopVirtualCamResponse : Response for StopVirtualCamRequest.
StreamStartedEvent : Streaming started successfully.
StreamStartingEvent : A request to start streaming has been issued.
StreamStatusEvent : Emitted every 2 seconds when stream is active.
StreamStoppedEvent : Streaming stopped successfully.
StreamStoppingEvent : A request to stop streaming has been issued.
StudioModeSwitchedEvent : Studio Mode has been enabled or disabled.
SwitchScenesEvent : Indicates a scene change.
SwitchTransitionEvent : The active transition has been changed.
TakeSourceScreenshotRequest :
At least `embedPictureFormat` or `saveToFilePath` must be specified.
TakeSourceScreenshotResponse : Response for TakeSourceScreenshotRequest.
ToggleMuteRequest : Inverts the mute status of a specified source.
ToggleMuteResponse : Response for ToggleMuteRequest.
ToggleStudioModeRequest : Toggles Studio Mode (depending on the current state of studio mode).
ToggleStudioModeResponse : Response for ToggleStudioModeRequest.
TransitionBeginEvent : A transition (other than "cut") has begun.
TransitionDurationChangedEvent : The active transition duration has been changed.
TransitionEndEvent : A transition (other than "cut") has ended.
TransitionListChangedEvent : The list of available transitions has been modified.
TransitionToProgramRequest : Transitions the currently previewed scene to the main output.
TransitionToProgramResponse : Response for TransitionToProgramRequest.
TransitionVideoEndEvent : A stinger transition has finished playing its video.
TriggerHotkeyByNameRequest : Executes hotkey routine, identified by hotkey unique name.
TriggerHotkeyByNameResponse : Response for TriggerHotkeyByNameRequest.
TriggerHotkeyBySequenceRequest : Executes hotkey routine, identified by bound combination of keys A single key combination might trigger multiple hotkey routines depending on user settings.
TriggerHotkeyBySequenceResponse : Response for TriggerHotkeyBySequenceRequest.
VirtualCamStartedEvent : Virtual cam started successfully.
VirtualCamStoppedEvent : Virtual cam stopped successfully.