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.
© Copyright 2026 Paperzz