(VMS) will be used on this project to interact with IP

IP VMS Overview
The IP Video Management System (VMS) will be used on this project to interact with IP video
devices and IP video streams from compatible sources.
1. SYSTEM ARCHITECTURE
1.1. The VMS system architecture will have a client/server hive architecture.
1.2. The VMS system will be able to scale to support any size system (from 1~infinite
number of cameras).
1.3. The VMS will include the following system components:
1.3.1. Media Server
1.3.2. Client
1.3.3. Web Administration Interface
1.3.4. Mobile Client
1.3.5. IP Video Sources
1.3.6. Developer Tools
1.4. The client/server hive architecture will replicate user & device configuration data
between all servers in the system
1.5. The VMS users will be able to log in to any server in a system to view and administer
the entire system.
1.6. The VMS will have no single point of failure.
2. SOFTWARE INSTALLATION AND UPGRADES
2.1. During installation the VMS user can choose to install a full-installation package (server
+ client), server only, or client only.
2.2. The VMS will allow one-click upgrade of all connected servers.
2.2.1. If VMS has an active Internet connection the system will be prompted to update to
the latest version automatically.
2.2.2. If VMS does not have an active Internet connection users will be able to create
and copy a link to download a zip package for use in upgrading the system. This
package can be uploaded to the system from the VMS thick client to upgrade all
servers in the system.
2.2.3. Users will be able to update to the latest available version or to specify a
specific build to upgrade/downgrade to in the client interface.
3. MEDIA SERVER
3.1. Each instance of the VMS Media Server will support a maximum of 128 HD (1920 x
1080 pixel resolution) video streams.
3.2. The VMS Media Server will be able to automatically discover, connect to, stream
live video from, and record any ONVIF Profile S device, standard RTSP stream, or
supported http links.
3.3. The Media Server application will connect to and synchronize the following data in
real-time with all other media servers in the system.
o
o
o
User Information
Video Sources
System Rules
3.4. The VMS Media Server will provide real-time health-monitoring of the hardware it is
installed upon – including the hardware CPU, RAM, HDD(s), and NIC status.
3.5. The VMS Media Server will be supported for all of the following operating systems:
3.5.1. Microsoft Windows (XP and later) or Microsoft Windows Server (2003 and later)
3.5.2. Ubuntu Linux v12.04 LTS or later.
3.5.3. EDGE Devices (Select ARM-powered IP cameras and/or computing devices.)
3.6. Minimum Server Application Hardware Requirements
For Windows & Ubuntu Linux based machines running the Media server application.

Managing & Recording 0-16 cameras
o 2GB RAM
o Intel Dual Core Atom or equivalent CPU
o 1GB Mbps Network Interface Card

Managing & Recording 16-128 cameras
o 2GB RAM
o Intel Core i3 or equivalent CPU
o 1GB Mbps Network Interface Card
4. CLIENT
4.1. The VMS Client will allow users to connect to any Media Server (Windows, Ubuntu, or
EDGE) in the system to view and control the entire system (depending on user’s
rights), regardless of the system’s size.
4.2. The VMS Client will allow users to customize the Client’s background animation,
colors, and images.
4.3. The Client will be composed of the following interface components:
4.3.1.Menu Bar

The menu bar will be located at the top of the Client application frame and will
allow the user to close the application, minimize and maximize the application,
toggle the application between full screen and non-full screen modes, connect
to a system, start and stop screen recording, create and control layouts, and
access the system menu.

The menu bar will be able to be minimized by sliding up into the Client
application frame to give an unobstructed view of the Viewing Grid at any time.
4.3.2.System Tree

The System Tree Resources tab will be located on the left side of the Client
application frame and will allow the user to view and interact with connected
Media Servers and their related video sources, users and their related layouts,
and local files.

The System Tree Search tab will allow users to search for system resources
(live video sources, video files, or image files) using keywords. Results will be
displayed in a new tab for each enacted keyword search.

Icons in the System Tree will be interactive and users can access icon-specific
sub-menus by right-clicking on the icons.

Live video sources (IP Cameras, RTSP Streams, etc) can be dragged onto the
Viewing Grid to be viewed.

Servers located in the System Tree can be dragged onto the Viewing Grid to
display a graph of health-monitoring statistics for the selected server hardware.

The Resource Tree will group resources categorically into the System, Users,
Video Wall, Local Files, and Other Systems subsections and will be collapsible
to hide or unhide nested/related resources.

The System Tree will be able to be minimized by sliding left into the Client
application frame, or pinned by the user so that the tab always remains open.
4.3.3.Timeline

The Timeline will be located on the bottom of the Client application frame and
will allow users to interact with video sources over a period of time.

The Timeline will allow users to zoom into and out of live and recorded video
sources to a millisecond level of granularity.

The Timeline will display a green bar indicating availability of archived video
from video sources currently displayed on the Viewing Grid.

As the user moves the Timeline cursor the related video source being displayed
on the Viewing Grid will change to display video that occurred at that precise
time/date.

The Timeline will also allow users to highlight and export specific slices of video
based on times into mkv or exe formats. For example, if a user chooses a start
time of 13:00 hours and an end time of 13:15 the system will allow the user to
export video from the selected video source or sources (including multiple
camera export) to an AVI, MKV, or EXE format.

The left Timeline panel will allow users to control the point of playback for all
video or individual video sources currently displayed in the Viewing Grid – with
fast-forward, rewind, pause and stop buttons.

The right Timeline panel will allow users to synchronize all videos being
displayed, toggle between live and recorded video, show or hide thumbnail
previews, control volume of sound for selected video sources, and use a
calendar to navigate through the video archive.

The Timeline will have a collapsible Thumbnail preview feature that shows
snapshots of past video source archives above the timeline.

The Timeline will be able to be minimized by sliding down into the Client
application frame.
4.3.4.Events Panel

The Events Panel will be located on the right side of the Client application
frame and will allow users to receive, interact with, and manage notifications
created by the system.

The Events Panel menu bar will be located at the top of the Events Panel and
will allow the user to access the Events Log, Alarm/Events Rules, and Events
Filter.

The Events Log will allow users to filter events by Date/Time, Event, Source,
Action, Target and Description.

The Alarm/Events Rules dialog will allow users to add, modify or delete system
events.

The Alarm/Events rules will allow users to create events related to a single or
multiple video sources and to initiate Actions (e.g. send email, show
notification) based on that event to a specified Target (e.g. users or groups of
users).
4.3.5.Viewing Grid
 The Viewing Grid will be an adaptive grid that will display video sources (live or
recorded), video files, and images.

The Viewing Grid will allow users to drag and drop live video sources or files
from the System Tree or directly (e.g. the user’s file explorer) onto the Viewing
Grid for viewing and manipulation.

Each time a file or live video source will be displayed in its own panel.

The Viewing Grid will automatically expand to accommodate new video sources
by adding additional panels to the Viewing Grid.

Once a panel has been established on the Viewing Grid, users will be able to
move and resize the panel freely.

For Live Video sources (e.g. IP Cameras) each Panel will have a set of overlay
controls that will be displayed when a user moves their mouse over a Panel.
Overlay controls will be source-sensitive and will adapt depending on the type
of file or source being displayed. For example, a fixed camera will display close,
info, rotate, snapshot, smart motion search, zoom window, and enhance
image/video icons. A PTZ camera will contain the same icons as a fixed
camera with the addition of the PTZ control icon. A Fisheye camera will contain
the same icons as a fixed camera with the addition of the dewarp icon.

If a user single on a Panel in a multi-Panel view the selected Panel will expand
slightly to cover other Panels on the Viewing Grid (aka the Panel will “pop-out”
slightly).

If a user double-clicks on a Panel that Panel will maximize in size to take up the
entire application frame.

Still images can be used as background images on the Viewing Grid (videos
can be placed on top of them so that the still image is in the backround behind
the videos) and can be adjusted in size based on their imported aspect ratios.

Viewing Grids can be saved as Layouts for future recall. The Client will allow
the user to open multiple Layouts in tabbed format. Layouts can be opened by
dragging and dropping Layouts from the Resource Tree onto the Viewing Grid
or by right clicking on the Layouts in the Resource Tree and choosing “Open
Layout in a New Tab” or “Open Layout in a New Window”.

Layouts can be assigned to user(s) and can be modified or deleted by users
with proper access rights.
5. Web Client
5.1. The VMS will have a Web Client interface that will be accessible by right-clicking on the
System Name in the Resource Tree and selecting “Open Web Client.”
5.2. The VMS Web Client will connect locally or remotely to system Media Servers and will
allow users to check and modify system settings, monitor the health of system Media
Server hardware, view live and recorded video from the system, access developer API
and SDK information, and access support tools.
6. Mobile Client
6.1. The VMS will have a Mobile Client for Apple iOS and Google Android devices.
6.2. The VMS Mobile Client will allow users to connect to their system over Wifi or cellular
data networks to view system notifications and live and recorded video from the system.
7. IP Video Sources
7.1. The VMS will support the following types of IP Video Sources:



ONVIF Profile S Device – any ONVIF profile S device should be automatically
detected and displayed in the VMS Resource Tree.
RTSP Streams – must be manually added.
http:// links – must be manually added.
8. Developer Toolkit
8.1. The VMS will have developer toolkit with the following information hosted natively on
System Servers (e.g. does not require an Internet connection to access and download).

Video Source Integration SDK
o The Video Source Integration SDK enabled easy integration of any video
source (live or archived) into the system. With the SDK it’s possible to create
a method for discovering, displaying, analayzing and recroding video from
virtually any live or recorded video source (IP Cameras, NVR’s, DVR’s, etc).
It also allow for integrating device I/O’s and motion detection information.

Server API
o The Video Source Integration SDK enables easy integration of any video
source (live or archived) into the system. With the SDK it's possible to create
a method for discovering, displaying, analyzing and recording video from
virtually any live or recorded video source (IP Cameras, NVR's, DVRs, etc). It
also allows for integrating device I/O's and motion detection information.
9. VMS Advanced Features
The VMS will have the following advanced features.
9.1. Automatic Device Discovery & ONVIF Profile S Support – the system will
automatically discover supported devices - which can include integrated tested devices
and standard ONVIF profile S video devices. Devices can also be added manually via IP
address, hostname or RTSP/HTTP link. The system will also support synchronized video
and audio recording on supported devices.
9.2. Simplifed Network Routing - The system offers a single-port configuration for camera
viewing across different subnets as well as an advanced routing management interface
that allows IT administrators to designate specific routing rules for system servers.
9.3. No Single Point of Failure - Users can connect to any server in the system to login,
manage, and view the entire system. Servers synchronize
9.4. Events, Actions and Notifications - users can configure system events to display onscreen alerts and/or configurable email notifications. Event tracking is simple to set up
and can be triggered by a variety of events in the system - including motion detection,
network conflicts, drive or storage failure, camera disconnection or failure, camera relay,
and more.
9.5. System Logs - the system will keep a detailed log of information about system
performance and can be accessed at any time locally or remotely via Client or Web
Client to allow system administrators to diagnose any problems.
9.6. Calendar Search – users can quickly locate a particular event from archive by
simply selecting the date and time the event may have occurred. Multiple dates/hours
can be selected simultaneously. Active views on the user interface update in real-time
according to the time entered on the calendar search.
9.7. Preview (aka time-slice) Search - users can locate a particular event by breaking
archived data into smaller increments and displaying them as separate items.
9.8. Thumbnails Search – Users are able to view the entire time span of an item on
timeline. Thumbnails are sampled evenly from the defined archive. They can be
expanded in size, scrolled through or turned on/off with a single click.
9.9. Logical Keyword Search – user can search connected devices and local files by name,
Mac or IP addresses. Search results are opened in the current layout and can ben
quickly saved for later recall.
9.10. Video Export – Users have the ability to export video fragments from a single camera
or local video file and save them in .avi or .mkv formats. Exporting video is a simple
drag, drop, and click process.
9.11. Advanced Video Export - The user can export multiple videos and layouts as a single
file and play it back with FF/REW, smart motion search, thumbnails and other controls.
Files can be saved as .nov, .exe and "read only".
9.12. Universal Fisheye Dewarping - The system allows for any camera to operate as a
fisheye camera by using a standard fisheye lens and switching the camera mode from
standard to fisheye. The sub-features includes automatic or custom calibration, image
enhancement, digital PTZ and presets, forensic SpyGlass zoom windows, angle
adjustment, panoramic modes and more.
9.13. Zoom Windows - The user can create unlimited portable zoom windows and pan them
across any video stream within a layout. A forensic digital zoom capability that not only
allows for clip export, but also seamlessly moves the forensic spyglass from one stream
to another.
9.14. PTZ Presets and Tours - The user can create a tour by generating multiple preset
points (memorised P/T/Z positions). A tour trajectory is based on preset points
eliminating the need for constant monitoring thus avoiding human error. A default
“home” position must be established for the camera to return to after the tour.
9.15. Digital Mapping - The user can locate the position of cameras within a schematic layout
by locking the layout in place and placing cameras in designated areas.
9.16. Image Enhancement - The user can enhance any image or video (live or archived) by
playing with black/white/gamma settings. Automatic optimization is also available.
9.17. Watermarking - The system offers digital watermarking that authenticates exported
footage and serves as a proof that the electronic evidence has not been tampered with,
corrupted or edited.
9.18. Diagnostics - The user can troubleshoot an offline camera or a server with one simple
click. Once diagnosed, the application will display a list of possible issues for further
investigation.
9.19. Health Monitoring System - The user can monitor system performance and detect
system overloads, high CPU usage, server issues and other system malfunctions.
9.20. Automatic System Updates - The system offers automatic system updates. When a
new update is available, the system will automatically detect it and prompt the user to
initiate the update.