OBS Sources

Edit

Create Source #

Creates a new source and adds it to a scene.
You can pass a JSON string containing the new source’s settings as well.
The source will be added at the top of the list. To reorder it, use a Custom Packet command to send a JSON string containing the new order of all sources in your scene: {"request-type":"ReorderSceneItems","scene":"YOURSCENENAME","items":[{"name":"YOURSOURCENAME1"},{"name":"YOURSOURCENAME2"},{"name":"YOURSOURCENAME3"},{"name":"YOURSOURCENAME4"}(etc.)],"message-id":"6666"} `.

Box Name Type Description
sourceName String Name of the new OBS source
sourceKind String Type of the new source.
ffmpeg_source Media Source
vlc_source VLC media source
image_source Image Source
slideshow Image slide show
text_ft2_source Free Type 2 text source
text_gdiplus Text GDI+ source
browser_source Browser source
wasapi_input_capture Audio Input capture
wasapi_output_capture Audio Output Capture
color_source Color source
monitor_capture Display Capture
window_capture Window capture
game_capture Game Capture
dshow_input Capture device(webcam)
dshow_input_replay Video Capture Device with replay buffer
For other sources and plugin sources you should look at the OBS JSON file to figure out the correct value.
sceneName String Name of the scene to add the source to.
sourceSettings JSON Source settings. Same format which is used in Source Change Settings command.
setVisible boolean Whether the source should be visible.


Edit

Source Change Settings #

Changes settings of a source. Not to be confused with item transform settings.
Requires the same formatting that is used in the OBS JSON file.
Easy way to see your current source’s settings is to use a Custom Packet command: {"request-type":"GetSourceSettings","sourceName":"YOURSOURCENAME","message-id":"6666"} . Execute it and you will get back a JSON string of the source’s settings. Paste it into a document and extract the particular value you want to use.

Find a settings value via Custom Packet and use it in the command

Use JSON string validator if you want to make sure your formatting is correct.

Box Name Type Description
sourceName String Source name to change settings.
sourceSettings JSON String The settings to be included. Formatted as a JSON String. Must be enclosed in {}.
JSON String Description
{"url":"http://twitch.tv"} Change URL of a browser source
{"local_file":"E:/Stream/hello.html"} Change local file path of a browser source
{"file":"E:/Stream/image.png"} Change local file path of an image source
{"playlist": [{"value": "E:/videos/video1.mp4"},{"value": "E:/videos/video2.mkv"}]} Change local file paths for your VLC source. Each {"value":"X"} represents one file.
{"font": {"face": "Arial","flags": 8,"size": 48,"style": "Regular"}} Change font settings of your GDI+ text source. Needs to include all values.


Edit

Text GDI+ Change Text #

Changes the text of a Text GDI+ source.
If you wish to change the text to a value saved in a variable, you need to wrap it: /$variable$/.

Box Name Type Description
sourceName String Text GDI+ source name
text String The new text


Edit

Freetype 2 Change Text #

Changes the text of a Freetype 2 text source.
If you wish to change the text to a value saved in a variable, you need to wrap it: /$variable$/.

Box Name Type Description
sourceName String Freetype 2 source name
text String The new text


Edit

Change Audio Monitor Type #

Changes the monitoring type of an audio source.
Same option as in OBS-Audio Mixer-Cogwheel-Advanced Audio Properties.

Box Name Type Description
sourceName String Audio source name
monitorType dropdown Type of monitoring to use