{ "typedefs": [ { "subheads": [], "typedef": "{Object} `SceneItem` An OBS Scene Item.", "property": [ "{Number} `cy`", "{Number} `cx`", "{Number} `alignment` 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.", "{String} `name` The name of this Scene Item.", "{int} `id` Scene item ID", "{Boolean} `render` Whether or not this Scene Item is set to \"visible\".", "{Boolean} `muted` Whether or not this Scene Item is muted.", "{Boolean} `locked` Whether or not this Scene Item is locked and can't be moved around", "{Number} `source_cx`", "{Number} `source_cy`", "{String} `type` Source type. Value is one of the following: \"input\", \"filter\", \"transition\", \"scene\" or \"unknown\"", "{Number} `volume`", "{Number} `x`", "{Number} `y`", "{String (optional)} `parentGroupName` Name of the item's parent (if this item belongs to a group)", "{Array (optional)} `groupChildren` List of children (if this item is a group)" ], "properties": [ { "type": "Number", "name": "cy", "description": "" }, { "type": "Number", "name": "cx", "description": "" }, { "type": "Number", "name": "alignment", "description": "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." }, { "type": "String", "name": "name", "description": "The name of this Scene Item." }, { "type": "int", "name": "id", "description": "Scene item ID" }, { "type": "Boolean", "name": "render", "description": "Whether or not this Scene Item is set to \"visible\"." }, { "type": "Boolean", "name": "muted", "description": "Whether or not this Scene Item is muted." }, { "type": "Boolean", "name": "locked", "description": "Whether or not this Scene Item is locked and can't be moved around" }, { "type": "Number", "name": "source_cx", "description": "" }, { "type": "Number", "name": "source_cy", "description": "" }, { "type": "String", "name": "type", "description": "Source type. Value is one of the following: \"input\", \"filter\", \"transition\", \"scene\" or \"unknown\"" }, { "type": "Number", "name": "volume", "description": "" }, { "type": "Number", "name": "x", "description": "" }, { "type": "Number", "name": "y", "description": "" }, { "type": "String (optional)", "name": "parentGroupName", "description": "Name of the item's parent (if this item belongs to a group)" }, { "type": "Array (optional)", "name": "groupChildren", "description": "List of children (if this item is a group)" } ], "typedefs": [ { "type": "Object", "name": "SceneItem", "description": "An OBS Scene Item." } ], "name": "", "heading": { "level": 2, "text": "" }, "examples": [] }, { "subheads": [], "typedef": "{Object} `SceneItemTransform`", "property": [ "{double} `position.x` The x position of the scene item from the left.", "{double} `position.y` The y position of the scene item from the top.", "{int} `position.alignment` The point on the scene item that the item is manipulated from.", "{double} `rotation` The clockwise rotation of the scene item in degrees around the point of alignment.", "{double} `scale.x` The x-scale factor of the scene item.", "{double} `scale.y` The y-scale factor of the scene item.", "{String} `scale.filter` 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\".", "{int} `crop.top` The number of pixels cropped off the top of the scene item before scaling.", "{int} `crop.right` The number of pixels cropped off the right of the scene item before scaling.", "{int} `crop.bottom` The number of pixels cropped off the bottom of the scene item before scaling.", "{int} `crop.left` The number of pixels cropped off the left of the scene item before scaling.", "{bool} `visible` If the scene item is visible.", "{bool} `locked` If the scene item is locked in position.", "{String} `bounds.type` 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\".", "{int} `bounds.alignment` Alignment of the bounding box.", "{double} `bounds.x` Width of the bounding box.", "{double} `bounds.y` Height of the bounding box.", "{int} `sourceWidth` Base width (without scaling) of the source", "{int} `sourceHeight` Base source (without scaling) of the source", "{double} `width` Scene item width (base source width multiplied by the horizontal scaling factor)", "{double} `height` Scene item height (base source height multiplied by the vertical scaling factor)", "{String (optional)} `parentGroupName` Name of the item's parent (if this item belongs to a group)", "{Array (optional)} `groupChildren` List of children (if this item is a group)" ], "properties": [ { "type": "double", "name": "position.x", "description": "The x position of the scene item from the left." }, { "type": "double", "name": "position.y", "description": "The y position of the scene item from the top." }, { "type": "int", "name": "position.alignment", "description": "The point on the scene item that the item is manipulated from." }, { "type": "double", "name": "rotation", "description": "The clockwise rotation of the scene item in degrees around the point of alignment." }, { "type": "double", "name": "scale.x", "description": "The x-scale factor of the scene item." }, { "type": "double", "name": "scale.y", "description": "The y-scale factor of the scene item." }, { "type": "String", "name": "scale.filter", "description": "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\"." }, { "type": "int", "name": "crop.top", "description": "The number of pixels cropped off the top of the scene item before scaling." }, { "type": "int", "name": "crop.right", "description": "The number of pixels cropped off the right of the scene item before scaling." }, { "type": "int", "name": "crop.bottom", "description": "The number of pixels cropped off the bottom of the scene item before scaling." }, { "type": "int", "name": "crop.left", "description": "The number of pixels cropped off the left of the scene item before scaling." }, { "type": "bool", "name": "visible", "description": "If the scene item is visible." }, { "type": "bool", "name": "locked", "description": "If the scene item is locked in position." }, { "type": "String", "name": "bounds.type", "description": "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": "int", "name": "bounds.alignment", "description": "Alignment of the bounding box." }, { "type": "double", "name": "bounds.x", "description": "Width of the bounding box." }, { "type": "double", "name": "bounds.y", "description": "Height of the bounding box." }, { "type": "int", "name": "sourceWidth", "description": "Base width (without scaling) of the source" }, { "type": "int", "name": "sourceHeight", "description": "Base source (without scaling) of the source" }, { "type": "double", "name": "width", "description": "Scene item width (base source width multiplied by the horizontal scaling factor)" }, { "type": "double", "name": "height", "description": "Scene item height (base source height multiplied by the vertical scaling factor)" }, { "type": "String (optional)", "name": "parentGroupName", "description": "Name of the item's parent (if this item belongs to a group)" }, { "type": "Array (optional)", "name": "groupChildren", "description": "List of children (if this item is a group)" } ], "typedefs": [ { "type": "Object", "name": "SceneItemTransform", "description": "" } ], "name": "", "heading": { "level": 2, "text": "" }, "examples": [] }, { "subheads": [], "typedef": "{Object} `OBSStats`", "property": [ "{double} `fps` Current framerate.", "{int} `render-total-frames` Number of frames rendered", "{int} `render-missed-frames` Number of frames missed due to rendering lag", "{int} `output-total-frames` Number of frames outputted", "{int} `output-skipped-frames` Number of frames skipped due to encoding lag", "{double} `average-frame-time` Average frame render time (in milliseconds)", "{double} `cpu-usage` Current CPU usage (percentage)", "{double} `memory-usage` Current RAM usage (in megabytes)", "{double} `free-disk-space` Free recording disk space (in megabytes)" ], "properties": [ { "type": "double", "name": "fps", "description": "Current framerate." }, { "type": "int", "name": "render-total-frames", "description": "Number of frames rendered" }, { "type": "int", "name": "render-missed-frames", "description": "Number of frames missed due to rendering lag" }, { "type": "int", "name": "output-total-frames", "description": "Number of frames outputted" }, { "type": "int", "name": "output-skipped-frames", "description": "Number of frames skipped due to encoding lag" }, { "type": "double", "name": "average-frame-time", "description": "Average frame render time (in milliseconds)" }, { "type": "double", "name": "cpu-usage", "description": "Current CPU usage (percentage)" }, { "type": "double", "name": "memory-usage", "description": "Current RAM usage (in megabytes)" }, { "type": "double", "name": "free-disk-space", "description": "Free recording disk space (in megabytes)" } ], "typedefs": [ { "type": "Object", "name": "OBSStats", "description": "" } ], "name": "", "heading": { "level": 2, "text": "" }, "examples": [] }, { "subheads": [], "typedef": "{Object} `Output`", "property": [ "{String} `name` Output name", "{String} `type` Output type/kind", "{int} `width` Video output width", "{int} `height` Video output height", "{Object} `flags` Output flags", "{int} `flags.rawValue` Raw flags value", "{boolean} `flags.audio` Output uses audio", "{boolean} `flags.video` Output uses video", "{boolean} `flags.encoded` Output is encoded", "{boolean} `flags.multiTrack` Output uses several audio tracks", "{boolean} `flags.service` Output uses a service", "{Object} `settings` Output settings", "{boolean} `active` Output status (active or not)", "{boolean} `reconnecting` Output reconnection status (reconnecting or not)", "{double} `congestion` Output congestion", "{int} `totalFrames` Number of frames sent", "{int} `droppedFrames` Number of frames dropped", "{int} `totalBytes` Total bytes sent" ], "properties": [ { "type": "String", "name": "name", "description": "Output name" }, { "type": "String", "name": "type", "description": "Output type/kind" }, { "type": "int", "name": "width", "description": "Video output width" }, { "type": "int", "name": "height", "description": "Video output height" }, { "type": "Object", "name": "flags", "description": "Output flags" }, { "type": "int", "name": "flags.rawValue", "description": "Raw flags value" }, { "type": "boolean", "name": "flags.audio", "description": "Output uses audio" }, { "type": "boolean", "name": "flags.video", "description": "Output uses video" }, { "type": "boolean", "name": "flags.encoded", "description": "Output is encoded" }, { "type": "boolean", "name": "flags.multiTrack", "description": "Output uses several audio tracks" }, { "type": "boolean", "name": "flags.service", "description": "Output uses a service" }, { "type": "Object", "name": "settings", "description": "Output settings" }, { "type": "boolean", "name": "active", "description": "Output status (active or not)" }, { "type": "boolean", "name": "reconnecting", "description": "Output reconnection status (reconnecting or not)" }, { "type": "double", "name": "congestion", "description": "Output congestion" }, { "type": "int", "name": "totalFrames", "description": "Number of frames sent" }, { "type": "int", "name": "droppedFrames", "description": "Number of frames dropped" }, { "type": "int", "name": "totalBytes", "description": "Total bytes sent" } ], "typedefs": [ { "type": "Object", "name": "Output", "description": "" } ], "name": "", "heading": { "level": 2, "text": "" }, "examples": [] }, { "subheads": [], "typedef": "{Object} `ScenesCollection`", "property": "{String} `sc-name` Name of the scene collection", "properties": [ { "type": "String", "name": "sc-name", "description": "Name of the scene collection" } ], "typedefs": [ { "type": "Object", "name": "ScenesCollection", "description": "" } ], "name": "", "heading": { "level": 2, "text": "" }, "examples": [] }, { "subheads": [], "typedef": "{Object} `Scene`", "property": [ "{String} `name` Name of the currently active scene.", "{Array} `sources` Ordered list of the current scene's source items." ], "properties": [ { "type": "String", "name": "name", "description": "Name of the currently active scene." }, { "type": "Array", "name": "sources", "description": "Ordered list of the current scene's source items." } ], "typedefs": [ { "type": "Object", "name": "Scene", "description": "" } ], "name": "", "heading": { "level": 2, "text": "" }, "examples": [] } ], "events": { "scenes": [ { "subheads": [], "description": "Indicates a scene change.", "return": [ "{String} `scene-name` The new scene.", "{Array} `sources` List of scene items in the new scene. Same specification as [`GetCurrentScene`](#getcurrentscene)." ], "api": "events", "name": "SwitchScenes", "category": "scenes", "since": "0.3", "returns": [ { "type": "String", "name": "scene-name", "description": "The new scene." }, { "type": "Array", "name": "sources", "description": "List of scene items in the new scene. Same specification as [`GetCurrentScene`](#getcurrentscene)." } ], "names": [ { "name": "", "description": "SwitchScenes" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "SwitchScenes" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: This event is not fired when the scenes are reordered.", "return": "{Array} `scenes` Scenes list.", "api": "events", "name": "ScenesChanged", "category": "scenes", "since": "0.3", "returns": [ { "type": "Array", "name": "scenes", "description": "Scenes list." } ], "names": [ { "name": "", "description": "ScenesChanged" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "ScenesChanged" }, "lead": "The scene list has been modified. Scenes have been added, removed, or renamed.", "type": "class", "examples": [] }, { "subheads": [], "description": "Triggered when switching to another scene collection or when renaming the current scene collection.", "return": "{String} `sceneCollection` Name of the new current scene collection.", "api": "events", "name": "SceneCollectionChanged", "category": "scenes", "since": "4.0.0", "returns": [ { "type": "String", "name": "sceneCollection", "description": "Name of the new current scene collection." } ], "names": [ { "name": "", "description": "SceneCollectionChanged" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SceneCollectionChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Triggered when a scene collection is created, added, renamed, or removed.", "return": [ "{Array} `sceneCollections` Scene collections list.", "{String} `sceneCollections.*.name` Scene collection name." ], "api": "events", "name": "SceneCollectionListChanged", "category": "scenes", "since": "4.0.0", "returns": [ { "type": "Array", "name": "sceneCollections", "description": "Scene collections list." }, { "type": "String", "name": "sceneCollections.*.name", "description": "Scene collection name." } ], "names": [ { "name": "", "description": "SceneCollectionListChanged" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SceneCollectionListChanged" }, "lead": "", "type": "class", "examples": [] } ], "transitions": [ { "subheads": [], "description": "The active transition has been changed.", "return": "{String} `transition-name` The name of the new active transition.", "api": "events", "name": "SwitchTransition", "category": "transitions", "since": "4.0.0", "returns": [ { "type": "String", "name": "transition-name", "description": "The name of the new active transition." } ], "names": [ { "name": "", "description": "SwitchTransition" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SwitchTransition" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "The list of available transitions has been modified.\nTransitions have been added, removed, or renamed.", "return": [ "{Array} `transitions` Transitions list.", "{String} `transitions.*.name` Transition name." ], "api": "events", "name": "TransitionListChanged", "category": "transitions", "since": "4.0.0", "returns": [ { "type": "Array", "name": "transitions", "description": "Transitions list." }, { "type": "String", "name": "transitions.*.name", "description": "Transition name." } ], "names": [ { "name": "", "description": "TransitionListChanged" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "TransitionListChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "The active transition duration has been changed.", "return": "{int} `new-duration` New transition duration.", "api": "events", "name": "TransitionDurationChanged", "category": "transitions", "since": "4.0.0", "returns": [ { "type": "int", "name": "new-duration", "description": "New transition duration." } ], "names": [ { "name": "", "description": "TransitionDurationChanged" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "TransitionDurationChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A transition (other than \"cut\") has begun.", "return": [ "{String} `name` Transition name.", "{String} `type` Transition type.", "{int} `duration` 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.", "{String (optional)} `from-scene` Source scene of the transition", "{String} `to-scene` Destination scene of the transition" ], "api": "events", "name": "TransitionBegin", "category": "transitions", "since": "4.0.0", "returns": [ { "type": "String", "name": "name", "description": "Transition name." }, { "type": "String", "name": "type", "description": "Transition type." }, { "type": "int", "name": "duration", "description": "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." }, { "type": "String (optional)", "name": "from-scene", "description": "Source scene of the transition" }, { "type": "String", "name": "to-scene", "description": "Destination scene of the transition" } ], "names": [ { "name": "", "description": "TransitionBegin" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "TransitionBegin" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A transition (other than \"cut\") has ended.\nNote: The `from-scene` field is not available in TransitionEnd.", "return": [ "{String} `name` Transition name.", "{String} `type` Transition type.", "{int} `duration` Transition duration (in milliseconds).", "{String} `to-scene` Destination scene of the transition" ], "api": "events", "name": "TransitionEnd", "category": "transitions", "since": "4.8.0", "returns": [ { "type": "String", "name": "name", "description": "Transition name." }, { "type": "String", "name": "type", "description": "Transition type." }, { "type": "int", "name": "duration", "description": "Transition duration (in milliseconds)." }, { "type": "String", "name": "to-scene", "description": "Destination scene of the transition" } ], "names": [ { "name": "", "description": "TransitionEnd" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "TransitionEnd" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A stinger transition has finished playing its video.", "return": [ "{String} `name` Transition name.", "{String} `type` Transition type.", "{int} `duration` Transition duration (in milliseconds).", "{String (optional)} `from-scene` Source scene of the transition", "{String} `to-scene` Destination scene of the transition" ], "api": "events", "name": "TransitionVideoEnd", "category": "transitions", "since": "4.8.0", "returns": [ { "type": "String", "name": "name", "description": "Transition name." }, { "type": "String", "name": "type", "description": "Transition type." }, { "type": "int", "name": "duration", "description": "Transition duration (in milliseconds)." }, { "type": "String (optional)", "name": "from-scene", "description": "Source scene of the transition" }, { "type": "String", "name": "to-scene", "description": "Destination scene of the transition" } ], "names": [ { "name": "", "description": "TransitionVideoEnd" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "TransitionVideoEnd" }, "lead": "", "type": "class", "examples": [] } ], "profiles": [ { "subheads": [], "description": "Triggered when switching to another profile or when renaming the current profile.", "return": "{String} `profile` Name of the new current profile.", "api": "events", "name": "ProfileChanged", "category": "profiles", "since": "4.0.0", "returns": [ { "type": "String", "name": "profile", "description": "Name of the new current profile." } ], "names": [ { "name": "", "description": "ProfileChanged" } ], "categories": [ { "name": "", "description": "profiles" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "ProfileChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Triggered when a profile is created, added, renamed, or removed.", "return": [ "{Array} `profiles` Profiles list.", "{String} `profiles.*.name` Profile name." ], "api": "events", "name": "ProfileListChanged", "category": "profiles", "since": "4.0.0", "returns": [ { "type": "Array", "name": "profiles", "description": "Profiles list." }, { "type": "String", "name": "profiles.*.name", "description": "Profile name." } ], "names": [ { "name": "", "description": "ProfileListChanged" } ], "categories": [ { "name": "", "description": "profiles" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "ProfileListChanged" }, "lead": "", "type": "class", "examples": [] } ], "streaming": [ { "subheads": [], "description": "A request to start streaming has been issued.", "return": "{boolean} `preview-only` Always false (retrocompatibility).", "api": "events", "name": "StreamStarting", "category": "streaming", "since": "0.3", "returns": [ { "type": "boolean", "name": "preview-only", "description": "Always false (retrocompatibility)." } ], "names": [ { "name": "", "description": "StreamStarting" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "StreamStarting" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Streaming started successfully.", "api": "events", "name": "StreamStarted", "category": "streaming", "since": "0.3", "names": [ { "name": "", "description": "StreamStarted" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "StreamStarted" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A request to stop streaming has been issued.", "return": "{boolean} `preview-only` Always false (retrocompatibility).", "api": "events", "name": "StreamStopping", "category": "streaming", "since": "0.3", "returns": [ { "type": "boolean", "name": "preview-only", "description": "Always false (retrocompatibility)." } ], "names": [ { "name": "", "description": "StreamStopping" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "StreamStopping" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Streaming stopped successfully.", "api": "events", "name": "StreamStopped", "category": "streaming", "since": "0.3", "names": [ { "name": "", "description": "StreamStopped" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "StreamStopped" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Emitted every 2 seconds when stream is active.", "return": [ "{boolean} `streaming` Current streaming state.", "{boolean} `recording` Current recording state.", "{boolean} `replay-buffer-active` Replay Buffer status", "{int} `bytes-per-sec` Amount of data per second (in bytes) transmitted by the stream encoder.", "{int} `kbits-per-sec` Amount of data per second (in kilobits) transmitted by the stream encoder.", "{double} `strain` Percentage of dropped frames.", "{int} `total-stream-time` Total time (in seconds) since the stream started.", "{int} `num-total-frames` Total number of frames transmitted since the stream started.", "{int} `num-dropped-frames` Number of frames dropped by the encoder since the stream started.", "{double} `fps` Current framerate.", "{int} `render-total-frames` Number of frames rendered", "{int} `render-missed-frames` Number of frames missed due to rendering lag", "{int} `output-total-frames` Number of frames outputted", "{int} `output-skipped-frames` Number of frames skipped due to encoding lag", "{double} `average-frame-time` Average frame time (in milliseconds)", "{double} `cpu-usage` Current CPU usage (percentage)", "{double} `memory-usage` Current RAM usage (in megabytes)", "{double} `free-disk-space` Free recording disk space (in megabytes)", "{boolean} `preview-only` Always false (retrocompatibility)." ], "api": "events", "name": "StreamStatus", "category": "streaming", "since": "0.3", "returns": [ { "type": "boolean", "name": "streaming", "description": "Current streaming state." }, { "type": "boolean", "name": "recording", "description": "Current recording state." }, { "type": "boolean", "name": "replay-buffer-active", "description": "Replay Buffer status" }, { "type": "int", "name": "bytes-per-sec", "description": "Amount of data per second (in bytes) transmitted by the stream encoder." }, { "type": "int", "name": "kbits-per-sec", "description": "Amount of data per second (in kilobits) transmitted by the stream encoder." }, { "type": "double", "name": "strain", "description": "Percentage of dropped frames." }, { "type": "int", "name": "total-stream-time", "description": "Total time (in seconds) since the stream started." }, { "type": "int", "name": "num-total-frames", "description": "Total number of frames transmitted since the stream started." }, { "type": "int", "name": "num-dropped-frames", "description": "Number of frames dropped by the encoder since the stream started." }, { "type": "double", "name": "fps", "description": "Current framerate." }, { "type": "int", "name": "render-total-frames", "description": "Number of frames rendered" }, { "type": "int", "name": "render-missed-frames", "description": "Number of frames missed due to rendering lag" }, { "type": "int", "name": "output-total-frames", "description": "Number of frames outputted" }, { "type": "int", "name": "output-skipped-frames", "description": "Number of frames skipped due to encoding lag" }, { "type": "double", "name": "average-frame-time", "description": "Average frame time (in milliseconds)" }, { "type": "double", "name": "cpu-usage", "description": "Current CPU usage (percentage)" }, { "type": "double", "name": "memory-usage", "description": "Current RAM usage (in megabytes)" }, { "type": "double", "name": "free-disk-space", "description": "Free recording disk space (in megabytes)" }, { "type": "boolean", "name": "preview-only", "description": "Always false (retrocompatibility)." } ], "names": [ { "name": "", "description": "StreamStatus" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "StreamStatus" }, "lead": "", "type": "class", "examples": [] } ], "recording": [ { "subheads": [], "description": "\n\nNote: `recordingFilename` is not provided in this event because this information\nis not available at the time this event is emitted.", "api": "events", "name": "RecordingStarting", "category": "recording", "since": "0.3", "names": [ { "name": "", "description": "RecordingStarting" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "RecordingStarting" }, "lead": "A request to start recording has been issued.", "type": "class", "examples": [] }, { "subheads": [], "description": "Recording started successfully.", "return": "{String} `recordingFilename` Absolute path to the file of the current recording.", "api": "events", "name": "RecordingStarted", "category": "recording", "since": "0.3", "returns": [ { "type": "String", "name": "recordingFilename", "description": "Absolute path to the file of the current recording." } ], "names": [ { "name": "", "description": "RecordingStarted" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "RecordingStarted" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A request to stop recording has been issued.", "return": "{String} `recordingFilename` Absolute path to the file of the current recording.", "api": "events", "name": "RecordingStopping", "category": "recording", "since": "0.3", "returns": [ { "type": "String", "name": "recordingFilename", "description": "Absolute path to the file of the current recording." } ], "names": [ { "name": "", "description": "RecordingStopping" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "RecordingStopping" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Recording stopped successfully.", "return": "{String} `recordingFilename` Absolute path to the file of the current recording.", "api": "events", "name": "RecordingStopped", "category": "recording", "since": "0.3", "returns": [ { "type": "String", "name": "recordingFilename", "description": "Absolute path to the file of the current recording." } ], "names": [ { "name": "", "description": "RecordingStopped" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "RecordingStopped" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Current recording paused", "api": "events", "name": "RecordingPaused", "category": "recording", "since": "4.7.0", "names": [ { "name": "", "description": "RecordingPaused" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "RecordingPaused" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Current recording resumed", "api": "events", "name": "RecordingResumed", "category": "recording", "since": "4.7.0", "names": [ { "name": "", "description": "RecordingResumed" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "RecordingResumed" }, "lead": "", "type": "class", "examples": [] } ], "virtual cam": [ { "subheads": [], "description": "Virtual cam started successfully.", "api": "events", "name": "VirtualCamStarted", "category": "virtual cam", "since": "4.9.1", "names": [ { "name": "", "description": "VirtualCamStarted" } ], "categories": [ { "name": "", "description": "virtual cam" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "VirtualCamStarted" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Virtual cam stopped successfully.", "api": "events", "name": "VirtualCamStopped", "category": "virtual cam", "since": "4.9.1", "names": [ { "name": "", "description": "VirtualCamStopped" } ], "categories": [ { "name": "", "description": "virtual cam" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "VirtualCamStopped" }, "lead": "", "type": "class", "examples": [] } ], "replay buffer": [ { "subheads": [], "description": "A request to start the replay buffer has been issued.", "api": "events", "name": "ReplayStarting", "category": "replay buffer", "since": "4.2.0", "names": [ { "name": "", "description": "ReplayStarting" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "ReplayStarting" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Replay Buffer started successfully", "api": "events", "name": "ReplayStarted", "category": "replay buffer", "since": "4.2.0", "names": [ { "name": "", "description": "ReplayStarted" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "ReplayStarted" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A request to stop the replay buffer has been issued.", "api": "events", "name": "ReplayStopping", "category": "replay buffer", "since": "4.2.0", "names": [ { "name": "", "description": "ReplayStopping" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "ReplayStopping" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Replay Buffer stopped successfully", "api": "events", "name": "ReplayStopped", "category": "replay buffer", "since": "4.2.0", "names": [ { "name": "", "description": "ReplayStopped" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "ReplayStopped" }, "lead": "", "type": "class", "examples": [] } ], "other": [ { "subheads": [], "description": "OBS is exiting.", "api": "events", "name": "Exiting", "category": "other", "since": "0.3", "names": [ { "name": "", "description": "Exiting" } ], "categories": [ { "name": "", "description": "other" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "Exiting" }, "lead": "", "type": "class", "examples": [] } ], "general": [ { "subheads": [], "description": "Emitted every 2 seconds after enabling it by calling SetHeartbeat.", "return": [ "{boolean} `pulse` Toggles between every JSON message as an \"I am alive\" indicator.", "{string (optional)} `current-profile` Current active profile.", "{string (optional)} `current-scene` Current active scene.", "{boolean (optional)} `streaming` Current streaming state.", "{int (optional)} `total-stream-time` Total time (in seconds) since the stream started.", "{int (optional)} `total-stream-bytes` Total bytes sent since the stream started.", "{int (optional)} `total-stream-frames` Total frames streamed since the stream started.", "{boolean (optional)} `recording` Current recording state.", "{int (optional)} `total-record-time` Total time (in seconds) since recording started.", "{int (optional)} `total-record-bytes` Total bytes recorded since the recording started.", "{int (optional)} `total-record-frames` Total frames recorded since the recording started.", "{OBSStats} `stats` OBS Stats" ], "api": "events", "name": "Heartbeat", "category": "general", "since": "v0.3", "returns": [ { "type": "boolean", "name": "pulse", "description": "Toggles between every JSON message as an \"I am alive\" indicator." }, { "type": "string (optional)", "name": "current-profile", "description": "Current active profile." }, { "type": "string (optional)", "name": "current-scene", "description": "Current active scene." }, { "type": "boolean (optional)", "name": "streaming", "description": "Current streaming state." }, { "type": "int (optional)", "name": "total-stream-time", "description": "Total time (in seconds) since the stream started." }, { "type": "int (optional)", "name": "total-stream-bytes", "description": "Total bytes sent since the stream started." }, { "type": "int (optional)", "name": "total-stream-frames", "description": "Total frames streamed since the stream started." }, { "type": "boolean (optional)", "name": "recording", "description": "Current recording state." }, { "type": "int (optional)", "name": "total-record-time", "description": "Total time (in seconds) since recording started." }, { "type": "int (optional)", "name": "total-record-bytes", "description": "Total bytes recorded since the recording started." }, { "type": "int (optional)", "name": "total-record-frames", "description": "Total frames recorded since the recording started." }, { "type": "OBSStats", "name": "stats", "description": "OBS Stats" } ], "names": [ { "name": "", "description": "Heartbeat" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "v0.3" } ], "heading": { "level": 2, "text": "Heartbeat" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A custom broadcast message, sent by the server, requested by one of the websocket clients.", "return": [ "{String} `realm` Identifier provided by the sender", "{Object} `data` User-defined data" ], "api": "events", "name": "BroadcastCustomMessage", "category": "general", "since": "4.7.0", "returns": [ { "type": "String", "name": "realm", "description": "Identifier provided by the sender" }, { "type": "Object", "name": "data", "description": "User-defined data" } ], "names": [ { "name": "", "description": "BroadcastCustomMessage" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "BroadcastCustomMessage" }, "lead": "", "type": "class", "examples": [] } ], "sources": [ { "subheads": [], "description": "A source has been created. A source can be an input, a scene or a transition.", "return": [ "{String} `sourceName` Source name", "{String} `sourceType` Source type. Can be \"input\", \"scene\", \"transition\" or \"filter\".", "{String} `sourceKind` Source kind.", "{Object} `sourceSettings` Source settings" ], "api": "events", "name": "SourceCreated", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceType", "description": "Source type. Can be \"input\", \"scene\", \"transition\" or \"filter\"." }, { "type": "String", "name": "sourceKind", "description": "Source kind." }, { "type": "Object", "name": "sourceSettings", "description": "Source settings" } ], "names": [ { "name": "", "description": "SourceCreated" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceCreated" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A source has been destroyed/removed. A source can be an input, a scene or a transition.", "return": [ "{String} `sourceName` Source name", "{String} `sourceType` Source type. Can be \"input\", \"scene\", \"transition\" or \"filter\".", "{String} `sourceKind` Source kind." ], "api": "events", "name": "SourceDestroyed", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceType", "description": "Source type. Can be \"input\", \"scene\", \"transition\" or \"filter\"." }, { "type": "String", "name": "sourceKind", "description": "Source kind." } ], "names": [ { "name": "", "description": "SourceDestroyed" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceDestroyed" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "The volume of a source has changed.", "return": [ "{String} `sourceName` Source name", "{float} `volume` Source volume", "{float} `volumeDb` Source volume in Decibel" ], "api": "events", "name": "SourceVolumeChanged", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "float", "name": "volume", "description": "Source volume" }, { "type": "float", "name": "volumeDb", "description": "Source volume in Decibel" } ], "names": [ { "name": "", "description": "SourceVolumeChanged" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceVolumeChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A source has been muted or unmuted.", "return": [ "{String} `sourceName` Source name", "{boolean} `muted` Mute status of the source" ], "api": "events", "name": "SourceMuteStateChanged", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "boolean", "name": "muted", "description": "Mute status of the source" } ], "names": [ { "name": "", "description": "SourceMuteStateChanged" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceMuteStateChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A source has removed audio.", "return": "{String} `sourceName` Source name", "api": "events", "name": "SourceAudioDeactivated", "category": "sources", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" } ], "names": [ { "name": "", "description": "SourceAudioDeactivated" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "SourceAudioDeactivated" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A source has added audio.", "return": "{String} `sourceName` Source name", "api": "events", "name": "SourceAudioActivated", "category": "sources", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" } ], "names": [ { "name": "", "description": "SourceAudioActivated" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "SourceAudioActivated" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "The audio sync offset of a source has changed.", "return": [ "{String} `sourceName` Source name", "{int} `syncOffset` Audio sync offset of the source (in nanoseconds)" ], "api": "events", "name": "SourceAudioSyncOffsetChanged", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "int", "name": "syncOffset", "description": "Audio sync offset of the source (in nanoseconds)" } ], "names": [ { "name": "", "description": "SourceAudioSyncOffsetChanged" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceAudioSyncOffsetChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Audio mixer routing changed on a source.", "return": [ "{String} `sourceName` Source name", "{Array} `mixers` Routing status of the source for each audio mixer (array of 6 values)", "{int} `mixers.*.id` Mixer number", "{boolean} `mixers.*.enabled` Routing status", "{String} `hexMixersValue` Raw mixer flags (little-endian, one bit per mixer) as an hexadecimal value" ], "api": "events", "name": "SourceAudioMixersChanged", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "Array", "name": "mixers", "description": "Routing status of the source for each audio mixer (array of 6 values)" }, { "type": "int", "name": "mixers.*.id", "description": "Mixer number" }, { "type": "boolean", "name": "mixers.*.enabled", "description": "Routing status" }, { "type": "String", "name": "hexMixersValue", "description": "Raw mixer flags (little-endian, one bit per mixer) as an hexadecimal value" } ], "names": [ { "name": "", "description": "SourceAudioMixersChanged" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceAudioMixersChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A source has been renamed.", "return": [ "{String} `previousName` Previous source name", "{String} `newName` New source name", "{String} `sourceType` Type of source (input, scene, filter, transition)" ], "api": "events", "name": "SourceRenamed", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "previousName", "description": "Previous source name" }, { "type": "String", "name": "newName", "description": "New source name" }, { "type": "String", "name": "sourceType", "description": "Type of source (input, scene, filter, transition)" } ], "names": [ { "name": "", "description": "SourceRenamed" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceRenamed" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A filter was added to a source.", "return": [ "{String} `sourceName` Source name", "{String} `filterName` Filter name", "{String} `filterType` Filter type", "{Object} `filterSettings` Filter settings" ], "api": "events", "name": "SourceFilterAdded", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "filterName", "description": "Filter name" }, { "type": "String", "name": "filterType", "description": "Filter type" }, { "type": "Object", "name": "filterSettings", "description": "Filter settings" } ], "names": [ { "name": "", "description": "SourceFilterAdded" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceFilterAdded" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A filter was removed from a source.", "return": [ "{String} `sourceName` Source name", "{String} `filterName` Filter name", "{String} `filterType` Filter type" ], "api": "events", "name": "SourceFilterRemoved", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "filterName", "description": "Filter name" }, { "type": "String", "name": "filterType", "description": "Filter type" } ], "names": [ { "name": "", "description": "SourceFilterRemoved" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceFilterRemoved" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "The visibility/enabled state of a filter changed", "return": [ "{String} `sourceName` Source name", "{String} `filterName` Filter name", "{Boolean} `filterEnabled` New filter state" ], "api": "events", "name": "SourceFilterVisibilityChanged", "category": "sources", "since": "4.7.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "filterName", "description": "Filter name" }, { "type": "Boolean", "name": "filterEnabled", "description": "New filter state" } ], "names": [ { "name": "", "description": "SourceFilterVisibilityChanged" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "SourceFilterVisibilityChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Filters in a source have been reordered.", "return": [ "{String} `sourceName` Source name", "{Array} `filters` Ordered Filters list", "{String} `filters.*.name` Filter name", "{String} `filters.*.type` Filter type", "{boolean} `filters.*.enabled` Filter visibility status" ], "api": "events", "name": "SourceFiltersReordered", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "Array", "name": "filters", "description": "Ordered Filters list" }, { "type": "String", "name": "filters.*.name", "description": "Filter name" }, { "type": "String", "name": "filters.*.type", "description": "Filter type" }, { "type": "boolean", "name": "filters.*.enabled", "description": "Filter visibility status" } ], "names": [ { "name": "", "description": "SourceFiltersReordered" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SourceFiltersReordered" }, "lead": "", "type": "class", "examples": [] } ], "media": [ { "subheads": [], "description": "\n\nNote: 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.", "return": [ "{String} `sourceName` Source name", "{String} `sourceKind` The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" ], "api": "events", "name": "MediaPlaying", "category": "media", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceKind", "description": "The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" } ], "names": [ { "name": "", "description": "MediaPlaying" } ], "categories": [ { "name": "", "description": "media" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "MediaPlaying" }, "lead": "A media source has started playing.", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "return": [ "{String} `sourceName` Source name", "{String} `sourceKind` The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" ], "api": "events", "name": "MediaPaused", "category": "media", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceKind", "description": "The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" } ], "names": [ { "name": "", "description": "MediaPaused" } ], "categories": [ { "name": "", "description": "media" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "MediaPaused" }, "lead": "A media source has been paused.", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "return": [ "{String} `sourceName` Source name", "{String} `sourceKind` The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" ], "api": "events", "name": "MediaRestarted", "category": "media", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceKind", "description": "The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" } ], "names": [ { "name": "", "description": "MediaRestarted" } ], "categories": [ { "name": "", "description": "media" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "MediaRestarted" }, "lead": "A media source has been restarted.", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "return": [ "{String} `sourceName` Source name", "{String} `sourceKind` The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" ], "api": "events", "name": "MediaStopped", "category": "media", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceKind", "description": "The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" } ], "names": [ { "name": "", "description": "MediaStopped" } ], "categories": [ { "name": "", "description": "media" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "MediaStopped" }, "lead": "A media source has been stopped.", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "return": [ "{String} `sourceName` Source name", "{String} `sourceKind` The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" ], "api": "events", "name": "MediaNext", "category": "media", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceKind", "description": "The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" } ], "names": [ { "name": "", "description": "MediaNext" } ], "categories": [ { "name": "", "description": "media" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "MediaNext" }, "lead": "A media source has gone to the next item in the playlist.", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "return": [ "{String} `sourceName` Source name", "{String} `sourceKind` The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" ], "api": "events", "name": "MediaPrevious", "category": "media", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceKind", "description": "The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" } ], "names": [ { "name": "", "description": "MediaPrevious" } ], "categories": [ { "name": "", "description": "media" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "MediaPrevious" }, "lead": "A media source has gone to the previous item in the playlist.", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "return": [ "{String} `sourceName` Source name", "{String} `sourceKind` The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" ], "api": "events", "name": "MediaStarted", "category": "media", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceKind", "description": "The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" } ], "names": [ { "name": "", "description": "MediaStarted" } ], "categories": [ { "name": "", "description": "media" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "MediaStarted" }, "lead": "A media source has been started.", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "return": [ "{String} `sourceName` Source name", "{String} `sourceKind` The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" ], "api": "events", "name": "MediaEnded", "category": "media", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceKind", "description": "The ID type of the source (Eg. `vlc_source` or `ffmpeg_source`)" } ], "names": [ { "name": "", "description": "MediaEnded" } ], "categories": [ { "name": "", "description": "media" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "MediaEnded" }, "lead": "A media source has ended.", "type": "class", "examples": [] } ], "scene items": [ { "subheads": [], "description": "Scene items within a scene have been reordered.", "return": [ "{String} `scene-name` Name of the scene where items have been reordered.", "{Array} `scene-items` Ordered list of scene items", "{String} `scene-items.*.source-name` Item source name", "{int} `scene-items.*.item-id` Scene item unique ID" ], "api": "events", "name": "SourceOrderChanged", "category": "scene items", "since": "4.0.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene where items have been reordered." }, { "type": "Array", "name": "scene-items", "description": "Ordered list of scene items" }, { "type": "String", "name": "scene-items.*.source-name", "description": "Item source name" }, { "type": "int", "name": "scene-items.*.item-id", "description": "Scene item unique ID" } ], "names": [ { "name": "", "description": "SourceOrderChanged" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SourceOrderChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A scene item has been added to a scene.", "return": [ "{String} `scene-name` Name of the scene.", "{String} `item-name` Name of the item added to the scene.", "{int} `item-id` Scene item ID" ], "api": "events", "name": "SceneItemAdded", "category": "scene items", "since": "4.0.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene." }, { "type": "String", "name": "item-name", "description": "Name of the item added to the scene." }, { "type": "int", "name": "item-id", "description": "Scene item ID" } ], "names": [ { "name": "", "description": "SceneItemAdded" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SceneItemAdded" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A scene item has been removed from a scene.", "return": [ "{String} `scene-name` Name of the scene.", "{String} `item-name` Name of the item removed from the scene.", "{int} `item-id` Scene item ID" ], "api": "events", "name": "SceneItemRemoved", "category": "scene items", "since": "4.0.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene." }, { "type": "String", "name": "item-name", "description": "Name of the item removed from the scene." }, { "type": "int", "name": "item-id", "description": "Scene item ID" } ], "names": [ { "name": "", "description": "SceneItemRemoved" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SceneItemRemoved" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A scene item's visibility has been toggled.", "return": [ "{String} `scene-name` Name of the scene.", "{String} `item-name` Name of the item in the scene.", "{int} `item-id` Scene item ID", "{boolean} `item-visible` New visibility state of the item." ], "api": "events", "name": "SceneItemVisibilityChanged", "category": "scene items", "since": "4.0.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene." }, { "type": "String", "name": "item-name", "description": "Name of the item in the scene." }, { "type": "int", "name": "item-id", "description": "Scene item ID" }, { "type": "boolean", "name": "item-visible", "description": "New visibility state of the item." } ], "names": [ { "name": "", "description": "SceneItemVisibilityChanged" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SceneItemVisibilityChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A scene item's locked status has been toggled.", "return": [ "{String} `scene-name` Name of the scene.", "{String} `item-name` Name of the item in the scene.", "{int} `item-id` Scene item ID", "{boolean} `item-locked` New locked state of the item." ], "api": "events", "name": "SceneItemLockChanged", "category": "scene items", "since": "4.8.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene." }, { "type": "String", "name": "item-name", "description": "Name of the item in the scene." }, { "type": "int", "name": "item-id", "description": "Scene item ID" }, { "type": "boolean", "name": "item-locked", "description": "New locked state of the item." } ], "names": [ { "name": "", "description": "SceneItemLockChanged" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "SceneItemLockChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A scene item's transform has been changed.", "return": [ "{String} `scene-name` Name of the scene.", "{String} `item-name` Name of the item in the scene.", "{int} `item-id` Scene item ID", "{SceneItemTransform} `transform` Scene item transform properties" ], "api": "events", "name": "SceneItemTransformChanged", "category": "scene items", "since": "4.6.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene." }, { "type": "String", "name": "item-name", "description": "Name of the item in the scene." }, { "type": "int", "name": "item-id", "description": "Scene item ID" }, { "type": "SceneItemTransform", "name": "transform", "description": "Scene item transform properties" } ], "names": [ { "name": "", "description": "SceneItemTransformChanged" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SceneItemTransformChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A scene item is selected.", "return": [ "{String} `scene-name` Name of the scene.", "{String} `item-name` Name of the item in the scene.", "{int} `item-id` Name of the item in the scene." ], "api": "events", "name": "SceneItemSelected", "category": "scene items", "since": "4.6.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene." }, { "type": "String", "name": "item-name", "description": "Name of the item in the scene." }, { "type": "int", "name": "item-id", "description": "Name of the item in the scene." } ], "names": [ { "name": "", "description": "SceneItemSelected" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SceneItemSelected" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "A scene item is deselected.", "return": [ "{String} `scene-name` Name of the scene.", "{String} `item-name` Name of the item in the scene.", "{int} `item-id` Name of the item in the scene." ], "api": "events", "name": "SceneItemDeselected", "category": "scene items", "since": "4.6.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene." }, { "type": "String", "name": "item-name", "description": "Name of the item in the scene." }, { "type": "int", "name": "item-id", "description": "Name of the item in the scene." } ], "names": [ { "name": "", "description": "SceneItemDeselected" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SceneItemDeselected" }, "lead": "", "type": "class", "examples": [] } ], "studio mode": [ { "subheads": [], "description": "The selected preview scene has changed (only available in Studio Mode).", "return": [ "{String} `scene-name` Name of the scene being previewed.", "{Array} `sources` List of sources composing the scene. Same specification as [`GetCurrentScene`](#getcurrentscene)." ], "api": "events", "name": "PreviewSceneChanged", "category": "studio mode", "since": "4.1.0", "returns": [ { "type": "String", "name": "scene-name", "description": "Name of the scene being previewed." }, { "type": "Array", "name": "sources", "description": "List of sources composing the scene. Same specification as [`GetCurrentScene`](#getcurrentscene)." } ], "names": [ { "name": "", "description": "PreviewSceneChanged" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "PreviewSceneChanged" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Studio Mode has been enabled or disabled.", "return": "{boolean} `new-state` The new enabled state of Studio Mode.", "api": "events", "name": "StudioModeSwitched", "category": "studio mode", "since": "4.1.0", "returns": [ { "type": "boolean", "name": "new-state", "description": "The new enabled state of Studio Mode." } ], "names": [ { "name": "", "description": "StudioModeSwitched" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "StudioModeSwitched" }, "lead": "", "type": "class", "examples": [] } ] }, "requests": { "general": [ { "subheads": [], "description": "Returns the latest version of the plugin and the API.", "return": [ "{double} `version` OBSRemote compatible API version. Fixed to 1.1 for retrocompatibility.", "{String} `obs-websocket-version` obs-websocket plugin version.", "{String} `obs-studio-version` OBS Studio program version.", "{String} `available-requests` List of available request types, formatted as a comma-separated list string (e.g. : \"Method1,Method2,Method3\").", "{String} `supported-image-export-formats` List of supported formats for features that use image export (like the TakeSourceScreenshot request type) formatted as a comma-separated list string" ], "api": "requests", "name": "GetVersion", "category": "general", "since": "0.3", "returns": [ { "type": "double", "name": "version", "description": "OBSRemote compatible API version. Fixed to 1.1 for retrocompatibility." }, { "type": "String", "name": "obs-websocket-version", "description": "obs-websocket plugin version." }, { "type": "String", "name": "obs-studio-version", "description": "OBS Studio program version." }, { "type": "String", "name": "available-requests", "description": "List of available request types, formatted as a comma-separated list string (e.g. : \"Method1,Method2,Method3\")." }, { "type": "String", "name": "supported-image-export-formats", "description": "List of supported formats for features that use image export (like the TakeSourceScreenshot request type) formatted as a comma-separated list string" } ], "names": [ { "name": "", "description": "GetVersion" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "GetVersion" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Tells the client if authentication is required. If so, returns authentication parameters `challenge`\nand `salt` (see \"Authentication\" for more information).", "return": [ "{boolean} `authRequired` Indicates whether authentication is required.", "{String (optional)} `challenge`", "{String (optional)} `salt`" ], "api": "requests", "name": "GetAuthRequired", "category": "general", "since": "0.3", "returns": [ { "type": "boolean", "name": "authRequired", "description": "Indicates whether authentication is required." }, { "type": "String (optional)", "name": "challenge", "description": "" }, { "type": "String (optional)", "name": "salt", "description": "" } ], "names": [ { "name": "", "description": "GetAuthRequired" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "GetAuthRequired" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Attempt to authenticate the client to the server.", "param": "{String} `auth` Response to the auth challenge (see \"Authentication\" for more information).", "api": "requests", "name": "Authenticate", "category": "general", "since": "0.3", "params": [ { "type": "String", "name": "auth", "description": "Response to the auth challenge (see \"Authentication\" for more information)." } ], "names": [ { "name": "", "description": "Authenticate" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "Authenticate" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Enable/disable sending of the Heartbeat event", "param": "{boolean} `enable` Starts/Stops emitting heartbeat messages", "api": "requests", "name": "SetHeartbeat", "category": "general", "since": "4.3.0", "deprecated": "Since 4.9.0. Please poll the appropriate data using requests. Will be removed in v5.0.0.", "params": [ { "type": "boolean", "name": "enable", "description": "Starts/Stops emitting heartbeat messages" } ], "names": [ { "name": "", "description": "SetHeartbeat" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "deprecateds": [ { "name": "", "description": "Since 4.9.0. Please poll the appropriate data using requests. Will be removed in v5.0.0." } ], "heading": { "level": 2, "text": "SetHeartbeat" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the filename formatting string", "param": "{String} `filename-formatting` Filename formatting string to set.", "api": "requests", "name": "SetFilenameFormatting", "category": "general", "since": "4.3.0", "params": [ { "type": "String", "name": "filename-formatting", "description": "Filename formatting string to set." } ], "names": [ { "name": "", "description": "SetFilenameFormatting" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "heading": { "level": 2, "text": "SetFilenameFormatting" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the filename formatting string", "return": "{String} `filename-formatting` Current filename formatting string.", "api": "requests", "name": "GetFilenameFormatting", "category": "general", "since": "4.3.0", "returns": [ { "type": "String", "name": "filename-formatting", "description": "Current filename formatting string." } ], "names": [ { "name": "", "description": "GetFilenameFormatting" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "heading": { "level": 2, "text": "GetFilenameFormatting" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get OBS stats (almost the same info as provided in OBS' stats window)", "return": "{OBSStats} `stats` [OBS stats](#obsstats)", "api": "requests", "name": "GetStats", "category": "general", "since": "4.6.0", "returns": [ { "type": "OBSStats", "name": "stats", "description": "[OBS stats](#obsstats)" } ], "names": [ { "name": "", "description": "GetStats" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "GetStats" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Broadcast custom message to all connected WebSocket clients", "param": [ "{String} `realm` Identifier to be choosen by the client", "{Object} `data` User-defined data" ], "api": "requests", "name": "BroadcastCustomMessage", "category": "general", "since": "4.7.0", "params": [ { "type": "String", "name": "realm", "description": "Identifier to be choosen by the client" }, { "type": "Object", "name": "data", "description": "User-defined data" } ], "names": [ { "name": "", "description": "BroadcastCustomMessage" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "BroadcastCustomMessage" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get basic OBS video information", "return": [ "{int} `baseWidth` Base (canvas) width", "{int} `baseHeight` Base (canvas) height", "{int} `outputWidth` Output width", "{int} `outputHeight` Output height", "{String} `scaleType` Scaling method used if output size differs from base size", "{double} `fps` Frames rendered per second", "{String} `videoFormat` Video color format", "{String} `colorSpace` Color space for YUV", "{String} `colorRange` Color range (full or partial)" ], "api": "requests", "name": "GetVideoInfo", "category": "general", "since": "4.6.0", "returns": [ { "type": "int", "name": "baseWidth", "description": "Base (canvas) width" }, { "type": "int", "name": "baseHeight", "description": "Base (canvas) height" }, { "type": "int", "name": "outputWidth", "description": "Output width" }, { "type": "int", "name": "outputHeight", "description": "Output height" }, { "type": "String", "name": "scaleType", "description": "Scaling method used if output size differs from base size" }, { "type": "double", "name": "fps", "description": "Frames rendered per second" }, { "type": "String", "name": "videoFormat", "description": "Video color format" }, { "type": "String", "name": "colorSpace", "description": "Color space for YUV" }, { "type": "String", "name": "colorRange", "description": "Color range (full or partial)" } ], "names": [ { "name": "", "description": "GetVideoInfo" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "GetVideoInfo" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Open a projector window or create a projector on a monitor. Requires OBS v24.0.4 or newer.", "param": [ "{String (Optional)} `type` Type of projector: `Preview` (default), `Source`, `Scene`, `StudioProgram`, or `Multiview` (case insensitive).", "{int (Optional)} `monitor` Monitor to open the projector on. If -1 or omitted, opens a window.", "{String (Optional)} `geometry` 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.", "{String (Optional)} `name` Name of the source or scene to be displayed (ignored for other projector types)." ], "api": "requests", "name": "OpenProjector", "category": "general", "since": "4.8.0", "params": [ { "type": "String (Optional)", "name": "type", "description": "Type of projector: `Preview` (default), `Source`, `Scene`, `StudioProgram`, or `Multiview` (case insensitive)." }, { "type": "int (Optional)", "name": "monitor", "description": "Monitor to open the projector on. If -1 or omitted, opens a window." }, { "type": "String (Optional)", "name": "geometry", "description": "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." }, { "type": "String (Optional)", "name": "name", "description": "Name of the source or scene to be displayed (ignored for other projector types)." } ], "names": [ { "name": "", "description": "OpenProjector" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "OpenProjector" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Executes hotkey routine, identified by hotkey unique name", "param": "{String} `hotkeyName` Unique name of the hotkey, as defined when registering the hotkey (e.g. \"ReplayBuffer.Save\")", "api": "requests", "name": "TriggerHotkeyByName", "category": "general", "since": "4.9.0", "params": [ { "type": "String", "name": "hotkeyName", "description": "Unique name of the hotkey, as defined when registering the hotkey (e.g. \"ReplayBuffer.Save\")" } ], "names": [ { "name": "", "description": "TriggerHotkeyByName" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "TriggerHotkeyByName" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Executes hotkey routine, identified by bound combination of keys. A single key combination might trigger multiple hotkey routines depending on user settings", "param": [ "{String} `keyId` 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)", "{Object (Optional)} `keyModifiers` Optional key modifiers object. False entries can be ommitted", "{boolean} `keyModifiers.shift` Trigger Shift Key", "{boolean} `keyModifiers.alt` Trigger Alt Key", "{boolean} `keyModifiers.control` Trigger Control (Ctrl) Key", "{boolean} `keyModifiers.command` Trigger Command Key (Mac)" ], "api": "requests", "name": "TriggerHotkeyBySequence", "category": "general", "since": "4.9.0", "params": [ { "type": "String", "name": "keyId", "description": "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)" }, { "type": "Object (Optional)", "name": "keyModifiers", "description": "Optional key modifiers object. False entries can be ommitted" }, { "type": "boolean", "name": "keyModifiers.shift", "description": "Trigger Shift Key" }, { "type": "boolean", "name": "keyModifiers.alt", "description": "Trigger Alt Key" }, { "type": "boolean", "name": "keyModifiers.control", "description": "Trigger Control (Ctrl) Key" }, { "type": "boolean", "name": "keyModifiers.command", "description": "Trigger Command Key (Mac)" } ], "names": [ { "name": "", "description": "TriggerHotkeyBySequence" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "TriggerHotkeyBySequence" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Executes a list of requests sequentially (one-by-one on the same thread).", "param": [ "{Array} `requests` Array of requests to perform. Executed in order.", "{String} `requests.*.request-type` Request type. Eg. `GetVersion`.", "{String (Optional)} `requests.*.message-id` ID of the individual request. Can be any string and not required to be unique. Defaults to empty string if not specified.", "{boolean (Optional)} `abortOnFail` Stop processing batch requests if one returns a failure." ], "return": [ "{Array} `results` Batch requests results, ordered sequentially.", "{String} `results.*.message-id` ID of the individual request which was originally provided by the client.", "{String} `results.*.status` Status response as string. Either `ok` or `error`.", "{String (Optional)} `results.*.error` Error message accompanying an `error` status." ], "api": "requests", "name": "ExecuteBatch", "category": "general", "since": "4.9.0", "returns": [ { "type": "Array", "name": "results", "description": "Batch requests results, ordered sequentially." }, { "type": "String", "name": "results.*.message-id", "description": "ID of the individual request which was originally provided by the client." }, { "type": "String", "name": "results.*.status", "description": "Status response as string. Either `ok` or `error`." }, { "type": "String (Optional)", "name": "results.*.error", "description": "Error message accompanying an `error` status." } ], "params": [ { "type": "Array", "name": "requests", "description": "Array of requests to perform. Executed in order." }, { "type": "String", "name": "requests.*.request-type", "description": "Request type. Eg. `GetVersion`." }, { "type": "String (Optional)", "name": "requests.*.message-id", "description": "ID of the individual request. Can be any string and not required to be unique. Defaults to empty string if not specified." }, { "type": "boolean (Optional)", "name": "abortOnFail", "description": "Stop processing batch requests if one returns a failure." } ], "names": [ { "name": "", "description": "ExecuteBatch" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "ExecuteBatch" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Waits for the specified duration. Designed to be used in `ExecuteBatch` operations.", "param": "{int} `sleepMillis` Delay in milliseconds to wait before continuing.", "api": "requests", "name": "Sleep", "category": "general", "since": "4.9.1", "params": [ { "type": "int", "name": "sleepMillis", "description": "Delay in milliseconds to wait before continuing." } ], "names": [ { "name": "", "description": "Sleep" } ], "categories": [ { "name": "", "description": "general" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "Sleep" }, "lead": "", "type": "class", "examples": [] } ], "media control": [ { "subheads": [], "description": "Pause or play a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)\nNote :Leaving out `playPause` toggles the current pause state", "param": [ "{String} `sourceName` Source name.", "{boolean} `playPause` (optional) Whether to pause or play the source. `false` for play, `true` for pause." ], "api": "requests", "name": "PlayPauseMedia", "category": "media control", "since": "4.9.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "boolean", "name": "playPause", "description": "(optional) Whether to pause or play the source. `false` for play, `true` for pause." } ], "names": [ { "name": "", "description": "PlayPauseMedia" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "PlayPauseMedia" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Restart a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)", "param": "{String} `sourceName` Source name.", "api": "requests", "name": "RestartMedia", "category": "media control", "since": "4.9.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "RestartMedia" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "RestartMedia" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Stop a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)", "param": "{String} `sourceName` Source name.", "api": "requests", "name": "StopMedia", "category": "media control", "since": "4.9.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "StopMedia" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "StopMedia" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Skip to the next media item in the playlist. Supports only vlc media source (as of OBS v25.0.8)", "param": "{String} `sourceName` Source name.", "api": "requests", "name": "NextMedia", "category": "media control", "since": "4.9.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "NextMedia" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "NextMedia" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Go to the previous media item in the playlist. Supports only vlc media source (as of OBS v25.0.8)", "param": "{String} `sourceName` Source name.", "api": "requests", "name": "PreviousMedia", "category": "media control", "since": "4.9.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "PreviousMedia" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "PreviousMedia" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the length of media in milliseconds. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)\nNote: 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.", "param": "{String} `sourceName` Source name.", "return": "{int} `mediaDuration` The total length of media in milliseconds..", "api": "requests", "name": "GetMediaDuration", "category": "media control", "since": "4.9.0", "returns": [ { "type": "int", "name": "mediaDuration", "description": "The total length of media in milliseconds.." } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "GetMediaDuration" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetMediaDuration" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the current timestamp of media in milliseconds. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)", "param": "{String} `sourceName` Source name.", "return": "{int} `timestamp` The time in milliseconds since the start of the media.", "api": "requests", "name": "GetMediaTime", "category": "media control", "since": "4.9.0", "returns": [ { "type": "int", "name": "timestamp", "description": "The time in milliseconds since the start of the media." } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "GetMediaTime" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetMediaTime" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the timestamp of a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)", "param": [ "{String} `sourceName` Source name.", "{int} `timestamp` Milliseconds to set the timestamp to." ], "api": "requests", "name": "SetMediaTime", "category": "media control", "since": "4.9.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "int", "name": "timestamp", "description": "Milliseconds to set the timestamp to." } ], "names": [ { "name": "", "description": "SetMediaTime" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "SetMediaTime" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Scrub media using a supplied offset. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)\nNote: Due to processing/network delays, this request is not perfect. The processing rate of this request has also not been tested.", "param": [ "{String} `sourceName` Source name.", "{int} `timeOffset` Millisecond offset (positive or negative) to offset the current media position." ], "api": "requests", "name": "ScrubMedia", "category": "media control", "since": "4.9.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "int", "name": "timeOffset", "description": "Millisecond offset (positive or negative) to offset the current media position." } ], "names": [ { "name": "", "description": "ScrubMedia" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "ScrubMedia" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the current playing state of a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)", "param": "{String} `sourceName` Source name.", "return": "{String} `mediaState` The media state of the provided source. States: `none`, `playing`, `opening`, `buffering`, `paused`, `stopped`, `ended`, `error`, `unknown`", "api": "requests", "name": "GetMediaState", "category": "media control", "since": "4.9.0", "returns": [ { "type": "String", "name": "mediaState", "description": "The media state of the provided source. States: `none`, `playing`, `opening`, `buffering`, `paused`, `stopped`, `ended`, `error`, `unknown`" } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "GetMediaState" } ], "categories": [ { "name": "", "description": "media control" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetMediaState" }, "lead": "", "type": "class", "examples": [] } ], "sources": [ { "subheads": [], "description": "List the media state of all media sources (vlc and media source)", "return": [ "{Array} `mediaSources` Array of sources", "{String} `mediaSources.*.sourceName` Unique source name", "{String} `mediaSources.*.sourceKind` Unique source internal type (a.k.a `ffmpeg_source` or `vlc_source`)", "{String} `mediaSources.*.mediaState` The current state of media for that source. States: `none`, `playing`, `opening`, `buffering`, `paused`, `stopped`, `ended`, `error`, `unknown`" ], "api": "requests", "name": "GetMediaSourcesList", "category": "sources", "since": "4.9.0", "returns": [ { "type": "Array", "name": "mediaSources", "description": "Array of sources" }, { "type": "String", "name": "mediaSources.*.sourceName", "description": "Unique source name" }, { "type": "String", "name": "mediaSources.*.sourceKind", "description": "Unique source internal type (a.k.a `ffmpeg_source` or `vlc_source`)" }, { "type": "String", "name": "mediaSources.*.mediaState", "description": "The current state of media for that source. States: `none`, `playing`, `opening`, `buffering`, `paused`, `stopped`, `ended`, `error`, `unknown`" } ], "names": [ { "name": "", "description": "GetMediaSourcesList" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetMediaSourcesList" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Create a source and add it as a sceneitem to a scene.", "param": [ "{String} `sourceName` Source name.", "{String} `sourceKind` Source kind, Eg. `vlc_source`.", "{String} `sceneName` Scene to add the new source to.", "{Object (optional)} `sourceSettings` Source settings data.", "{boolean (optional)} `setVisible` Set the created SceneItem as visible or not. Defaults to true" ], "return": "{int} `itemId` ID of the SceneItem in the scene.", "api": "requests", "name": "CreateSource", "category": "sources", "since": "4.9.0", "returns": [ { "type": "int", "name": "itemId", "description": "ID of the SceneItem in the scene." } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "String", "name": "sourceKind", "description": "Source kind, Eg. `vlc_source`." }, { "type": "String", "name": "sceneName", "description": "Scene to add the new source to." }, { "type": "Object (optional)", "name": "sourceSettings", "description": "Source settings data." }, { "type": "boolean (optional)", "name": "setVisible", "description": "Set the created SceneItem as visible or not. Defaults to true" } ], "names": [ { "name": "", "description": "CreateSource" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "CreateSource" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "List all sources available in the running OBS instance", "return": [ "{Array} `sources` Array of sources", "{String} `sources.*.name` Unique source name", "{String} `sources.*.typeId` Non-unique source internal type (a.k.a kind)", "{String} `sources.*.type` Source type. Value is one of the following: \"input\", \"filter\", \"transition\", \"scene\" or \"unknown\"" ], "api": "requests", "name": "GetSourcesList", "category": "sources", "since": "4.3.0", "returns": [ { "type": "Array", "name": "sources", "description": "Array of sources" }, { "type": "String", "name": "sources.*.name", "description": "Unique source name" }, { "type": "String", "name": "sources.*.typeId", "description": "Non-unique source internal type (a.k.a kind)" }, { "type": "String", "name": "sources.*.type", "description": "Source type. Value is one of the following: \"input\", \"filter\", \"transition\", \"scene\" or \"unknown\"" } ], "names": [ { "name": "", "description": "GetSourcesList" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "heading": { "level": 2, "text": "GetSourcesList" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get a list of all available sources types", "return": [ "{Array} `types` Array of source types", "{String} `types.*.typeId` Non-unique internal source type ID", "{String} `types.*.displayName` Display name of the source type", "{String} `types.*.type` Type. Value is one of the following: \"input\", \"filter\", \"transition\" or \"other\"", "{Object} `types.*.defaultSettings` Default settings of this source type", "{Object} `types.*.caps` Source type capabilities", "{Boolean} `types.*.caps.isAsync` True if source of this type provide frames asynchronously", "{Boolean} `types.*.caps.hasVideo` True if sources of this type provide video", "{Boolean} `types.*.caps.hasAudio` True if sources of this type provide audio", "{Boolean} `types.*.caps.canInteract` True if interaction with this sources of this type is possible", "{Boolean} `types.*.caps.isComposite` True if sources of this type composite one or more sub-sources", "{Boolean} `types.*.caps.doNotDuplicate` True if sources of this type should not be fully duplicated", "{Boolean} `types.*.caps.doNotSelfMonitor` True if sources of this type may cause a feedback loop if it's audio is monitored and shouldn't be" ], "api": "requests", "name": "GetSourceTypesList", "category": "sources", "since": "4.3.0", "returns": [ { "type": "Array", "name": "types", "description": "Array of source types" }, { "type": "String", "name": "types.*.typeId", "description": "Non-unique internal source type ID" }, { "type": "String", "name": "types.*.displayName", "description": "Display name of the source type" }, { "type": "String", "name": "types.*.type", "description": "Type. Value is one of the following: \"input\", \"filter\", \"transition\" or \"other\"" }, { "type": "Object", "name": "types.*.defaultSettings", "description": "Default settings of this source type" }, { "type": "Object", "name": "types.*.caps", "description": "Source type capabilities" }, { "type": "Boolean", "name": "types.*.caps.isAsync", "description": "True if source of this type provide frames asynchronously" }, { "type": "Boolean", "name": "types.*.caps.hasVideo", "description": "True if sources of this type provide video" }, { "type": "Boolean", "name": "types.*.caps.hasAudio", "description": "True if sources of this type provide audio" }, { "type": "Boolean", "name": "types.*.caps.canInteract", "description": "True if interaction with this sources of this type is possible" }, { "type": "Boolean", "name": "types.*.caps.isComposite", "description": "True if sources of this type composite one or more sub-sources" }, { "type": "Boolean", "name": "types.*.caps.doNotDuplicate", "description": "True if sources of this type should not be fully duplicated" }, { "type": "Boolean", "name": "types.*.caps.doNotSelfMonitor", "description": "True if sources of this type may cause a feedback loop if it's audio is monitored and shouldn't be" } ], "names": [ { "name": "", "description": "GetSourceTypesList" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "heading": { "level": 2, "text": "GetSourceTypesList" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the volume of the specified source. Default response uses mul format, NOT SLIDER PERCENTAGE.", "param": [ "{String} `source` Source name.", "{boolean (optional)} `useDecibel` Output volume in decibels of attenuation instead of amplitude/mul." ], "return": [ "{String} `name` Source name.", "{double} `volume` Volume of the source. Between `0.0` and `20.0` if using mul, under `26.0` if using dB.", "{boolean} `muted` Indicates whether the source is muted." ], "api": "requests", "name": "GetVolume", "category": "sources", "since": "4.0.0", "returns": [ { "type": "String", "name": "name", "description": "Source name." }, { "type": "double", "name": "volume", "description": "Volume of the source. Between `0.0` and `20.0` if using mul, under `26.0` if using dB." }, { "type": "boolean", "name": "muted", "description": "Indicates whether the source is muted." } ], "params": [ { "type": "String", "name": "source", "description": "Source name." }, { "type": "boolean (optional)", "name": "useDecibel", "description": "Output volume in decibels of attenuation instead of amplitude/mul." } ], "names": [ { "name": "", "description": "GetVolume" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "GetVolume" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the volume of the specified source. Default request format uses mul, NOT SLIDER PERCENTAGE.", "param": [ "{String} `source` Source name.", "{double} `volume` 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.", "{boolean (optional)} `useDecibel` Interperet `volume` data as decibels instead of amplitude/mul." ], "api": "requests", "name": "SetVolume", "category": "sources", "since": "4.0.0", "params": [ { "type": "String", "name": "source", "description": "Source name." }, { "type": "double", "name": "volume", "description": "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." }, { "type": "boolean (optional)", "name": "useDecibel", "description": "Interperet `volume` data as decibels instead of amplitude/mul." } ], "names": [ { "name": "", "description": "SetVolume" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SetVolume" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Changes whether an audio track is active for a source.", "param": [ "{String} `sourceName` Source name.", "{int} `track` Audio tracks 1-6.", "{boolean} `active` Whether audio track is active or not." ], "api": "requests", "name": "SetTracks", "category": "sources", "since": "4.9.1", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "int", "name": "track", "description": "Audio tracks 1-6." }, { "type": "boolean", "name": "active", "description": "Whether audio track is active or not." } ], "names": [ { "name": "", "description": "SetTracks" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "SetTracks" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Gets whether an audio track is active for a source.", "param": "{String} `sourceName` Source name.", "return": [ "{boolean} `track1`", "{boolean} `track2`", "{boolean} `track3`", "{boolean} `track4`", "{boolean} `track5`", "{boolean} `track6`" ], "api": "requests", "name": "GetTracks", "category": "sources", "since": "4.9.1", "returns": [ { "type": "boolean", "name": "track1", "description": "" }, { "type": "boolean", "name": "track2", "description": "" }, { "type": "boolean", "name": "track3", "description": "" }, { "type": "boolean", "name": "track4", "description": "" }, { "type": "boolean", "name": "track5", "description": "" }, { "type": "boolean", "name": "track6", "description": "" } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "GetTracks" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "GetTracks" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the mute status of a specified source.", "param": "{String} `source` Source name.", "return": [ "{String} `name` Source name.", "{boolean} `muted` Mute status of the source." ], "api": "requests", "name": "GetMute", "category": "sources", "since": "4.0.0", "returns": [ { "type": "String", "name": "name", "description": "Source name." }, { "type": "boolean", "name": "muted", "description": "Mute status of the source." } ], "params": [ { "type": "String", "name": "source", "description": "Source name." } ], "names": [ { "name": "", "description": "GetMute" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "GetMute" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Sets the mute status of a specified source.", "param": [ "{String} `source` Source name.", "{boolean} `mute` Desired mute status." ], "api": "requests", "name": "SetMute", "category": "sources", "since": "4.0.0", "params": [ { "type": "String", "name": "source", "description": "Source name." }, { "type": "boolean", "name": "mute", "description": "Desired mute status." } ], "names": [ { "name": "", "description": "SetMute" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SetMute" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Inverts the mute status of a specified source.", "param": "{String} `source` Source name.", "api": "requests", "name": "ToggleMute", "category": "sources", "since": "4.0.0", "params": [ { "type": "String", "name": "source", "description": "Source name." } ], "names": [ { "name": "", "description": "ToggleMute" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "ToggleMute" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the source's active status of a specified source (if it is showing in the final mix).", "param": "{String} `sourceName` Source name.", "return": "{boolean} `sourceActive` Source active status of the source.", "api": "requests", "name": "GetSourceActive", "category": "sources", "since": "4.9.1", "returns": [ { "type": "boolean", "name": "sourceActive", "description": "Source active status of the source." } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "GetSourceActive" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "GetSourceActive" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the audio's active status of a specified source.", "param": "{String} `sourceName` Source name.", "return": "{boolean} `audioActive` Audio active status of the source.", "api": "requests", "name": "GetAudioActive", "category": "sources", "since": "4.9.0", "returns": [ { "type": "boolean", "name": "audioActive", "description": "Audio active status of the source." } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "GetAudioActive" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetAudioActive" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: If the new name already exists as a source, obs-websocket will return an error.", "param": [ "{String} `sourceName` Source name.", "{String} `newName` New source name." ], "api": "requests", "name": "SetSourceName", "category": "sources", "since": "4.8.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "String", "name": "newName", "description": "New source name." } ], "names": [ { "name": "", "description": "SetSourceName" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "SetSourceName" }, "lead": "Sets (aka rename) the name of a source. Also works with scenes since scenes are technically sources in OBS.", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the audio sync offset of a specified source.", "param": [ "{String} `source` Source name.", "{int} `offset` The desired audio sync offset (in nanoseconds)." ], "api": "requests", "name": "SetSyncOffset", "category": "sources", "since": "4.2.0", "params": [ { "type": "String", "name": "source", "description": "Source name." }, { "type": "int", "name": "offset", "description": "The desired audio sync offset (in nanoseconds)." } ], "names": [ { "name": "", "description": "SetSyncOffset" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "SetSyncOffset" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the audio sync offset of a specified source.", "param": "{String} `source` Source name.", "return": [ "{String} `name` Source name.", "{int} `offset` The audio sync offset (in nanoseconds)." ], "api": "requests", "name": "GetSyncOffset", "category": "sources", "since": "4.2.0", "returns": [ { "type": "String", "name": "name", "description": "Source name." }, { "type": "int", "name": "offset", "description": "The audio sync offset (in nanoseconds)." } ], "params": [ { "type": "String", "name": "source", "description": "Source name." } ], "names": [ { "name": "", "description": "GetSyncOffset" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "GetSyncOffset" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get settings of the specified source", "param": [ "{String} `sourceName` Source name.", "{String (optional)} `sourceType` Type of the specified source. Useful for type-checking if you expect a specific settings schema." ], "return": [ "{String} `sourceName` Source name", "{String} `sourceType` Type of the specified source", "{Object} `sourceSettings` Source settings (varies between source types, may require some probing around)." ], "api": "requests", "name": "GetSourceSettings", "category": "sources", "since": "4.3.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceType", "description": "Type of the specified source" }, { "type": "Object", "name": "sourceSettings", "description": "Source settings (varies between source types, may require some probing around)." } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "String (optional)", "name": "sourceType", "description": "Type of the specified source. Useful for type-checking if you expect a specific settings schema." } ], "names": [ { "name": "", "description": "GetSourceSettings" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "heading": { "level": 2, "text": "GetSourceSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set settings of the specified source.", "param": [ "{String} `sourceName` Source name.", "{String (optional)} `sourceType` Type of the specified source. Useful for type-checking to avoid settings a set of settings incompatible with the actual source's type.", "{Object} `sourceSettings` Source settings (varies between source types, may require some probing around)." ], "return": [ "{String} `sourceName` Source name", "{String} `sourceType` Type of the specified source", "{Object} `sourceSettings` Updated source settings" ], "api": "requests", "name": "SetSourceSettings", "category": "sources", "since": "4.3.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "sourceType", "description": "Type of the specified source" }, { "type": "Object", "name": "sourceSettings", "description": "Updated source settings" } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "String (optional)", "name": "sourceType", "description": "Type of the specified source. Useful for type-checking to avoid settings a set of settings incompatible with the actual source's type." }, { "type": "Object", "name": "sourceSettings", "description": "Source settings (varies between source types, may require some probing around)." } ], "names": [ { "name": "", "description": "SetSourceSettings" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "heading": { "level": 2, "text": "SetSourceSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the current properties of a Text GDI Plus source.", "param": "{String} `source` Source name.", "return": [ "{String} `source` Source name.", "{String} `align` Text Alignment (\"left\", \"center\", \"right\").", "{int} `bk_color` Background color.", "{int} `bk_opacity` Background opacity (0-100).", "{boolean} `chatlog` Chat log.", "{int} `chatlog_lines` Chat log lines.", "{int} `color` Text color.", "{boolean} `extents` Extents wrap.", "{int} `extents_cx` Extents cx.", "{int} `extents_cy` Extents cy.", "{String} `file` File path name.", "{boolean} `read_from_file` Read text from the specified file.", "{Object} `font` Holds data for the font. Ex: `\"font\": { \"face\": \"Arial\", \"flags\": 0, \"size\": 150, \"style\": \"\" }`", "{String} `font.face` Font face.", "{int} `font.flags` Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5, Strikeout=8`", "{int} `font.size` Font text size.", "{String} `font.style` Font Style (unknown function).", "{boolean} `gradient` Gradient enabled.", "{int} `gradient_color` Gradient color.", "{float} `gradient_dir` Gradient direction.", "{int} `gradient_opacity` Gradient opacity (0-100).", "{boolean} `outline` Outline.", "{int} `outline_color` Outline color.", "{int} `outline_size` Outline size.", "{int} `outline_opacity` Outline opacity (0-100).", "{String} `text` Text content to be displayed.", "{String} `valign` Text vertical alignment (\"top\", \"center\", \"bottom\").", "{boolean} `vertical` Vertical text enabled." ], "api": "requests", "name": "GetTextGDIPlusProperties", "category": "sources", "since": "4.1.0", "returns": [ { "type": "String", "name": "source", "description": "Source name." }, { "type": "String", "name": "align", "description": "Text Alignment (\"left\", \"center\", \"right\")." }, { "type": "int", "name": "bk_color", "description": "Background color." }, { "type": "int", "name": "bk_opacity", "description": "Background opacity (0-100)." }, { "type": "boolean", "name": "chatlog", "description": "Chat log." }, { "type": "int", "name": "chatlog_lines", "description": "Chat log lines." }, { "type": "int", "name": "color", "description": "Text color." }, { "type": "boolean", "name": "extents", "description": "Extents wrap." }, { "type": "int", "name": "extents_cx", "description": "Extents cx." }, { "type": "int", "name": "extents_cy", "description": "Extents cy." }, { "type": "String", "name": "file", "description": "File path name." }, { "type": "boolean", "name": "read_from_file", "description": "Read text from the specified file." }, { "type": "Object", "name": "font", "description": "Holds data for the font. Ex: `\"font\": { \"face\": \"Arial\", \"flags\": 0, \"size\": 150, \"style\": \"\" }`" }, { "type": "String", "name": "font.face", "description": "Font face." }, { "type": "int", "name": "font.flags", "description": "Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5, Strikeout=8`" }, { "type": "int", "name": "font.size", "description": "Font text size." }, { "type": "String", "name": "font.style", "description": "Font Style (unknown function)." }, { "type": "boolean", "name": "gradient", "description": "Gradient enabled." }, { "type": "int", "name": "gradient_color", "description": "Gradient color." }, { "type": "float", "name": "gradient_dir", "description": "Gradient direction." }, { "type": "int", "name": "gradient_opacity", "description": "Gradient opacity (0-100)." }, { "type": "boolean", "name": "outline", "description": "Outline." }, { "type": "int", "name": "outline_color", "description": "Outline color." }, { "type": "int", "name": "outline_size", "description": "Outline size." }, { "type": "int", "name": "outline_opacity", "description": "Outline opacity (0-100)." }, { "type": "String", "name": "text", "description": "Text content to be displayed." }, { "type": "String", "name": "valign", "description": "Text vertical alignment (\"top\", \"center\", \"bottom\")." }, { "type": "boolean", "name": "vertical", "description": "Vertical text enabled." } ], "params": [ { "type": "String", "name": "source", "description": "Source name." } ], "names": [ { "name": "", "description": "GetTextGDIPlusProperties" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "GetTextGDIPlusProperties" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the current properties of a Text GDI Plus source.", "param": [ "{String} `source` Name of the source.", "{String (optional)} `align` Text Alignment (\"left\", \"center\", \"right\").", "{int (optional)} `bk_color` Background color.", "{int (optional)} `bk_opacity` Background opacity (0-100).", "{boolean (optional)} `chatlog` Chat log.", "{int (optional)} `chatlog_lines` Chat log lines.", "{int (optional)} `color` Text color.", "{boolean (optional)} `extents` Extents wrap.", "{int (optional)} `extents_cx` Extents cx.", "{int (optional)} `extents_cy` Extents cy.", "{String (optional)} `file` File path name.", "{boolean (optional)} `read_from_file` Read text from the specified file.", "{Object (optional)} `font` Holds data for the font. Ex: `\"font\": { \"face\": \"Arial\", \"flags\": 0, \"size\": 150, \"style\": \"\" }`", "{String (optional)} `font.face` Font face.", "{int (optional)} `font.flags` Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5, Strikeout=8`", "{int (optional)} `font.size` Font text size.", "{String (optional)} `font.style` Font Style (unknown function).", "{boolean (optional)} `gradient` Gradient enabled.", "{int (optional)} `gradient_color` Gradient color.", "{float (optional)} `gradient_dir` Gradient direction.", "{int (optional)} `gradient_opacity` Gradient opacity (0-100).", "{boolean (optional)} `outline` Outline.", "{int (optional)} `outline_color` Outline color.", "{int (optional)} `outline_size` Outline size.", "{int (optional)} `outline_opacity` Outline opacity (0-100).", "{String (optional)} `text` Text content to be displayed.", "{String (optional)} `valign` Text vertical alignment (\"top\", \"center\", \"bottom\").", "{boolean (optional)} `vertical` Vertical text enabled.", "{boolean (optional)} `render` Visibility of the scene item." ], "api": "requests", "name": "SetTextGDIPlusProperties", "category": "sources", "since": "4.1.0", "params": [ { "type": "String", "name": "source", "description": "Name of the source." }, { "type": "String (optional)", "name": "align", "description": "Text Alignment (\"left\", \"center\", \"right\")." }, { "type": "int (optional)", "name": "bk_color", "description": "Background color." }, { "type": "int (optional)", "name": "bk_opacity", "description": "Background opacity (0-100)." }, { "type": "boolean (optional)", "name": "chatlog", "description": "Chat log." }, { "type": "int (optional)", "name": "chatlog_lines", "description": "Chat log lines." }, { "type": "int (optional)", "name": "color", "description": "Text color." }, { "type": "boolean (optional)", "name": "extents", "description": "Extents wrap." }, { "type": "int (optional)", "name": "extents_cx", "description": "Extents cx." }, { "type": "int (optional)", "name": "extents_cy", "description": "Extents cy." }, { "type": "String (optional)", "name": "file", "description": "File path name." }, { "type": "boolean (optional)", "name": "read_from_file", "description": "Read text from the specified file." }, { "type": "Object (optional)", "name": "font", "description": "Holds data for the font. Ex: `\"font\": { \"face\": \"Arial\", \"flags\": 0, \"size\": 150, \"style\": \"\" }`" }, { "type": "String (optional)", "name": "font.face", "description": "Font face." }, { "type": "int (optional)", "name": "font.flags", "description": "Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5, Strikeout=8`" }, { "type": "int (optional)", "name": "font.size", "description": "Font text size." }, { "type": "String (optional)", "name": "font.style", "description": "Font Style (unknown function)." }, { "type": "boolean (optional)", "name": "gradient", "description": "Gradient enabled." }, { "type": "int (optional)", "name": "gradient_color", "description": "Gradient color." }, { "type": "float (optional)", "name": "gradient_dir", "description": "Gradient direction." }, { "type": "int (optional)", "name": "gradient_opacity", "description": "Gradient opacity (0-100)." }, { "type": "boolean (optional)", "name": "outline", "description": "Outline." }, { "type": "int (optional)", "name": "outline_color", "description": "Outline color." }, { "type": "int (optional)", "name": "outline_size", "description": "Outline size." }, { "type": "int (optional)", "name": "outline_opacity", "description": "Outline opacity (0-100)." }, { "type": "String (optional)", "name": "text", "description": "Text content to be displayed." }, { "type": "String (optional)", "name": "valign", "description": "Text vertical alignment (\"top\", \"center\", \"bottom\")." }, { "type": "boolean (optional)", "name": "vertical", "description": "Vertical text enabled." }, { "type": "boolean (optional)", "name": "render", "description": "Visibility of the scene item." } ], "names": [ { "name": "", "description": "SetTextGDIPlusProperties" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "SetTextGDIPlusProperties" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the current properties of a Text Freetype 2 source.", "param": "{String} `source` Source name.", "return": [ "{String} `source` Source name", "{int} `color1` Gradient top color.", "{int} `color2` Gradient bottom color.", "{int} `custom_width` Custom width (0 to disable).", "{boolean} `drop_shadow` Drop shadow.", "{Object} `font` Holds data for the font. Ex: `\"font\": { \"face\": \"Arial\", \"flags\": 0, \"size\": 150, \"style\": \"\" }`", "{String} `font.face` Font face.", "{int} `font.flags` Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5, Strikeout=8`", "{int} `font.size` Font text size.", "{String} `font.style` Font Style (unknown function).", "{boolean} `from_file` Read text from the specified file.", "{boolean} `log_mode` Chat log.", "{boolean} `outline` Outline.", "{String} `text` Text content to be displayed.", "{String} `text_file` File path.", "{boolean} `word_wrap` Word wrap." ], "api": "requests", "name": "GetTextFreetype2Properties", "category": "sources", "since": "4.5.0", "returns": [ { "type": "String", "name": "source", "description": "Source name" }, { "type": "int", "name": "color1", "description": "Gradient top color." }, { "type": "int", "name": "color2", "description": "Gradient bottom color." }, { "type": "int", "name": "custom_width", "description": "Custom width (0 to disable)." }, { "type": "boolean", "name": "drop_shadow", "description": "Drop shadow." }, { "type": "Object", "name": "font", "description": "Holds data for the font. Ex: `\"font\": { \"face\": \"Arial\", \"flags\": 0, \"size\": 150, \"style\": \"\" }`" }, { "type": "String", "name": "font.face", "description": "Font face." }, { "type": "int", "name": "font.flags", "description": "Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5, Strikeout=8`" }, { "type": "int", "name": "font.size", "description": "Font text size." }, { "type": "String", "name": "font.style", "description": "Font Style (unknown function)." }, { "type": "boolean", "name": "from_file", "description": "Read text from the specified file." }, { "type": "boolean", "name": "log_mode", "description": "Chat log." }, { "type": "boolean", "name": "outline", "description": "Outline." }, { "type": "String", "name": "text", "description": "Text content to be displayed." }, { "type": "String", "name": "text_file", "description": "File path." }, { "type": "boolean", "name": "word_wrap", "description": "Word wrap." } ], "params": [ { "type": "String", "name": "source", "description": "Source name." } ], "names": [ { "name": "", "description": "GetTextFreetype2Properties" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "GetTextFreetype2Properties" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the current properties of a Text Freetype 2 source.", "param": [ "{String} `source` Source name.", "{int (optional)} `color1` Gradient top color.", "{int (optional)} `color2` Gradient bottom color.", "{int (optional)} `custom_width` Custom width (0 to disable).", "{boolean (optional)} `drop_shadow` Drop shadow.", "{Object (optional)} `font` Holds data for the font. Ex: `\"font\": { \"face\": \"Arial\", \"flags\": 0, \"size\": 150, \"style\": \"\" }`", "{String (optional)} `font.face` Font face.", "{int (optional)} `font.flags` Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5, Strikeout=8`", "{int (optional)} `font.size` Font text size.", "{String (optional)} `font.style` Font Style (unknown function).", "{boolean (optional)} `from_file` Read text from the specified file.", "{boolean (optional)} `log_mode` Chat log.", "{boolean (optional)} `outline` Outline.", "{String (optional)} `text` Text content to be displayed.", "{String (optional)} `text_file` File path.", "{boolean (optional)} `word_wrap` Word wrap." ], "api": "requests", "name": "SetTextFreetype2Properties", "category": "sources", "since": "4.5.0", "params": [ { "type": "String", "name": "source", "description": "Source name." }, { "type": "int (optional)", "name": "color1", "description": "Gradient top color." }, { "type": "int (optional)", "name": "color2", "description": "Gradient bottom color." }, { "type": "int (optional)", "name": "custom_width", "description": "Custom width (0 to disable)." }, { "type": "boolean (optional)", "name": "drop_shadow", "description": "Drop shadow." }, { "type": "Object (optional)", "name": "font", "description": "Holds data for the font. Ex: `\"font\": { \"face\": \"Arial\", \"flags\": 0, \"size\": 150, \"style\": \"\" }`" }, { "type": "String (optional)", "name": "font.face", "description": "Font face." }, { "type": "int (optional)", "name": "font.flags", "description": "Font text styling flag. `Bold=1, Italic=2, Bold Italic=3, Underline=5, Strikeout=8`" }, { "type": "int (optional)", "name": "font.size", "description": "Font text size." }, { "type": "String (optional)", "name": "font.style", "description": "Font Style (unknown function)." }, { "type": "boolean (optional)", "name": "from_file", "description": "Read text from the specified file." }, { "type": "boolean (optional)", "name": "log_mode", "description": "Chat log." }, { "type": "boolean (optional)", "name": "outline", "description": "Outline." }, { "type": "String (optional)", "name": "text", "description": "Text content to be displayed." }, { "type": "String (optional)", "name": "text_file", "description": "File path." }, { "type": "boolean (optional)", "name": "word_wrap", "description": "Word wrap." } ], "names": [ { "name": "", "description": "SetTextFreetype2Properties" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "SetTextFreetype2Properties" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get current properties for a Browser Source.", "param": "{String} `source` Source name.", "return": [ "{String} `source` Source name.", "{boolean} `is_local_file` Indicates that a local file is in use.", "{String} `local_file` file path.", "{String} `url` Url.", "{String} `css` CSS to inject.", "{int} `width` Width.", "{int} `height` Height.", "{int} `fps` Framerate.", "{boolean} `shutdown` Indicates whether the source should be shutdown when not visible." ], "api": "requests", "name": "GetBrowserSourceProperties", "category": "sources", "since": "4.1.0", "deprecated": "Since 4.8.0. Prefer the use of GetSourceSettings. Will be removed in v5.0.0", "returns": [ { "type": "String", "name": "source", "description": "Source name." }, { "type": "boolean", "name": "is_local_file", "description": "Indicates that a local file is in use." }, { "type": "String", "name": "local_file", "description": "file path." }, { "type": "String", "name": "url", "description": "Url." }, { "type": "String", "name": "css", "description": "CSS to inject." }, { "type": "int", "name": "width", "description": "Width." }, { "type": "int", "name": "height", "description": "Height." }, { "type": "int", "name": "fps", "description": "Framerate." }, { "type": "boolean", "name": "shutdown", "description": "Indicates whether the source should be shutdown when not visible." } ], "params": [ { "type": "String", "name": "source", "description": "Source name." } ], "names": [ { "name": "", "description": "GetBrowserSourceProperties" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "deprecateds": [ { "name": "", "description": "Since 4.8.0. Prefer the use of GetSourceSettings. Will be removed in v5.0.0" } ], "heading": { "level": 2, "text": "GetBrowserSourceProperties" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set current properties for a Browser Source.", "param": [ "{String} `source` Name of the source.", "{boolean (optional)} `is_local_file` Indicates that a local file is in use.", "{String (optional)} `local_file` file path.", "{String (optional)} `url` Url.", "{String (optional)} `css` CSS to inject.", "{int (optional)} `width` Width.", "{int (optional)} `height` Height.", "{int (optional)} `fps` Framerate.", "{boolean (optional)} `shutdown` Indicates whether the source should be shutdown when not visible.", "{boolean (optional)} `render` Visibility of the scene item." ], "api": "requests", "name": "SetBrowserSourceProperties", "category": "sources", "deprecated": "Since 4.8.0. Prefer the use of SetSourceSettings. Will be removed in v5.0.0", "since": "4.1.0", "params": [ { "type": "String", "name": "source", "description": "Name of the source." }, { "type": "boolean (optional)", "name": "is_local_file", "description": "Indicates that a local file is in use." }, { "type": "String (optional)", "name": "local_file", "description": "file path." }, { "type": "String (optional)", "name": "url", "description": "Url." }, { "type": "String (optional)", "name": "css", "description": "CSS to inject." }, { "type": "int (optional)", "name": "width", "description": "Width." }, { "type": "int (optional)", "name": "height", "description": "Height." }, { "type": "int (optional)", "name": "fps", "description": "Framerate." }, { "type": "boolean (optional)", "name": "shutdown", "description": "Indicates whether the source should be shutdown when not visible." }, { "type": "boolean (optional)", "name": "render", "description": "Visibility of the scene item." } ], "names": [ { "name": "", "description": "SetBrowserSourceProperties" } ], "categories": [ { "name": "", "description": "sources" } ], "deprecateds": [ { "name": "", "description": "Since 4.8.0. Prefer the use of SetSourceSettings. Will be removed in v5.0.0" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "SetBrowserSourceProperties" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get configured special sources like Desktop Audio and Mic/Aux sources.", "return": [ "{String (optional)} `desktop-1` Name of the first Desktop Audio capture source.", "{String (optional)} `desktop-2` Name of the second Desktop Audio capture source.", "{String (optional)} `mic-1` Name of the first Mic/Aux input source.", "{String (optional)} `mic-2` Name of the second Mic/Aux input source.", "{String (optional)} `mic-3` NAme of the third Mic/Aux input source." ], "api": "requests", "name": "GetSpecialSources", "category": "sources", "since": "4.1.0", "returns": [ { "type": "String (optional)", "name": "desktop-1", "description": "Name of the first Desktop Audio capture source." }, { "type": "String (optional)", "name": "desktop-2", "description": "Name of the second Desktop Audio capture source." }, { "type": "String (optional)", "name": "mic-1", "description": "Name of the first Mic/Aux input source." }, { "type": "String (optional)", "name": "mic-2", "description": "Name of the second Mic/Aux input source." }, { "type": "String (optional)", "name": "mic-3", "description": "NAme of the third Mic/Aux input source." } ], "names": [ { "name": "", "description": "GetSpecialSources" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "GetSpecialSources" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "List filters applied to a source", "param": "{String} `sourceName` Source name", "return": [ "{Array} `filters` List of filters for the specified source", "{Boolean} `filters.*.enabled` Filter status (enabled or not)", "{String} `filters.*.type` Filter type", "{String} `filters.*.name` Filter name", "{Object} `filters.*.settings` Filter settings" ], "api": "requests", "name": "GetSourceFilters", "category": "sources", "since": "4.5.0", "returns": [ { "type": "Array", "name": "filters", "description": "List of filters for the specified source" }, { "type": "Boolean", "name": "filters.*.enabled", "description": "Filter status (enabled or not)" }, { "type": "String", "name": "filters.*.type", "description": "Filter type" }, { "type": "String", "name": "filters.*.name", "description": "Filter name" }, { "type": "Object", "name": "filters.*.settings", "description": "Filter settings" } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name" } ], "names": [ { "name": "", "description": "GetSourceFilters" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "GetSourceFilters" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "List filters applied to a source", "param": [ "{String} `sourceName` Source name", "{String} `filterName` Source filter name" ], "return": [ "{Boolean} `enabled` Filter status (enabled or not)", "{String} `type` Filter type", "{String} `name` Filter name", "{Object} `settings` Filter settings" ], "api": "requests", "name": "GetSourceFilterInfo", "category": "sources", "since": "4.7.0", "returns": [ { "type": "Boolean", "name": "enabled", "description": "Filter status (enabled or not)" }, { "type": "String", "name": "type", "description": "Filter type" }, { "type": "String", "name": "name", "description": "Filter name" }, { "type": "Object", "name": "settings", "description": "Filter settings" } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "filterName", "description": "Source filter name" } ], "names": [ { "name": "", "description": "GetSourceFilterInfo" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "GetSourceFilterInfo" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Add a new filter to a source. Available source types along with their settings properties are available from `GetSourceTypesList`.", "param": [ "{String} `sourceName` Name of the source on which the filter is added", "{String} `filterName` Name of the new filter", "{String} `filterType` Filter type", "{Object} `filterSettings` Filter settings" ], "api": "requests", "name": "AddFilterToSource", "category": "sources", "since": "4.5.0", "params": [ { "type": "String", "name": "sourceName", "description": "Name of the source on which the filter is added" }, { "type": "String", "name": "filterName", "description": "Name of the new filter" }, { "type": "String", "name": "filterType", "description": "Filter type" }, { "type": "Object", "name": "filterSettings", "description": "Filter settings" } ], "names": [ { "name": "", "description": "AddFilterToSource" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "AddFilterToSource" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Remove a filter from a source", "param": [ "{String} `sourceName` Name of the source from which the specified filter is removed", "{String} `filterName` Name of the filter to remove" ], "api": "requests", "name": "RemoveFilterFromSource", "category": "sources", "since": "4.5.0", "params": [ { "type": "String", "name": "sourceName", "description": "Name of the source from which the specified filter is removed" }, { "type": "String", "name": "filterName", "description": "Name of the filter to remove" } ], "names": [ { "name": "", "description": "RemoveFilterFromSource" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "RemoveFilterFromSource" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Move a filter in the chain (absolute index positioning)", "param": [ "{String} `sourceName` Name of the source to which the filter belongs", "{String} `filterName` Name of the filter to reorder", "{Integer} `newIndex` Desired position of the filter in the chain" ], "api": "requests", "name": "ReorderSourceFilter", "category": "sources", "since": "4.5.0", "params": [ { "type": "String", "name": "sourceName", "description": "Name of the source to which the filter belongs" }, { "type": "String", "name": "filterName", "description": "Name of the filter to reorder" }, { "type": "Integer", "name": "newIndex", "description": "Desired position of the filter in the chain" } ], "names": [ { "name": "", "description": "ReorderSourceFilter" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "ReorderSourceFilter" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Move a filter in the chain (relative positioning)", "param": [ "{String} `sourceName` Name of the source to which the filter belongs", "{String} `filterName` Name of the filter to reorder", "{String} `movementType` How to move the filter around in the source's filter chain. Either \"up\", \"down\", \"top\" or \"bottom\"." ], "api": "requests", "name": "MoveSourceFilter", "category": "sources", "since": "4.5.0", "params": [ { "type": "String", "name": "sourceName", "description": "Name of the source to which the filter belongs" }, { "type": "String", "name": "filterName", "description": "Name of the filter to reorder" }, { "type": "String", "name": "movementType", "description": "How to move the filter around in the source's filter chain. Either \"up\", \"down\", \"top\" or \"bottom\"." } ], "names": [ { "name": "", "description": "MoveSourceFilter" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "MoveSourceFilter" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Update settings of a filter", "param": [ "{String} `sourceName` Name of the source to which the filter belongs", "{String} `filterName` Name of the filter to reconfigure", "{Object} `filterSettings` New settings. These will be merged to the current filter settings." ], "api": "requests", "name": "SetSourceFilterSettings", "category": "sources", "since": "4.5.0", "params": [ { "type": "String", "name": "sourceName", "description": "Name of the source to which the filter belongs" }, { "type": "String", "name": "filterName", "description": "Name of the filter to reconfigure" }, { "type": "Object", "name": "filterSettings", "description": "New settings. These will be merged to the current filter settings." } ], "names": [ { "name": "", "description": "SetSourceFilterSettings" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "SetSourceFilterSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Change the visibility/enabled state of a filter", "param": [ "{String} `sourceName` Source name", "{String} `filterName` Source filter name", "{Boolean} `filterEnabled` New filter state" ], "api": "requests", "name": "SetSourceFilterVisibility", "category": "sources", "since": "4.7.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "filterName", "description": "Source filter name" }, { "type": "Boolean", "name": "filterEnabled", "description": "New filter state" } ], "names": [ { "name": "", "description": "SetSourceFilterVisibility" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "SetSourceFilterVisibility" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the audio monitoring type of the specified source.", "param": "{String} `sourceName` Source name.", "return": "{String} `monitorType` The monitor type in use. Options: `none`, `monitorOnly`, `monitorAndOutput`.", "api": "requests", "name": "GetAudioMonitorType", "category": "sources", "since": "4.8.0", "returns": [ { "type": "String", "name": "monitorType", "description": "The monitor type in use. Options: `none`, `monitorOnly`, `monitorAndOutput`." } ], "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "GetAudioMonitorType" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "GetAudioMonitorType" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the audio monitoring type of the specified source.", "param": [ "{String} `sourceName` Source name.", "{String} `monitorType` The monitor type to use. Options: `none`, `monitorOnly`, `monitorAndOutput`." ], "api": "requests", "name": "SetAudioMonitorType", "category": "sources", "since": "4.8.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." }, { "type": "String", "name": "monitorType", "description": "The monitor type to use. Options: `none`, `monitorOnly`, `monitorAndOutput`." } ], "names": [ { "name": "", "description": "SetAudioMonitorType" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "SetAudioMonitorType" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the default settings for a given source type.", "param": "{String} `sourceKind` Source kind. Also called \"source id\" in libobs terminology.", "return": [ "{String} `sourceKind` Source kind. Same value as the `sourceKind` parameter.", "{Object} `defaultSettings` Settings object for source." ], "api": "requests", "name": "GetSourceDefaultSettings", "category": "sources", "since": "4.9.0", "returns": [ { "type": "String", "name": "sourceKind", "description": "Source kind. Same value as the `sourceKind` parameter." }, { "type": "Object", "name": "defaultSettings", "description": "Settings object for source." } ], "params": [ { "type": "String", "name": "sourceKind", "description": "Source kind. Also called \"source id\" in libobs terminology." } ], "names": [ { "name": "", "description": "GetSourceDefaultSettings" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetSourceDefaultSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nAt least `embedPictureFormat` or `saveToFilePath` must be specified.\n\nClients can specify `width` and `height` parameters to receive scaled pictures. Aspect ratio is\npreserved if only one of these two parameters is specified.", "param": [ "{String (optional)} `sourceName` Source name. Note: Since scenes are also sources, you can also provide a scene name. If not provided, the currently active scene is used.", "{String (optional)} `embedPictureFormat` Format of the Data URI encoded picture. Can be \"png\", \"jpg\", \"jpeg\" or \"bmp\" (or any other value supported by Qt's Image module)", "{String (optional)} `saveToFilePath` 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.", "{String (optional)} `fileFormat` 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.", "{int (optional)} `compressionQuality` 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.", "{int (optional)} `width` Screenshot width. Defaults to the source's base width.", "{int (optional)} `height` Screenshot height. Defaults to the source's base height." ], "return": [ "{String} `sourceName` Source name", "{String} `img` Image Data URI (if `embedPictureFormat` was specified in the request)", "{String} `imageFile` Absolute path to the saved image file (if `saveToFilePath` was specified in the request)" ], "api": "requests", "name": "TakeSourceScreenshot", "category": "sources", "since": "4.6.0", "returns": [ { "type": "String", "name": "sourceName", "description": "Source name" }, { "type": "String", "name": "img", "description": "Image Data URI (if `embedPictureFormat` was specified in the request)" }, { "type": "String", "name": "imageFile", "description": "Absolute path to the saved image file (if `saveToFilePath` was specified in the request)" } ], "params": [ { "type": "String (optional)", "name": "sourceName", "description": "Source name. Note: Since scenes are also sources, you can also provide a scene name. If not provided, the currently active scene is used." }, { "type": "String (optional)", "name": "embedPictureFormat", "description": "Format of the Data URI encoded picture. Can be \"png\", \"jpg\", \"jpeg\" or \"bmp\" (or any other value supported by Qt's Image module)" }, { "type": "String (optional)", "name": "saveToFilePath", "description": "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." }, { "type": "String (optional)", "name": "fileFormat", "description": "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." }, { "type": "int (optional)", "name": "compressionQuality", "description": "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." }, { "type": "int (optional)", "name": "width", "description": "Screenshot width. Defaults to the source's base width." }, { "type": "int (optional)", "name": "height", "description": "Screenshot height. Defaults to the source's base height." } ], "names": [ { "name": "", "description": "TakeSourceScreenshot" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "TakeSourceScreenshot" }, "lead": "Takes a picture snapshot of a source and then can either or both: \t- Send it over as a Data URI (base64-encoded data) in the response (by specifying `embedPictureFormat` in the request) \t- Save it to disk (by specifying `saveToFilePath` in the request)", "type": "class", "examples": [] }, { "subheads": [], "description": "Refreshes the specified browser source.", "param": "{String} `sourceName` Source name.", "api": "requests", "name": "RefreshBrowserSource", "category": "sources", "since": "4.9.0", "params": [ { "type": "String", "name": "sourceName", "description": "Source name." } ], "names": [ { "name": "", "description": "RefreshBrowserSource" } ], "categories": [ { "name": "", "description": "sources" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "RefreshBrowserSource" }, "lead": "", "type": "class", "examples": [] } ], "outputs": [ { "subheads": [], "description": "List existing outputs", "return": "{Array} `outputs` Outputs list", "api": "requests", "name": "ListOutputs", "category": "outputs", "since": "4.7.0", "returns": [ { "type": "Array", "name": "outputs", "description": "Outputs list" } ], "names": [ { "name": "", "description": "ListOutputs" } ], "categories": [ { "name": "", "description": "outputs" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "ListOutputs" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get information about a single output", "param": "{String} `outputName` Output name", "return": "{Output} `outputInfo` Output info", "api": "requests", "name": "GetOutputInfo", "category": "outputs", "since": "4.7.0", "returns": [ { "type": "Output", "name": "outputInfo", "description": "Output info" } ], "params": [ { "type": "String", "name": "outputName", "description": "Output name" } ], "names": [ { "name": "", "description": "GetOutputInfo" } ], "categories": [ { "name": "", "description": "outputs" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "GetOutputInfo" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "param": "{String} `outputName` Output name", "api": "requests", "name": "StartOutput", "category": "outputs", "since": "4.7.0", "params": [ { "type": "String", "name": "outputName", "description": "Output name" } ], "names": [ { "name": "", "description": "StartOutput" } ], "categories": [ { "name": "", "description": "outputs" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "StartOutput" }, "lead": "Start an output", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: 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.", "param": [ "{String} `outputName` Output name", "{boolean (optional)} `force` Force stop (default: false)" ], "api": "requests", "name": "StopOutput", "category": "outputs", "since": "4.7.0", "params": [ { "type": "String", "name": "outputName", "description": "Output name" }, { "type": "boolean (optional)", "name": "force", "description": "Force stop (default: false)" } ], "names": [ { "name": "", "description": "StopOutput" } ], "categories": [ { "name": "", "description": "outputs" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "StopOutput" }, "lead": "Stop an output", "type": "class", "examples": [] } ], "profiles": [ { "subheads": [], "description": "Set the currently active profile.", "param": "{String} `profile-name` Name of the desired profile.", "api": "requests", "name": "SetCurrentProfile", "category": "profiles", "since": "4.0.0", "params": [ { "type": "String", "name": "profile-name", "description": "Name of the desired profile." } ], "names": [ { "name": "", "description": "SetCurrentProfile" } ], "categories": [ { "name": "", "description": "profiles" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SetCurrentProfile" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the name of the current profile.", "return": "{String} `profile-name` Name of the currently active profile.", "api": "requests", "name": "GetCurrentProfile", "category": "profiles", "since": "4.0.0", "returns": [ { "type": "String", "name": "profile-name", "description": "Name of the currently active profile." } ], "names": [ { "name": "", "description": "GetCurrentProfile" } ], "categories": [ { "name": "", "description": "profiles" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "GetCurrentProfile" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get a list of available profiles.", "return": [ "{Array} `profiles` List of available profiles.", "{String} `profiles.*.profile-name` Filter name" ], "api": "requests", "name": "ListProfiles", "category": "profiles", "since": "4.0.0", "returns": [ { "type": "Array", "name": "profiles", "description": "List of available profiles." }, { "type": "String", "name": "profiles.*.profile-name", "description": "Filter name" } ], "names": [ { "name": "", "description": "ListProfiles" } ], "categories": [ { "name": "", "description": "profiles" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "ListProfiles" }, "lead": "", "type": "class", "examples": [] } ], "recording": [ { "subheads": [], "description": "Get current recording status.", "return": [ "{boolean} `isRecording` Current recording status.", "{boolean} `isRecordingPaused` Whether the recording is paused or not.", "{String (optional)} `recordTimecode` Time elapsed since recording started (only present if currently recording).", "{String (optional)} `recordingFilename` Absolute path to the recording file (only present if currently recording)." ], "api": "requests", "name": "GetRecordingStatus", "category": "recording", "since": "4.9.0", "returns": [ { "type": "boolean", "name": "isRecording", "description": "Current recording status." }, { "type": "boolean", "name": "isRecordingPaused", "description": "Whether the recording is paused or not." }, { "type": "String (optional)", "name": "recordTimecode", "description": "Time elapsed since recording started (only present if currently recording)." }, { "type": "String (optional)", "name": "recordingFilename", "description": "Absolute path to the recording file (only present if currently recording)." } ], "names": [ { "name": "", "description": "GetRecordingStatus" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetRecordingStatus" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Toggle recording on or off (depending on the current recording state).", "api": "requests", "name": "StartStopRecording", "category": "recording", "since": "0.3", "names": [ { "name": "", "description": "StartStopRecording" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "StartStopRecording" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Start recording.\nWill return an `error` if recording is already active.", "api": "requests", "name": "StartRecording", "category": "recording", "since": "4.1.0", "names": [ { "name": "", "description": "StartRecording" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "StartRecording" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Stop recording.\nWill return an `error` if recording is not active.", "api": "requests", "name": "StopRecording", "category": "recording", "since": "4.1.0", "names": [ { "name": "", "description": "StopRecording" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "StopRecording" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Pause the current recording.\nReturns an error if recording is not active or already paused.", "api": "requests", "name": "PauseRecording", "category": "recording", "since": "4.7.0", "names": [ { "name": "", "description": "PauseRecording" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "PauseRecording" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Resume/unpause the current recording (if paused).\nReturns an error if recording is not active or not paused.", "api": "requests", "name": "ResumeRecording", "category": "recording", "since": "4.7.0", "names": [ { "name": "", "description": "ResumeRecording" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.7.0" } ], "heading": { "level": 2, "text": "ResumeRecording" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nNote: If `SetRecordingFolder` is called while a recording is\nin progress, the change won't be applied immediately and will be\neffective on the next recording.", "param": "{String} `rec-folder` Path of the recording folder.", "api": "requests", "name": "SetRecordingFolder", "category": "recording", "since": "4.1.0", "params": [ { "type": "String", "name": "rec-folder", "description": "Path of the recording folder." } ], "names": [ { "name": "", "description": "SetRecordingFolder" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "SetRecordingFolder" }, "lead": "In the current profile, sets the recording folder of the Simple and Advanced output modes to the specified value.", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the path of the current recording folder.", "return": "{String} `rec-folder` Path of the recording folder.", "api": "requests", "name": "GetRecordingFolder", "category": "recording", "since": "4.1.0", "returns": [ { "type": "String", "name": "rec-folder", "description": "Path of the recording folder." } ], "names": [ { "name": "", "description": "GetRecordingFolder" } ], "categories": [ { "name": "", "description": "recording" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "GetRecordingFolder" }, "lead": "", "type": "class", "examples": [] } ], "replay buffer": [ { "subheads": [], "description": "Get the status of the OBS replay buffer.", "return": "{boolean} `isReplayBufferActive` Current recording status.", "api": "requests", "name": "GetReplayBufferStatus", "category": "replay buffer", "since": "4.9.0", "returns": [ { "type": "boolean", "name": "isReplayBufferActive", "description": "Current recording status." } ], "names": [ { "name": "", "description": "GetReplayBufferStatus" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetReplayBufferStatus" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Toggle the Replay Buffer on/off (depending on the current state of the replay buffer).", "api": "requests", "name": "StartStopReplayBuffer", "category": "replay buffer", "since": "4.2.0", "names": [ { "name": "", "description": "StartStopReplayBuffer" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "StartStopReplayBuffer" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Start recording into the Replay Buffer.\nWill return an `error` if the Replay Buffer is already active or if the\n\"Save Replay Buffer\" hotkey is not set in OBS' settings.\nSetting this hotkey is mandatory, even when triggering saves only\nthrough obs-websocket.", "api": "requests", "name": "StartReplayBuffer", "category": "replay buffer", "since": "4.2.0", "names": [ { "name": "", "description": "StartReplayBuffer" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "StartReplayBuffer" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Stop recording into the Replay Buffer.\nWill return an `error` if the Replay Buffer is not active.", "api": "requests", "name": "StopReplayBuffer", "category": "replay buffer", "since": "4.2.0", "names": [ { "name": "", "description": "StopReplayBuffer" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "StopReplayBuffer" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Flush and save the contents of the Replay Buffer to disk. This is\nbasically the same as triggering the \"Save Replay Buffer\" hotkey.\nWill return an `error` if the Replay Buffer is not active.", "api": "requests", "name": "SaveReplayBuffer", "category": "replay buffer", "since": "4.2.0", "names": [ { "name": "", "description": "SaveReplayBuffer" } ], "categories": [ { "name": "", "description": "replay buffer" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "SaveReplayBuffer" }, "lead": "", "type": "class", "examples": [] } ], "scene collections": [ { "subheads": [], "description": "Change the active scene collection.", "param": "{String} `sc-name` Name of the desired scene collection.", "api": "requests", "name": "SetCurrentSceneCollection", "category": "scene collections", "since": "4.0.0", "params": [ { "type": "String", "name": "sc-name", "description": "Name of the desired scene collection." } ], "names": [ { "name": "", "description": "SetCurrentSceneCollection" } ], "categories": [ { "name": "", "description": "scene collections" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SetCurrentSceneCollection" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the name of the current scene collection.", "return": "{String} `sc-name` Name of the currently active scene collection.", "api": "requests", "name": "GetCurrentSceneCollection", "category": "scene collections", "since": "4.0.0", "returns": [ { "type": "String", "name": "sc-name", "description": "Name of the currently active scene collection." } ], "names": [ { "name": "", "description": "GetCurrentSceneCollection" } ], "categories": [ { "name": "", "description": "scene collections" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "GetCurrentSceneCollection" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "List available scene collections", "return": "{Array} `scene-collections` Scene collections list", "api": "requests", "name": "ListSceneCollections", "category": "scene collections", "since": "4.0.0", "returns": [ { "type": "Array", "name": "scene-collections", "description": "Scene collections list" } ], "names": [ { "name": "", "description": "ListSceneCollections" } ], "categories": [ { "name": "", "description": "scene collections" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "ListSceneCollections" }, "lead": "", "type": "class", "examples": [] } ], "scene items": [ { "subheads": [], "description": "Get a list of all scene items in a scene.", "param": "{String (optional)} `sceneName` Name of the scene to get the list of scene items from. Defaults to the current scene if not specified.", "return": [ "{String} `sceneName` Name of the requested (or current) scene", "{Array} `sceneItems` Array of scene items", "{int} `sceneItems.*.itemId` Unique item id of the source item", "{String} `sceneItems.*.sourceKind` ID if the scene item's source. For example `vlc_source` or `image_source`", "{String} `sceneItems.*.sourceName` Name of the scene item's source", "{String} `sceneItems.*.sourceType` Type of the scene item's source. Either `input`, `group`, or `scene`" ], "api": "requests", "name": "GetSceneItemList", "category": "scene items", "since": "4.9.0", "returns": [ { "type": "String", "name": "sceneName", "description": "Name of the requested (or current) scene" }, { "type": "Array", "name": "sceneItems", "description": "Array of scene items" }, { "type": "int", "name": "sceneItems.*.itemId", "description": "Unique item id of the source item" }, { "type": "String", "name": "sceneItems.*.sourceKind", "description": "ID if the scene item's source. For example `vlc_source` or `image_source`" }, { "type": "String", "name": "sceneItems.*.sourceName", "description": "Name of the scene item's source" }, { "type": "String", "name": "sceneItems.*.sourceType", "description": "Type of the scene item's source. Either `input`, `group`, or `scene`" } ], "params": [ { "type": "String (optional)", "name": "sceneName", "description": "Name of the scene to get the list of scene items from. Defaults to the current scene if not specified." } ], "names": [ { "name": "", "description": "GetSceneItemList" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetSceneItemList" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Gets the scene specific properties of the specified source item.\nCoordinates are relative to the item's parent (the scene or group it belongs to).", "param": [ "{String (optional)} `scene-name` Name of the scene the scene item belongs to. Defaults to the current scene.", "{String | Object} `item` Scene Item name (if this field is a string) or specification (if it is an object).", "{String (optional)} `item.name` Scene Item name (if the `item` field is an object)", "{int (optional)} `item.id` Scene Item ID (if the `item` field is an object)" ], "return": [ "{String} `name` Scene Item name.", "{int} `itemId` Scene Item ID.", "{double} `position.x` The x position of the source from the left.", "{double} `position.y` The y position of the source from the top.", "{int} `position.alignment` 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.", "{double} `rotation` The clockwise rotation of the item in degrees around the point of alignment.", "{double} `scale.x` The x-scale factor of the source.", "{double} `scale.y` The y-scale factor of the source.", "{String} `scale.filter` 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\".", "{int} `crop.top` The number of pixels cropped off the top of the source before scaling.", "{int} `crop.right` The number of pixels cropped off the right of the source before scaling.", "{int} `crop.bottom` The number of pixels cropped off the bottom of the source before scaling.", "{int} `crop.left` The number of pixels cropped off the left of the source before scaling.", "{bool} `visible` If the source is visible.", "{bool} `muted` If the source is muted.", "{bool} `locked` If the source's transform is locked.", "{String} `bounds.type` 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\".", "{int} `bounds.alignment` Alignment of the bounding box.", "{double} `bounds.x` Width of the bounding box.", "{double} `bounds.y` Height of the bounding box.", "{int} `sourceWidth` Base width (without scaling) of the source", "{int} `sourceHeight` Base source (without scaling) of the source", "{double} `width` Scene item width (base source width multiplied by the horizontal scaling factor)", "{double} `height` Scene item height (base source height multiplied by the vertical scaling factor)", "{String (optional)} `parentGroupName` Name of the item's parent (if this item belongs to a group)", "{Array (optional)} `groupChildren` List of children (if this item is a group)" ], "api": "requests", "name": "GetSceneItemProperties", "category": "scene items", "since": "4.3.0", "returns": [ { "type": "String", "name": "name", "description": "Scene Item name." }, { "type": "int", "name": "itemId", "description": "Scene Item ID." }, { "type": "double", "name": "position.x", "description": "The x position of the source from the left." }, { "type": "double", "name": "position.y", "description": "The y position of the source from the top." }, { "type": "int", "name": "position.alignment", "description": "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." }, { "type": "double", "name": "rotation", "description": "The clockwise rotation of the item in degrees around the point of alignment." }, { "type": "double", "name": "scale.x", "description": "The x-scale factor of the source." }, { "type": "double", "name": "scale.y", "description": "The y-scale factor of the source." }, { "type": "String", "name": "scale.filter", "description": "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\"." }, { "type": "int", "name": "crop.top", "description": "The number of pixels cropped off the top of the source before scaling." }, { "type": "int", "name": "crop.right", "description": "The number of pixels cropped off the right of the source before scaling." }, { "type": "int", "name": "crop.bottom", "description": "The number of pixels cropped off the bottom of the source before scaling." }, { "type": "int", "name": "crop.left", "description": "The number of pixels cropped off the left of the source before scaling." }, { "type": "bool", "name": "visible", "description": "If the source is visible." }, { "type": "bool", "name": "muted", "description": "If the source is muted." }, { "type": "bool", "name": "locked", "description": "If the source's transform is locked." }, { "type": "String", "name": "bounds.type", "description": "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": "int", "name": "bounds.alignment", "description": "Alignment of the bounding box." }, { "type": "double", "name": "bounds.x", "description": "Width of the bounding box." }, { "type": "double", "name": "bounds.y", "description": "Height of the bounding box." }, { "type": "int", "name": "sourceWidth", "description": "Base width (without scaling) of the source" }, { "type": "int", "name": "sourceHeight", "description": "Base source (without scaling) of the source" }, { "type": "double", "name": "width", "description": "Scene item width (base source width multiplied by the horizontal scaling factor)" }, { "type": "double", "name": "height", "description": "Scene item height (base source height multiplied by the vertical scaling factor)" }, { "type": "String (optional)", "name": "parentGroupName", "description": "Name of the item's parent (if this item belongs to a group)" }, { "type": "Array (optional)", "name": "groupChildren", "description": "List of children (if this item is a group)" } ], "params": [ { "type": "String (optional)", "name": "scene-name", "description": "Name of the scene the scene item belongs to. Defaults to the current scene." }, { "type": "String | Object", "name": "item", "description": "Scene Item name (if this field is a string) or specification (if it is an object)." }, { "type": "String (optional)", "name": "item.name", "description": "Scene Item name (if the `item` field is an object)" }, { "type": "int (optional)", "name": "item.id", "description": "Scene Item ID (if the `item` field is an object)" } ], "names": [ { "name": "", "description": "GetSceneItemProperties" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "heading": { "level": 2, "text": "GetSceneItemProperties" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Sets the scene specific properties of a source. Unspecified properties will remain unchanged.\nCoordinates are relative to the item's parent (the scene or group it belongs to).", "param": [ "{String (optional)} `scene-name` Name of the scene the source item belongs to. Defaults to the current scene.", "{String | Object} `item` Scene Item name (if this field is a string) or specification (if it is an object).", "{String (optional)} `item.name` Scene Item name (if the `item` field is an object)", "{int (optional)} `item.id` Scene Item ID (if the `item` field is an object)", "{double (optional)} `position.x` The new x position of the source.", "{double (optional)} `position.y` The new y position of the source.", "{int (optional)} `position.alignment` The new alignment of the source.", "{double (optional)} `rotation` The new clockwise rotation of the item in degrees.", "{double (optional)} `scale.x` The new x scale of the item.", "{double (optional)} `scale.y` The new y scale of the item.", "{String (optional)} `scale.filter` 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\".", "{int (optional)} `crop.top` The new amount of pixels cropped off the top of the source before scaling.", "{int (optional)} `crop.bottom` The new amount of pixels cropped off the bottom of the source before scaling.", "{int (optional)} `crop.left` The new amount of pixels cropped off the left of the source before scaling.", "{int (optional)} `crop.right` The new amount of pixels cropped off the right of the source before scaling.", "{bool (optional)} `visible` The new visibility of the source. 'true' shows source, 'false' hides source.", "{bool (optional)} `locked` The new locked status of the source. 'true' keeps it in its current position, 'false' allows movement.", "{String (optional)} `bounds.type` 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\".", "{int (optional)} `bounds.alignment` The new alignment of the bounding box. (0-2, 4-6, 8-10)", "{double (optional)} `bounds.x` The new width of the bounding box.", "{double (optional)} `bounds.y` The new height of the bounding box." ], "api": "requests", "name": "SetSceneItemProperties", "category": "scene items", "since": "4.3.0", "params": [ { "type": "String (optional)", "name": "scene-name", "description": "Name of the scene the source item belongs to. Defaults to the current scene." }, { "type": "String | Object", "name": "item", "description": "Scene Item name (if this field is a string) or specification (if it is an object)." }, { "type": "String (optional)", "name": "item.name", "description": "Scene Item name (if the `item` field is an object)" }, { "type": "int (optional)", "name": "item.id", "description": "Scene Item ID (if the `item` field is an object)" }, { "type": "double (optional)", "name": "position.x", "description": "The new x position of the source." }, { "type": "double (optional)", "name": "position.y", "description": "The new y position of the source." }, { "type": "int (optional)", "name": "position.alignment", "description": "The new alignment of the source." }, { "type": "double (optional)", "name": "rotation", "description": "The new clockwise rotation of the item in degrees." }, { "type": "double (optional)", "name": "scale.x", "description": "The new x scale of the item." }, { "type": "double (optional)", "name": "scale.y", "description": "The new y scale of the item." }, { "type": "String (optional)", "name": "scale.filter", "description": "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\"." }, { "type": "int (optional)", "name": "crop.top", "description": "The new amount of pixels cropped off the top of the source before scaling." }, { "type": "int (optional)", "name": "crop.bottom", "description": "The new amount of pixels cropped off the bottom of the source before scaling." }, { "type": "int (optional)", "name": "crop.left", "description": "The new amount of pixels cropped off the left of the source before scaling." }, { "type": "int (optional)", "name": "crop.right", "description": "The new amount of pixels cropped off the right of the source before scaling." }, { "type": "bool (optional)", "name": "visible", "description": "The new visibility of the source. 'true' shows source, 'false' hides source." }, { "type": "bool (optional)", "name": "locked", "description": "The new locked status of the source. 'true' keeps it in its current position, 'false' allows movement." }, { "type": "String (optional)", "name": "bounds.type", "description": "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": "int (optional)", "name": "bounds.alignment", "description": "The new alignment of the bounding box. (0-2, 4-6, 8-10)" }, { "type": "double (optional)", "name": "bounds.x", "description": "The new width of the bounding box." }, { "type": "double (optional)", "name": "bounds.y", "description": "The new height of the bounding box." } ], "names": [ { "name": "", "description": "SetSceneItemProperties" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.3.0" } ], "heading": { "level": 2, "text": "SetSceneItemProperties" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Reset a scene item.", "param": [ "{String (optional)} `scene-name` Name of the scene the scene item belongs to. Defaults to the current scene.", "{String | Object} `item` Scene Item name (if this field is a string) or specification (if it is an object).", "{String (optional)} `item.name` Scene Item name (if the `item` field is an object)", "{int (optional)} `item.id` Scene Item ID (if the `item` field is an object)" ], "api": "requests", "name": "ResetSceneItem", "category": "scene items", "since": "4.2.0", "params": [ { "type": "String (optional)", "name": "scene-name", "description": "Name of the scene the scene item belongs to. Defaults to the current scene." }, { "type": "String | Object", "name": "item", "description": "Scene Item name (if this field is a string) or specification (if it is an object)." }, { "type": "String (optional)", "name": "item.name", "description": "Scene Item name (if the `item` field is an object)" }, { "type": "int (optional)", "name": "item.id", "description": "Scene Item ID (if the `item` field is an object)" } ], "names": [ { "name": "", "description": "ResetSceneItem" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.2.0" } ], "heading": { "level": 2, "text": "ResetSceneItem" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Show or hide a specified source item in a specified scene.", "param": [ "{String (optional)} `scene-name` Name of the scene the scene item belongs to. Defaults to the currently active scene.", "{String (optional)} `source` Scene Item name.", "{int (optional)} `item` Scene Item id", "{boolean} `render` true = shown ; false = hidden" ], "api": "requests", "name": "SetSceneItemRender", "category": "scene items", "since": "0.3", "params": [ { "type": "String (optional)", "name": "scene-name", "description": "Name of the scene the scene item belongs to. Defaults to the currently active scene." }, { "type": "String (optional)", "name": "source", "description": "Scene Item name." }, { "type": "int (optional)", "name": "item", "description": "Scene Item id" }, { "type": "boolean", "name": "render", "description": "true = shown ; false = hidden" } ], "names": [ { "name": "", "description": "SetSceneItemRender" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "SetSceneItemRender" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Sets the coordinates of a specified source item.", "param": [ "{String (optional)} `scene-name` Name of the scene the scene item belongs to. Defaults to the current scene.", "{String} `item` Scene Item name.", "{double} `x` X coordinate.", "{double} `y` Y coordinate." ], "api": "requests", "name": "SetSceneItemPosition", "category": "scene items", "since": "4.0.0", "deprecated": "Since 4.3.0. Prefer the use of SetSceneItemProperties.", "params": [ { "type": "String (optional)", "name": "scene-name", "description": "Name of the scene the scene item belongs to. Defaults to the current scene." }, { "type": "String", "name": "item", "description": "Scene Item name." }, { "type": "double", "name": "x", "description": "X coordinate." }, { "type": "double", "name": "y", "description": "Y coordinate." } ], "names": [ { "name": "", "description": "SetSceneItemPosition" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "deprecateds": [ { "name": "", "description": "Since 4.3.0. Prefer the use of SetSceneItemProperties." } ], "heading": { "level": 2, "text": "SetSceneItemPosition" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the transform of the specified source item.", "param": [ "{String (optional)} `scene-name` Name of the scene the scene item belongs to. Defaults to the current scene.", "{String} `item` Scene Item name.", "{double} `x-scale` Width scale factor.", "{double} `y-scale` Height scale factor.", "{double} `rotation` Source item rotation (in degrees)." ], "api": "requests", "name": "SetSceneItemTransform", "category": "scene items", "since": "4.0.0", "deprecated": "Since 4.3.0. Prefer the use of SetSceneItemProperties.", "params": [ { "type": "String (optional)", "name": "scene-name", "description": "Name of the scene the scene item belongs to. Defaults to the current scene." }, { "type": "String", "name": "item", "description": "Scene Item name." }, { "type": "double", "name": "x-scale", "description": "Width scale factor." }, { "type": "double", "name": "y-scale", "description": "Height scale factor." }, { "type": "double", "name": "rotation", "description": "Source item rotation (in degrees)." } ], "names": [ { "name": "", "description": "SetSceneItemTransform" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "deprecateds": [ { "name": "", "description": "Since 4.3.0. Prefer the use of SetSceneItemProperties." } ], "heading": { "level": 2, "text": "SetSceneItemTransform" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Sets the crop coordinates of the specified source item.", "param": [ "{String (optional)} `scene-name` Name of the scene the scene item belongs to. Defaults to the current scene.", "{String} `item` Scene Item name.", "{int} `top` Pixel position of the top of the source item.", "{int} `bottom` Pixel position of the bottom of the source item.", "{int} `left` Pixel position of the left of the source item.", "{int} `right` Pixel position of the right of the source item." ], "api": "requests", "name": "SetSceneItemCrop", "category": "scene items", "since": "4.1.0", "deprecated": "Since 4.3.0. Prefer the use of SetSceneItemProperties.", "params": [ { "type": "String (optional)", "name": "scene-name", "description": "Name of the scene the scene item belongs to. Defaults to the current scene." }, { "type": "String", "name": "item", "description": "Scene Item name." }, { "type": "int", "name": "top", "description": "Pixel position of the top of the source item." }, { "type": "int", "name": "bottom", "description": "Pixel position of the bottom of the source item." }, { "type": "int", "name": "left", "description": "Pixel position of the left of the source item." }, { "type": "int", "name": "right", "description": "Pixel position of the right of the source item." } ], "names": [ { "name": "", "description": "SetSceneItemCrop" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "deprecateds": [ { "name": "", "description": "Since 4.3.0. Prefer the use of SetSceneItemProperties." } ], "heading": { "level": 2, "text": "SetSceneItemCrop" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Deletes a scene item.", "param": [ "{String (optional)} `scene` Name of the scene the scene item belongs to. Defaults to the current scene.", "{Object} `item` Scene item to delete (required)", "{String} `item.name` Scene Item name (prefer `id`, including both is acceptable).", "{int} `item.id` Scene Item ID." ], "api": "requests", "name": "DeleteSceneItem", "category": "scene items", "since": "4.5.0", "params": [ { "type": "String (optional)", "name": "scene", "description": "Name of the scene the scene item belongs to. Defaults to the current scene." }, { "type": "Object", "name": "item", "description": "Scene item to delete (required)" }, { "type": "String", "name": "item.name", "description": "Scene Item name (prefer `id`, including both is acceptable)." }, { "type": "int", "name": "item.id", "description": "Scene Item ID." } ], "names": [ { "name": "", "description": "DeleteSceneItem" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "DeleteSceneItem" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Creates a scene item in a scene. In other words, this is how you add a source into a scene.", "param": [ "{String} `sceneName` Name of the scene to create the scene item in", "{String} `sourceName` Name of the source to be added", "{boolean (optional)} `setVisible` Whether to make the sceneitem visible on creation or not. Default `true`" ], "return": "{int} `itemId` Numerical ID of the created scene item", "api": "requests", "name": "AddSceneItem", "category": "scene items", "since": "4.9.0", "returns": [ { "type": "int", "name": "itemId", "description": "Numerical ID of the created scene item" } ], "params": [ { "type": "String", "name": "sceneName", "description": "Name of the scene to create the scene item in" }, { "type": "String", "name": "sourceName", "description": "Name of the source to be added" }, { "type": "boolean (optional)", "name": "setVisible", "description": "Whether to make the sceneitem visible on creation or not. Default `true`" } ], "names": [ { "name": "", "description": "AddSceneItem" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "AddSceneItem" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Duplicates a scene item.", "param": [ "{String (optional)} `fromScene` Name of the scene to copy the item from. Defaults to the current scene.", "{String (optional)} `toScene` Name of the scene to create the item in. Defaults to the current scene.", "{Object} `item` Scene Item to duplicate from the source scene (required)", "{String} `item.name` Scene Item name (prefer `id`, including both is acceptable).", "{int} `item.id` Scene Item ID." ], "return": [ "{String} `scene` Name of the scene where the new item was created", "{Object} `item` New item info", "{int} `item.id` New item ID", "{String} `item.name` New item name" ], "api": "requests", "name": "DuplicateSceneItem", "category": "scene items", "since": "4.5.0", "returns": [ { "type": "String", "name": "scene", "description": "Name of the scene where the new item was created" }, { "type": "Object", "name": "item", "description": "New item info" }, { "type": "int", "name": "item.id", "description": "New item ID" }, { "type": "String", "name": "item.name", "description": "New item name" } ], "params": [ { "type": "String (optional)", "name": "fromScene", "description": "Name of the scene to copy the item from. Defaults to the current scene." }, { "type": "String (optional)", "name": "toScene", "description": "Name of the scene to create the item in. Defaults to the current scene." }, { "type": "Object", "name": "item", "description": "Scene Item to duplicate from the source scene (required)" }, { "type": "String", "name": "item.name", "description": "Scene Item name (prefer `id`, including both is acceptable)." }, { "type": "int", "name": "item.id", "description": "Scene Item ID." } ], "names": [ { "name": "", "description": "DuplicateSceneItem" } ], "categories": [ { "name": "", "description": "scene items" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "DuplicateSceneItem" }, "lead": "", "type": "class", "examples": [] } ], "scenes": [ { "subheads": [], "description": "Switch to the specified scene.", "param": "{String} `scene-name` Name of the scene to switch to.", "api": "requests", "name": "SetCurrentScene", "category": "scenes", "since": "0.3", "params": [ { "type": "String", "name": "scene-name", "description": "Name of the scene to switch to." } ], "names": [ { "name": "", "description": "SetCurrentScene" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "SetCurrentScene" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the current scene's name and source items.", "return": [ "{String} `name` Name of the currently active scene.", "{Array} `sources` Ordered list of the current scene's source items." ], "api": "requests", "name": "GetCurrentScene", "category": "scenes", "since": "0.3", "returns": [ { "type": "String", "name": "name", "description": "Name of the currently active scene." }, { "type": "Array", "name": "sources", "description": "Ordered list of the current scene's source items." } ], "names": [ { "name": "", "description": "GetCurrentScene" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "GetCurrentScene" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get a list of scenes in the currently active profile.", "return": [ "{String} `current-scene` Name of the currently active scene.", "{Array} `scenes` Ordered list of the current profile's scenes (See [GetCurrentScene](#getcurrentscene) for more information)." ], "api": "requests", "name": "GetSceneList", "category": "scenes", "since": "0.3", "returns": [ { "type": "String", "name": "current-scene", "description": "Name of the currently active scene." }, { "type": "Array", "name": "scenes", "description": "Ordered list of the current profile's scenes (See [GetCurrentScene](#getcurrentscene) for more information)." } ], "names": [ { "name": "", "description": "GetSceneList" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "GetSceneList" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Create a new scene scene.", "param": "{String} `sceneName` Name of the scene to create.", "api": "requests", "name": "CreateScene", "category": "scenes", "since": "4.9.0", "params": [ { "type": "String", "name": "sceneName", "description": "Name of the scene to create." } ], "names": [ { "name": "", "description": "CreateScene" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "CreateScene" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Changes the order of scene items in the requested scene.", "param": [ "{String (optional)} `scene` Name of the scene to reorder (defaults to current).", "{Array} `items` Ordered list of objects with name and/or id specified. Id preferred due to uniqueness per scene", "{int (optional)} `items.*.id` Id of a specific scene item. Unique on a scene by scene basis.", "{String (optional)} `items.*.name` Name of a scene item. Sufficiently unique if no scene items share sources within the scene." ], "api": "requests", "name": "ReorderSceneItems", "category": "scenes", "since": "4.5.0", "params": [ { "type": "String (optional)", "name": "scene", "description": "Name of the scene to reorder (defaults to current)." }, { "type": "Array", "name": "items", "description": "Ordered list of objects with name and/or id specified. Id preferred due to uniqueness per scene" }, { "type": "int (optional)", "name": "items.*.id", "description": "Id of a specific scene item. Unique on a scene by scene basis." }, { "type": "String (optional)", "name": "items.*.name", "description": "Name of a scene item. Sufficiently unique if no scene items share sources within the scene." } ], "names": [ { "name": "", "description": "ReorderSceneItems" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "4.5.0" } ], "heading": { "level": 2, "text": "ReorderSceneItems" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set a scene to use a specific transition override.", "param": [ "{String} `sceneName` Name of the scene to switch to.", "{String} `transitionName` Name of the transition to use.", "{int (Optional)} `transitionDuration` 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." ], "api": "requests", "name": "SetSceneTransitionOverride", "category": "scenes", "since": "4.8.0", "params": [ { "type": "String", "name": "sceneName", "description": "Name of the scene to switch to." }, { "type": "String", "name": "transitionName", "description": "Name of the transition to use." }, { "type": "int (Optional)", "name": "transitionDuration", "description": "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." } ], "names": [ { "name": "", "description": "SetSceneTransitionOverride" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "SetSceneTransitionOverride" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Remove any transition override on a scene.", "param": "{String} `sceneName` Name of the scene to switch to.", "api": "requests", "name": "RemoveSceneTransitionOverride", "category": "scenes", "since": "4.8.0", "params": [ { "type": "String", "name": "sceneName", "description": "Name of the scene to switch to." } ], "names": [ { "name": "", "description": "RemoveSceneTransitionOverride" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "RemoveSceneTransitionOverride" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the current scene transition override.", "param": "{String} `sceneName` Name of the scene to switch to.", "return": [ "{String} `transitionName` Name of the current overriding transition. Empty string if no override is set.", "{int} `transitionDuration` Transition duration. `-1` if no override is set." ], "api": "requests", "name": "GetSceneTransitionOverride", "category": "scenes", "since": "4.8.0", "returns": [ { "type": "String", "name": "transitionName", "description": "Name of the current overriding transition. Empty string if no override is set." }, { "type": "int", "name": "transitionDuration", "description": "Transition duration. `-1` if no override is set." } ], "params": [ { "type": "String", "name": "sceneName", "description": "Name of the scene to switch to." } ], "names": [ { "name": "", "description": "GetSceneTransitionOverride" } ], "categories": [ { "name": "", "description": "scenes" } ], "sinces": [ { "name": "", "description": "4.8.0" } ], "heading": { "level": 2, "text": "GetSceneTransitionOverride" }, "lead": "", "type": "class", "examples": [] } ], "streaming": [ { "subheads": [], "description": "Get current streaming and recording status.", "return": [ "{boolean} `streaming` Current streaming status.", "{boolean} `recording` Current recording status.", "{boolean} `recording-paused` If recording is paused.", "{boolean} `virtualcam` Current virtual cam status.", "{boolean} `preview-only` Always false. Retrocompatibility with OBSRemote.", "{String (optional)} `stream-timecode` Time elapsed since streaming started (only present if currently streaming).", "{String (optional)} `rec-timecode` Time elapsed since recording started (only present if currently recording).", "{String (optional)} `virtualcam-timecode` Time elapsed since virtual cam started (only present if virtual cam currently active)." ], "api": "requests", "name": "GetStreamingStatus", "category": "streaming", "since": "0.3", "returns": [ { "type": "boolean", "name": "streaming", "description": "Current streaming status." }, { "type": "boolean", "name": "recording", "description": "Current recording status." }, { "type": "boolean", "name": "recording-paused", "description": "If recording is paused." }, { "type": "boolean", "name": "virtualcam", "description": "Current virtual cam status." }, { "type": "boolean", "name": "preview-only", "description": "Always false. Retrocompatibility with OBSRemote." }, { "type": "String (optional)", "name": "stream-timecode", "description": "Time elapsed since streaming started (only present if currently streaming)." }, { "type": "String (optional)", "name": "rec-timecode", "description": "Time elapsed since recording started (only present if currently recording)." }, { "type": "String (optional)", "name": "virtualcam-timecode", "description": "Time elapsed since virtual cam started (only present if virtual cam currently active)." } ], "names": [ { "name": "", "description": "GetStreamingStatus" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "GetStreamingStatus" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Toggle streaming on or off (depending on the current stream state).", "api": "requests", "name": "StartStopStreaming", "category": "streaming", "since": "0.3", "names": [ { "name": "", "description": "StartStopStreaming" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "StartStopStreaming" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Start streaming.\nWill return an `error` if streaming is already active.", "param": [ "{Object (optional)} `stream` Special stream configuration. Note: these won't be saved to OBS' configuration.", "{String (optional)} `stream.type` 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.", "{Object (optional)} `stream.metadata` 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.", "{Object (optional)} `stream.settings` Settings for the stream.", "{String (optional)} `stream.settings.server` The publish URL.", "{String (optional)} `stream.settings.key` The publish key of the stream.", "{boolean (optional)} `stream.settings.use_auth` Indicates whether authentication should be used when connecting to the streaming server.", "{String (optional)} `stream.settings.username` If authentication is enabled, the username for the streaming server. Ignored if `use_auth` is not set to `true`.", "{String (optional)} `stream.settings.password` If authentication is enabled, the password for the streaming server. Ignored if `use_auth` is not set to `true`." ], "api": "requests", "name": "StartStreaming", "category": "streaming", "since": "4.1.0", "params": [ { "type": "Object (optional)", "name": "stream", "description": "Special stream configuration. Note: these won't be saved to OBS' configuration." }, { "type": "String (optional)", "name": "stream.type", "description": "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": "Object (optional)", "name": "stream.metadata", "description": "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." }, { "type": "Object (optional)", "name": "stream.settings", "description": "Settings for the stream." }, { "type": "String (optional)", "name": "stream.settings.server", "description": "The publish URL." }, { "type": "String (optional)", "name": "stream.settings.key", "description": "The publish key of the stream." }, { "type": "boolean (optional)", "name": "stream.settings.use_auth", "description": "Indicates whether authentication should be used when connecting to the streaming server." }, { "type": "String (optional)", "name": "stream.settings.username", "description": "If authentication is enabled, the username for the streaming server. Ignored if `use_auth` is not set to `true`." }, { "type": "String (optional)", "name": "stream.settings.password", "description": "If authentication is enabled, the password for the streaming server. Ignored if `use_auth` is not set to `true`." } ], "names": [ { "name": "", "description": "StartStreaming" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "StartStreaming" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Stop streaming.\nWill return an `error` if streaming is not active.", "api": "requests", "name": "StopStreaming", "category": "streaming", "since": "4.1.0", "names": [ { "name": "", "description": "StopStreaming" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "StopStreaming" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "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).", "param": [ "{String} `type` The type of streaming service configuration, usually `rtmp_custom` or `rtmp_common`.", "{Object} `settings` The actual settings of the stream.", "{String (optional)} `settings.server` The publish URL.", "{String (optional)} `settings.key` The publish key.", "{boolean (optional)} `settings.use_auth` Indicates whether authentication should be used when connecting to the streaming server.", "{String (optional)} `settings.username` The username for the streaming service.", "{String (optional)} `settings.password` The password for the streaming service.", "{boolean} `save` Persist the settings to disk." ], "api": "requests", "name": "SetStreamSettings", "category": "streaming", "since": "4.1.0", "params": [ { "type": "String", "name": "type", "description": "The type of streaming service configuration, usually `rtmp_custom` or `rtmp_common`." }, { "type": "Object", "name": "settings", "description": "The actual settings of the stream." }, { "type": "String (optional)", "name": "settings.server", "description": "The publish URL." }, { "type": "String (optional)", "name": "settings.key", "description": "The publish key." }, { "type": "boolean (optional)", "name": "settings.use_auth", "description": "Indicates whether authentication should be used when connecting to the streaming server." }, { "type": "String (optional)", "name": "settings.username", "description": "The username for the streaming service." }, { "type": "String (optional)", "name": "settings.password", "description": "The password for the streaming service." }, { "type": "boolean", "name": "save", "description": "Persist the settings to disk." } ], "names": [ { "name": "", "description": "SetStreamSettings" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "SetStreamSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the current streaming server settings.", "return": [ "{String} `type` The type of streaming service configuration. Possible values: 'rtmp_custom' or 'rtmp_common'.", "{Object} `settings` Stream settings object.", "{String} `settings.server` The publish URL.", "{String} `settings.key` The publish key of the stream.", "{boolean} `settings.use_auth` Indicates whether authentication should be used when connecting to the streaming server.", "{String} `settings.username` The username to use when accessing the streaming server. Only present if `use_auth` is `true`.", "{String} `settings.password` The password to use when accessing the streaming server. Only present if `use_auth` is `true`." ], "api": "requests", "name": "GetStreamSettings", "category": "streaming", "since": "4.1.0", "returns": [ { "type": "String", "name": "type", "description": "The type of streaming service configuration. Possible values: 'rtmp_custom' or 'rtmp_common'." }, { "type": "Object", "name": "settings", "description": "Stream settings object." }, { "type": "String", "name": "settings.server", "description": "The publish URL." }, { "type": "String", "name": "settings.key", "description": "The publish key of the stream." }, { "type": "boolean", "name": "settings.use_auth", "description": "Indicates whether authentication should be used when connecting to the streaming server." }, { "type": "String", "name": "settings.username", "description": "The username to use when accessing the streaming server. Only present if `use_auth` is `true`." }, { "type": "String", "name": "settings.password", "description": "The password to use when accessing the streaming server. Only present if `use_auth` is `true`." } ], "names": [ { "name": "", "description": "GetStreamSettings" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "GetStreamSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Save the current streaming server settings to disk.", "api": "requests", "name": "SaveStreamSettings", "category": "streaming", "since": "4.1.0", "names": [ { "name": "", "description": "SaveStreamSettings" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "SaveStreamSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Send the provided text as embedded CEA-608 caption data.", "param": "{String} `text` Captions text", "api": "requests", "name": "SendCaptions", "category": "streaming", "since": "4.6.0", "params": [ { "type": "String", "name": "text", "description": "Captions text" } ], "names": [ { "name": "", "description": "SendCaptions" } ], "categories": [ { "name": "", "description": "streaming" } ], "sinces": [ { "name": "", "description": "4.6.0" } ], "heading": { "level": 2, "text": "SendCaptions" }, "lead": "", "type": "class", "examples": [] } ], "studio mode": [ { "subheads": [], "description": "Indicates if Studio Mode is currently enabled.", "return": "{boolean} `studio-mode` Indicates if Studio Mode is enabled.", "api": "requests", "name": "GetStudioModeStatus", "category": "studio mode", "since": "4.1.0", "returns": [ { "type": "boolean", "name": "studio-mode", "description": "Indicates if Studio Mode is enabled." } ], "names": [ { "name": "", "description": "GetStudioModeStatus" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "GetStudioModeStatus" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the name of the currently previewed scene and its list of sources.\nWill return an `error` if Studio Mode is not enabled.", "return": [ "{String} `name` The name of the active preview scene.", "{Array} `sources`" ], "api": "requests", "name": "GetPreviewScene", "category": "studio mode", "since": "4.1.0", "returns": [ { "type": "String", "name": "name", "description": "The name of the active preview scene." }, { "type": "Array", "name": "sources", "description": "" } ], "names": [ { "name": "", "description": "GetPreviewScene" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "GetPreviewScene" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the active preview scene.\nWill return an `error` if Studio Mode is not enabled.", "param": "{String} `scene-name` The name of the scene to preview.", "api": "requests", "name": "SetPreviewScene", "category": "studio mode", "since": "4.1.0", "params": [ { "type": "String", "name": "scene-name", "description": "The name of the scene to preview." } ], "names": [ { "name": "", "description": "SetPreviewScene" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "SetPreviewScene" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Transitions the currently previewed scene to the main output.\nWill return an `error` if Studio Mode is not enabled.", "param": [ "{Object (optional)} `with-transition` Change the active transition before switching scenes. Defaults to the active transition.", "{String} `with-transition.name` Name of the transition.", "{int (optional)} `with-transition.duration` Transition duration (in milliseconds)." ], "api": "requests", "name": "TransitionToProgram", "category": "studio mode", "since": "4.1.0", "params": [ { "type": "Object (optional)", "name": "with-transition", "description": "Change the active transition before switching scenes. Defaults to the active transition." }, { "type": "String", "name": "with-transition.name", "description": "Name of the transition." }, { "type": "int (optional)", "name": "with-transition.duration", "description": "Transition duration (in milliseconds)." } ], "names": [ { "name": "", "description": "TransitionToProgram" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "TransitionToProgram" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Enables Studio Mode.", "api": "requests", "name": "EnableStudioMode", "category": "studio mode", "since": "4.1.0", "names": [ { "name": "", "description": "EnableStudioMode" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "EnableStudioMode" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Disables Studio Mode.", "api": "requests", "name": "DisableStudioMode", "category": "studio mode", "since": "4.1.0", "names": [ { "name": "", "description": "DisableStudioMode" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "DisableStudioMode" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Toggles Studio Mode (depending on the current state of studio mode).", "api": "requests", "name": "ToggleStudioMode", "category": "studio mode", "since": "4.1.0", "names": [ { "name": "", "description": "ToggleStudioMode" } ], "categories": [ { "name": "", "description": "studio mode" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "ToggleStudioMode" }, "lead": "", "type": "class", "examples": [] } ], "transitions": [ { "subheads": [], "description": "List of all transitions available in the frontend's dropdown menu.", "return": [ "{String} `current-transition` Name of the currently active transition.", "{Array} `transitions` List of transitions.", "{String} `transitions.*.name` Name of the transition." ], "api": "requests", "name": "GetTransitionList", "category": "transitions", "since": "4.1.0", "returns": [ { "type": "String", "name": "current-transition", "description": "Name of the currently active transition." }, { "type": "Array", "name": "transitions", "description": "List of transitions." }, { "type": "String", "name": "transitions.*.name", "description": "Name of the transition." } ], "names": [ { "name": "", "description": "GetTransitionList" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "GetTransitionList" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the name of the currently selected transition in the frontend's dropdown menu.", "return": [ "{String} `name` Name of the selected transition.", "{int (optional)} `duration` Transition duration (in milliseconds) if supported by the transition." ], "api": "requests", "name": "GetCurrentTransition", "category": "transitions", "since": "0.3", "returns": [ { "type": "String", "name": "name", "description": "Name of the selected transition." }, { "type": "int (optional)", "name": "duration", "description": "Transition duration (in milliseconds) if supported by the transition." } ], "names": [ { "name": "", "description": "GetCurrentTransition" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "GetCurrentTransition" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the active transition.", "param": "{String} `transition-name` The name of the transition.", "api": "requests", "name": "SetCurrentTransition", "category": "transitions", "since": "0.3", "params": [ { "type": "String", "name": "transition-name", "description": "The name of the transition." } ], "names": [ { "name": "", "description": "SetCurrentTransition" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "0.3" } ], "heading": { "level": 2, "text": "SetCurrentTransition" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Set the duration of the currently selected transition if supported.", "param": "{int} `duration` Desired duration of the transition (in milliseconds).", "api": "requests", "name": "SetTransitionDuration", "category": "transitions", "since": "4.0.0", "params": [ { "type": "int", "name": "duration", "description": "Desired duration of the transition (in milliseconds)." } ], "names": [ { "name": "", "description": "SetTransitionDuration" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.0.0" } ], "heading": { "level": 2, "text": "SetTransitionDuration" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the duration of the currently selected transition if supported.", "return": "{int} `transition-duration` Duration of the current transition (in milliseconds).", "api": "requests", "name": "GetTransitionDuration", "category": "transitions", "since": "4.1.0", "returns": [ { "type": "int", "name": "transition-duration", "description": "Duration of the current transition (in milliseconds)." } ], "names": [ { "name": "", "description": "GetTransitionDuration" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.1.0" } ], "heading": { "level": 2, "text": "GetTransitionDuration" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the position of the current transition.", "return": "{double} `position` current transition position. This value will be between 0.0 and 1.0. Note: Transition returns 1.0 when not active.", "api": "requests", "name": "GetTransitionPosition", "category": "transitions", "since": "4.9.0", "returns": [ { "type": "double", "name": "position", "description": "current transition position. This value will be between 0.0 and 1.0. Note: Transition returns 1.0 when not active." } ], "names": [ { "name": "", "description": "GetTransitionPosition" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetTransitionPosition" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Get the current settings of a transition", "param": "{String} `transitionName` Transition name", "return": "{Object} `transitionSettings` Current transition settings", "api": "requests", "name": "GetTransitionSettings", "category": "transitions", "since": "4.9.0", "returns": [ { "type": "Object", "name": "transitionSettings", "description": "Current transition settings" } ], "params": [ { "type": "String", "name": "transitionName", "description": "Transition name" } ], "names": [ { "name": "", "description": "GetTransitionSettings" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "GetTransitionSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Change the current settings of a transition", "param": [ "{String} `transitionName` Transition name", "{Object} `transitionSettings` Transition settings (they can be partial)" ], "return": "{Object} `transitionSettings` Updated transition settings", "api": "requests", "name": "SetTransitionSettings", "category": "transitions", "since": "4.9.0", "returns": [ { "type": "Object", "name": "transitionSettings", "description": "Updated transition settings" } ], "params": [ { "type": "String", "name": "transitionName", "description": "Transition name" }, { "type": "Object", "name": "transitionSettings", "description": "Transition settings (they can be partial)" } ], "names": [ { "name": "", "description": "SetTransitionSettings" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "SetTransitionSettings" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Release the T-Bar (like a user releasing their mouse button after moving it).\n*YOU MUST CALL THIS if you called `SetTBarPosition` with the `release` parameter set to `false`.*", "api": "requests", "name": "ReleaseTBar", "category": "transitions", "since": "4.9.0", "names": [ { "name": "", "description": "ReleaseTBar" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "ReleaseTBar" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "\n\nIf 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.", "param": [ "{double} `position` T-Bar position. This value must be between 0.0 and 1.0.", "{boolean (optional)} `release` 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." ], "api": "requests", "name": "SetTBarPosition", "category": "transitions", "since": "4.9.0", "params": [ { "type": "double", "name": "position", "description": "T-Bar position. This value must be between 0.0 and 1.0." }, { "type": "boolean (optional)", "name": "release", "description": "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." } ], "names": [ { "name": "", "description": "SetTBarPosition" } ], "categories": [ { "name": "", "description": "transitions" } ], "sinces": [ { "name": "", "description": "4.9.0" } ], "heading": { "level": 2, "text": "SetTBarPosition" }, "lead": "Set the manual position of the T-Bar (in Studio Mode) to the specified value. Will return an error if OBS is not in studio mode or if the current transition doesn't support T-Bar control.", "type": "class", "examples": [] } ], "virtual cam": [ { "subheads": [], "description": "Get current virtual cam status.", "return": [ "{boolean} `isVirtualCam` Current virtual camera status.", "{String (optional)} `virtualCamTimecode` Time elapsed since virtual cam started (only present if virtual cam currently active)." ], "api": "requests", "name": "GetVirtualCamStatus", "category": "virtual cam", "since": "4.9.1", "returns": [ { "type": "boolean", "name": "isVirtualCam", "description": "Current virtual camera status." }, { "type": "String (optional)", "name": "virtualCamTimecode", "description": "Time elapsed since virtual cam started (only present if virtual cam currently active)." } ], "names": [ { "name": "", "description": "GetVirtualCamStatus" } ], "categories": [ { "name": "", "description": "virtual cam" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "GetVirtualCamStatus" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Toggle virtual cam on or off (depending on the current virtual cam state).", "api": "requests", "name": "StartStopVirtualCam", "category": "virtual cam", "since": "4.9.1", "names": [ { "name": "", "description": "StartStopVirtualCam" } ], "categories": [ { "name": "", "description": "virtual cam" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "StartStopVirtualCam" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Start virtual cam.\nWill return an `error` if virtual cam is already active.", "api": "requests", "name": "StartVirtualCam", "category": "virtual cam", "since": "4.9.1", "names": [ { "name": "", "description": "StartVirtualCam" } ], "categories": [ { "name": "", "description": "virtual cam" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "StartVirtualCam" }, "lead": "", "type": "class", "examples": [] }, { "subheads": [], "description": "Stop virtual cam.\nWill return an `error` if virtual cam is not active.", "api": "requests", "name": "StopVirtualCam", "category": "virtual cam", "since": "4.9.1", "names": [ { "name": "", "description": "StopVirtualCam" } ], "categories": [ { "name": "", "description": "virtual cam" } ], "sinces": [ { "name": "", "description": "4.9.1" } ], "heading": { "level": 2, "text": "StopVirtualCam" }, "lead": "", "type": "class", "examples": [] } ] } }