1. Launch OBS
  2. Add Media Source, select the check box 'make source visible' 
  3. Press [OK] OBS

4. In the next screen, un-mark the 'Local File' checkbox

5. enter the RTSP Link of the camera of which you need the video, in this case, the link is rtsp://       to access a CM73 that is present on our network.

6. press 'OK'RTSP Link

  • Done! In this example I have the camera pointed at our Lego setup that we used at ISE 2020:
  • OBS Output

Step 2: installing the Visca Plug-IN

Download location of the files: https://www.dropbox.com/s/0x4jrm44qwchzy4/obs-visca-control-main.zip?dl=1


A plugin for OBS to control Visca-over-IP-based cameras.

This plugin adds a source to a scene in OBS. With this source, a camera can be controlled. Its main purpose is to automatically switch a camera to a certain preset when the scene is activated. This activation can be as soon as the scene is active in preview, in program, or both.

Besides recalling a pre-made preset, this plugin supports a few more control operations:

  • Switch camera On
  • Switch camera Off
  • Preset Recall


The plugin is a script plugin and utilizes the Lua scripting capabilities of OBS. To use the plugin, add the file obs-visca-control.lua as a script, see below for a detailed instruction. The other .lua files in this repository are also required, but should not be added as scripts in OBS.

The files needed for usage if this plugin are:

  • obs-visca-control.lua: The main OBS plugin file
  • libvisca.lua: Internal library that implements the Visca communication
  • ljsocket.lua: Network (socket) communication library for use with LuaJIT in OBS

Place the files on your computer, e.g. in data\obs-plugins\frontend-tools\scripts\ under your OBS installation folder. In OBS choose Scripts in the Tools menu and click the "+" symbol. Navigate to the location where obs-visca-control.lua is stored and confirm with 'Open'. The plugin settings will show on the right as described below. 


Before the plugin can be used in a scene, it requires configuration in the Script dialog. Plugin configuration

Start by enumerating the number of cameras that you want to control. For each camera a set of configuration properties will be shown:

  • Name: A friendly name for easy recognition of the camera
  • Address: The IP address at which the camera is available. The plugin assumes that Visca is operated on UDP port 52381.
  • The list of presets that you want to configure for the camera

Switch between cameras using the drop-down. Reload the plugin to update the names of the cameras in the camera drop-down list.

The preset list contains one preset per line and contains the name for the preset and the number of the preset stored in the camera. The preset follow a specific syntax to link a preset number to a name. The following forms are supported:

  • <name> <separator> <preset number>
  • <preset number> <separator> <name>

The separator can be := or -. Valid examples are 0: Home5 = Pastor or Stage - 6


To control a camera, add a Visca Camera Control source to a scene. 

Add VISCA Camera ControIn the source settings, select the camera, action and optionally the preset that the camera should switch to. The camera action is executed when either the scene in which the source is used becomes active in preview, in program, or both, depending on the selected entry in the selection.


This plugin uses luajitsocket, a library that implements socket support for LuaJIT, since the Lua socket library is not available in OBS.

To check whether the Plug-IN is working you can click on the little 'eye' of the Visca Camera Control line and check if the camera does what you expect it to do:

in this case, I had it set to recall the preset aimed at the Lego set.