Dual Stream Processing

Navigation:  Working with DW Spectrum > Device Management > Setting Up Cameras and Devices > Working With Expert Device Settings >

Dual Stream Processing

Previous pageReturn to chapter overviewNext page

Most IP cameras can provide multiple data streams, each at a different resolution and frame rate. DW Spectrum requests two data streams, one high resolution and one low resolution, and switches between them for the best image quality with the least impact on processing and network efficiency. This adaptive scaling is one of the most valued features of the DW Spectrum VMS.

Primary (High-Resolution) streams provide better quality image display, but require significant CPU capacity and network bandwidth to view.

Secondary (Low-Resolution) streams require far less computing power than typical high-resolution streams, but provide much lower image resolution at a slower frame rate.

When a camera supports dual-streaming, the System tries to configure the low-resolution stream at or near 640x360 resolution at 7fps (though some cameras may set secondary stream resolution at up to 720p). The secondary stream is used for constant recording, for motion detection (as long as the resolution is less than 1024x728), and to save bandwidth and CPU during playback.

However, if the secondary stream resolution is more than 1024x728, the media server will check the primary stream resolution. If the primary stream is less than 1024x728, it will be used for motion. If it's higher than 1024x728, motion detection will be disabled unless Force motion detection for the stream is enabled in Camera Settings > Expert tab.

Default DW Spectrum dual stream settings work well with most cameras. If not, a set of individual controls can be used to manually control stream processing. It is important to understand how these settings behave individually and together, as adjusting them can seriously affect server and display performance.

! IMPORTANT: Do not change image or stream quality settings unless you are absolutely sure of the likely impact on System performance.

Dual Streaming on the Server

The Server uses the low-resolution stream whenever possible for software motion detection and records both streams to archive unless a different behavior is specified. However, some cameras may not or cannot comply with default System behavior, usually for one of these reasons:

Requested settings are not available from the camera

The lowest resolution stream is higher than 640x360p

A secondary or low-resolution stream is not provided at all

A low-resolution stream is provided as Primary and a high-resolution stream as Secondary

note Note: If data is not received from the secondary stream for more than 10 seconds, the Sever will re-initialize the camera.

Dual Streaming on the Client

On the Client, stream resolution for viewing live or archive video is selected automatically according to these metrics:

When network bandwidth and CPU load are within normal range, the client displays high-resolution

When an item is pulled into Fullscreen display, high-resolution is always displayed

If network bandwidth between client and server is insufficient, the client switches to low-resolution

When image quality is of limited importance – items smaller than 172 pixels, during fast forward or fast rewind playback, the client switches to low-resolution

When high resolution processing compromises display quality or raises CPU usage to a high level (frames are delayed or dropped during decoding, too many streams are open in a given layout), the client switches to low-resolution

Settings that affect motion detection

Motion detection is performed on the lowest resolution stream detected, to a threshold of ≤ 1024x768p. Above that motion detection will not be performed.

Motion Detection (Camera Settings > Motion)

Toggles motion detection on and off for a given camera (see "Setting a Recording Schedule").

Disable secondary stream (Camera Settings > Expert)

If enabled, motion detection will not be performed for the camera, and the secondary stream will not be archived (see "Disabling a Secondary Stream").

Force motion detection for stream (Camera Settings > Expert)

Occasionally, a camera will report its configuration incorrectly and swap the primary and secondary streams. If the secondary stream is high-resolution, motion detection processing will create a very high CPU load. To correct this you can force motion detection to a specific stream (see "Forcing Motion Detection to a Specific Stream").

Settings that affect recording and playback

When certain settings are applied, the server may or may not archive high-resolution or low-resolution streams.

Motion + Lo-Res (Camera Settings > Recording)

Archives the high-resolution stream when motion is detected and the low-resolution stream when there is no motion, so high-resolution will not always be available for playback.

Disable secondary stream (Camera Settings > Expert)

If checked, motion detection won’t be performed for the camera, and the secondary stream won’t be archived (see "Disabling a Secondary Stream").

Do not archive primary stream / Do not archive secondary stream (Camera Settings > Expert)

Use to completely disable archiving of one or both streams (see "Disabling Recording of a Specific Stream").

Video Streams Configuration (Camera Settings > Advanced or Camera Settings > Web Page tab)

Depending on the camera, camera stream settings may be configured in the either of these tabs. If you choose to control stream settings from one of these tabs you must do either of the following

Either:

enable "Keep camera stream and profile settings”(Camera Settings > Expert). Enabling this flag prevents the internal optimization performed by DW Spectrum, and causes FPS and image quality settings in the Recording Schedule to be ignored. See "Preventing DW Spectrum from Changing Manufacturer Settings".

Or:

disable "Allow System to optimize device settings" (System Administration > General)

Refer to "Configuring Device Using DW Spectrum Client" and "Configuring Device Using Web Page" for how to use Restore to Defaults to discard manual adjustments and return to native presets.

If performance has dropped significantly after a given layout was opened and some cameras on layout have a fixed high resolution setting, the message "Set layout resolution to "Auto" to increase performance" will display across that layout so you can improve streaming quality yourself.