Skip to main content
Version: 8.1

Vision - IP Camera Viewer

Component Palette Icon

The IP camera viewing component displays a video stream from a network camera directly in one of your windows. This can be a very powerful tool for allowing operators to view remote or inaccessible locations. Cameras can provide positive feedback about the state and position of machinery, weather, and other factors.

This component is capable of displaying two types of video:

  • MJPEG (a.k.a. Motion JPEG) is a streaming video protocol that compresses video frames using standard JPEG compression. Compression rates are quite good, requiring low network bandwidth utilization. Framerates depend greatly on the dimensions of the video, but typically range from 1-20 frames per second.
  • JPEG stills is not a true video protocol, but is rather the practice of continually refreshing an image that a camera is constantly overwriting. Its simplicity means that many cameras support it (usually along with another protocol). Frame rates are typically lower than MJPEG because a new connection must be opened for each frame.

Most network cameras on the market support one, if not both of these protocols. Even better, if you have an existing CCTV camera system, video server devices are available that CCTV camera inputs and provide MJPEG streams the network.

Finding the URL for your network camera's video stream is usually the only challenge in connecting this component. Most, if not all, network cameras have an internal web server, allowing viewers to use web browsers to view their video stream. If you go to that webpage, and look at the HTML source of the page, you should be able to find the URL of the MJPEG or JPEG still stream.

High Resolution Streams

When viewing a feed from a High Resolution camera, the Camera Buffer Size property may need to be increased to contain all of the data from the stream.

Some examples:

Axis 2100 (MJPEG)
Panasonic BL-C10A (MJPEG)
StarDot Netcam (JPEG stills)


PropertyDescriptionProperty TypeScriptingCategory
Background ColorThe background color of the component. Can be chosen from color wheel, chosen from color palette, or entered as RGB or HSL value. See Color Selector.Color.backgroundAppearance
BorderThe border surrounding this component. Options are No border, Etched (Lowered), Etched (Raised), Bevel (Lowered), Bevel (Raised), Bevel (Double), and Field Border.
Note: The border is unaffected by rotation.

Changed in 8.1.21
As of 8.1.21, the "Button Border" and "Other Border" options are removed.
Camera Buffer SizeSet the size of the video buffer in
Connection RetriesThe number of times to attempt to connect to the
CursorThe mouse cursor to use when hovering over this component. Options are: Default, Crosshair, Text, Wait, Hand, Move, SW Resize, or SE
FontFont of text on this component.Font.fontAppearance
Foreground ColorThe foreground color of the component. See Color Selector.Color.foregroundAppearance
Mouseover TextThe text that is displayed in the tooltip which pops up on mouseover of this component.String.toolTipTextCommon
NameThe name of this component.String.nameCommon
PasswordThe password to authenticate with.String.passwordBehavior
Refresh RateThe rate (in ms) to poll the image if mode is 'JPEG Stills'.int.refreshRateBehavior
Retry DelayThe delay (in ms) to wait between connection
Scale ModeThe scaling performance hint to
Scale VideoScale the video to the size of the viewer component. Warning: CPU-intensive.boolean.scaleVideoBehavior
Show StatsIf true, fps and Kbps statistical information will be overlaid on the video.boolean.showStatsAppearance
URLThe HTTP URL of the video stream to display.String.urlBehavior
Use Authentication?If true, the URL connection will try to authenticate using the given username and password.boolean.useAuthenticationBehavior
User-AgentIf non-empty, the HTTP User-Agent to spoof.String.userAgentBehavior
UsernameThe username to authenticate with.String.usernameBehavior
Video ModeChoose what type of video stream the URL points
VisibleIf disabled, the component will be hidden.boolean.visibleCommon


Component Functions

This component does not have component functions associated with it.

Extension Functions

This component does not have extension functions associated with it.

Event Handlers

Event handlers allow you to run a script based off specific triggers. See the full list of available event handlers on the Component Events page


This component does not have any custom properties.


Property NameValue