IRIS

Intelligent Roadway Information System


Cameras

Video cameras with remote pan, tilt, and zoom capability can be used to monitor freeway conditions. The Camera tab can display Motion JPEG (MJPEG) video. To view MPEG4 or h.264 video, the MonStream application is required.

Setup

Select View ➔ Video ➔ Cameras menu item

The Setup tab within a camera properties form contains attributes to configure the video encoder.

Field Description
Cam Num Camera number, used for keyboards
Encoder Type The type of video encoder
Encoder Address IP address for unicast streams (or SDP files)
Encoder Port Port number for unicast streams (overrides scheme default)
Multicast Address IP address for multicast streams
Encoder Channel Channel number, for encoders which support multiple cameras
Publish Flag to allow public viewing of camera video
Notes Administrator notes, possibly including hashtags
API Resources 🕵️
  • iris/camera_pub
  • iris/api/camera (primary)
  • iris/api/camera/{name}
Access Primary Secondary
👁️ View name, location geo_loc, video_loss
👉 Operate publish ptz †, recall_preset †
💡 Manage notes store_preset †, device_request †
🔧 Configure controller, cam_num pin, cam_template, encoder_type, enc_address, enc_port, enc_mcast, enc_channel

Write only

Encoder Types

Select View ➔ Video ➔ Encoder Types menu item

An encoder type represents a specific make and model of video encoder. All cameras with the same type share a common configuration.

Field Description
Make Manufacturer name
Model Device model
Config Encoder configuration
API Resources 🕵️
  • iris/api/encoder_type (primary)
  • iris/api/encoder_type/{name}
Access Primary
👁️ View name
🔧 Configure make, model, config

Streams

A stream contains fields needed for consuming video from a camera. Encoder types can have multiple streams for differing quality.

For cameras with multiple fixed-position views, a number can be used to identify them.

Field Description
View Num Fixed-position view, usable as a preset number
Flow stream If checked, the stream is a flow stream sink from streambed
Encoding Stream encoding: MJPEG, MPEG2, MPEG4, H264, AV1
Quality Resolution and frame rate comparison: Low / Medium / High
URI scheme Scheme part of unicast request URI: rtsp / http
URI path Path part of unicast request URI. Query parameters may be appended; use {chan} for camera's channel number.
Multicast port Port for camera's multicast address
Latency Buffering latency (ms) for consuming stream

A stream can be either unicast or multicast, but not both. For a multicast stream defined by an SDP file, specify the URI scheme and path instead of multicast port.

API Resources 🕵️
  • iris/api/encoder_stream (primary)
  • iris/api/encoder_stream/{name}
Access Primary Secondary
👁️ View name, encoder_type
🔧 Configure view_num, encoding flow_stream, quality, uri_scheme, uri_path, mcast_port, latency

Pan Tilt and Zoom

Many cameras have built-in pan/tilt/zoom (PTZ) functionality. The following operations can be performed:

For PTZ control to function, the camera must be associated with a controller on a PTZ protocol comm link.

A selected camera can be panned and/or tilted by clicking on the video display on the Camera tab. The pan/tilt speed will vary depending on distance from the mouse-click to the center of the image. Similarly, using a mouse wheel on the video display will cause the camera to zoom in or out.

Below the video display, there are also buttons for PTZ, as well as focus, iris and wiper control.

Presets

The Preset tab within a camera properties form can be used to configure up to 12 presets per camera. A preset can be associated with either a compass direction or a device, such as DMS or ramp meter. To associate a device preset, select it on the Location tab of the device's properties form.

If a stream is defined with a view num that matches the preset num, that stream will be selected instead of a typical PTZ preset.

API Resources 🕵️
  • iris/api/camera_preset (primary)
  • iris/api/camera_preset/{name}
Access Primary Secondary
👁️ View name, camera, preset_num
🔧 Configure direction

Selector Tool

The selector tool is on the toolbar just below the map. It has a text entry field with a camera icon and label. This tool enables quick switching of the selected camera.

The keyboard numpad can be used from anywhere within IRIS to control the selector tool. When the Num Lock key is off, all numpad keystrokes are directed to the tool. The + and - keys can select the next and previous cameras, respectively.

Pressing the . key (on the numpad) changes to video monitor selection mode — the icon will change to a monitor. Pressing the * key (on the numpad) changes to play list selection mode — the icon will change to a play list. Enter a seq num to select the corresponding play list.

Camera Keyboards

Dedicated keyboards are supported for easier camera control. These keyboards have joysticks for pan / tilt / zoom control. Two protocols are supported: Pelco-P and Panasonic CU-950.

To configure a Pelco-P keyboard, a comm link using the pelcop protocol must be created. One active controller must exist on that comm link, but no devices are necessary. IRIS will initiate a TCP connection to connect to the keyboard — typically, this will be managed by an ethernet-to-serial device.

For Panasonic CU-950 keyboards, the camera_kbd_panasonic_enable system attribute must be set to true. This will cause IRIS to listen for connections on TCP port 7001. The keyboard must be configured with the IRIS server's IP address.

Video Servlet

The video servlet is a proxy server which provides MJPEG streams to IRIS clients. Properties in the iris-client.properties file are used to configure use of the video servlet: video.host, video.port, and district. When specified, video requests will be made to http://[video.host]:[video.port]/video/stream/[district]/[camera_name]. Otherwise, requests will be made directly to the camera's encoder address.